Имя: Пароль:
1C
 
Как и где можно получить реальные значения таблиц и полей в базе?
0 error500
 
19.12.14
11:54
Существует такая внешняя обработка SQLPlus82 которая умеет показывать реальные название таблиц и полей в них типа _fl8345 и т.п.
Как такое научится делать самому внешним приложением или както еще.
1 antoneus
 
19.12.14
12:00
ПолучитьСтруктуруХраненияБазыДанных
2 error500
 
19.12.14
13:30
а снаружи никак?
оно же должно где-то храниться/закэшировано или я слишком хорошо думаю про этот продукт
3 Dionis Sergeevich
 
19.12.14
13:42
Любым инструментом подключайся к базе и смотри. SQLNavigatir например.
4 Dionis Sergeevich
 
19.12.14
13:43
(2) на субд хранится
5 error500
 
19.12.14
14:25
Извиняюсь -  не очень понял. в самой базе где-то хранится связка НазваниеТаблицыНаРусском = _reference90 ?
Если да то в какой?
Методом тыка оно понятно что можно идетифицировать что угодно но задача внешними средствами автоматизировано получить указанное выше инфо?
6 sapphire
 
19.12.14
14:28
(5) Ну тогда Вам стОит почитать как разбирать cf-ник и как формируются имена полей/таблиц.
7 b_ru
 
19.12.14
15:21
(2) А снаружи по COM подрубаешься к 1Ске и ПолучитьСтруктуруХраненияБазыДанных()
8 error500
 
19.12.14
17:42
"Ну тогда Вам стОит почитать как разбирать cf-ник и как формируются имена полей/таблиц"
<<< а есть где?
9 mikecool
 
19.12.14
17:44
очередной тру-программист соизволил почтить своим визитом недопрограммистов
всем надеть цак и два раза ку
10 shuhard
 
19.12.14
17:45
(8) есть
но смысл парсить из вне 1с близок к 0
11 WebberNSK
 
19.12.14
18:43
(0) зачем лезть куда попало?
мне кажется вы хотите решить задачу, которая должна решаться по -
12 WebberNSK
 
19.12.14
18:43
(11) * + другому
13 error500
 
19.12.14
20:07
"мне кажется вы хотите решить задачу, которая должна решаться по" <<< предположим что да

Вот вам задачка
есть удаленный (весьма удалленный в голандии например)высоконагруженный сервер который продает барахло в интернете написано все на РНР и живет на никс база Postgresql

Цены (а особенно остатки) обновляются по нескольку раз на дню - выход из офиса весьма узкий (выход из офиса довольно узкий 6мб\с учитывая что там на нем еще и VOIP то сами догадываетесь что много там гонять нельзя)

Текущее ПО прекрасно работает напрямую с бд 1С по схеме
Postgres office <- skytools -> Posgres web
Т.е. все изменения в данных (цены/остатки) иницирует 1С в момент их изменения

Надо подстраховаться на случай изменения структуры бд чтобы ПО само без переписывания кода могло понимать к каким таблицам и полям обращатся

Собственно ваши предложения по реализации такого же но другим "правильным образом" при условии что на удаленном сервере никаких кластеров и серверов 1С устанавливать нельзя (нет ресурсов все расчитано до байта - любое расширение ресурсов бабло которого никто не даст)
14 b_ru
 
19.12.14
22:22
>>Собственно ваши предложения по реализации такого же но другим "правильным образом"
Навскидку.
Если схема со скайтулзом у вас уже работает, то чтобы минимизировать переделки, нужно написать код на 1С, который будет выгружать необходимую информацию в отдельные таблицы в отдельной БД на офисном сервере, откуда вы ее уже можете перегонять хоть в Голландию, хоть в Чуйскую долину.
Если же слова "Текущее ПО прекрасно работает" содержат некоторую долю оптимизма, то можно реализовать обмен через веб-сервисы
Ну или банально (читай надежно) гонять файл обмена в формате CommerceML, например через почту.
15 Zhuravlik
 
19.12.14
23:32
(0) Tool_1CD - лучше ничего не знаю. Но только для файловых .
16 error500
 
20.12.14
09:13
Tool_1CD - лучше ничего не знаю. Но только для файловых .<<< ссылку можно - вдруг там есть что стоящее



нужно написать код на 1С, который будет выгружать необходимую информацию в отдельные таблицы в отдельной БД на офисном сервере
<<< Это конечно самый приемлемый вариант
однако какова задержка?
Сейчас на таблице накопительных регистров весит тригер который считает итоговую сумму и скидывает в отдельную схему для удобства дальнейших выборок и делается это  сразу как только туда что то попадает
Насколько я понимаю в 1С все только по таймерам и полным объемом (т.е. гоняем и без того уже имеющиеся данные - что должно увеличить и объем данных гуляющий между удаленкой и офисом -  skytools тоже тригерные функции = если апдейт прошел по всем строкам то все и будут переданы на синхронизацию)
17 Drac0
 
20.12.14
09:29
(16) "Насколько я понимаю в 1С все только по таймерам и полным объемом (т.е. гоняем и без того уже имеющиеся данные - что должно увеличить и объем данных гуляющий между удаленкой и офисом -  skytools тоже тригерные функции = если апдейт прошел по всем строкам то все и будут переданы на синхронизацию)"

Неправильно. Есть для этого планы обмена,  подписки на события и обработчики событий.
18 Drac0
 
20.12.14
09:32
Неужели у вас в компании нет 1С-ника или хотя бы франча для консультации? Или на них тоже денег никто не даст?
19 error500
 
20.12.14
16:47
наемный - поэтому надо поставить конкретную задачу исчисляемую в работочасах
его предложение вебсервисы меня не устраивает по понятным причинам
20 error500
 
20.12.14
16:50
в общем я понял что придется делать новую версию что с одной стороны удобнее с другой займет еще время

спасибо за консультацию - тему можно считать закрытой
21 Defender aka LINN
 
20.12.14
18:59
(19) "его предложение вебсервисы меня не устраивает по понятным причинам"
Шизофренику тоже понятно, что вон та зеленая собака послана с IV Сигма Альфа Мегабарана следить за ним. Но с реальностью немного не соотносится.
22 Fragster
 
гуру
20.12.14
19:39
(13) делаете в 1с вебсервис, который будет возвращать нужные данные. напрямую в БД лезть не надо.
23 МихаилМ
 
25.12.14
12:57
соответствие таблиц , полей бд и  внутренних ID метаднных , реквизитов

хранится в хаписи dbnames  таблици params
в текстовой кодировке utf-8 . сжаты по алгоритму daflate
сответствие ID метаданных и имен храгнятся в таблице config.

алгоритм  построения таблицы соответствий

примерно такой

читаете, распаковываете  dbnames
парсите преобразуете в таблицу
по таблице строите
таблицу описаний таблиц
и таблицу описаний полей

отбираете записи из config
сответствующие таблице описания таблиц

распаковываете парсите
заполняете

таблицы соответствий  таблиц и полей

для синхронизации при изменениии метаданных
можно повесить ddl триггер
на создание пересоздание таблиц полей



примечание:

в разжатом начале текста описания метаданного есть признак, что у метаданного есть таблицы.    

Поэтому будет правильней использовать метод неполного потокового разжатия.

в тексте опиания могут быть несколько секций описания таблиц и тч  у секции будет спец текстовая метка.

какие метка и признак наличия таблиц субд - не помню.
24 МихаилМ
 
25.12.14
13:04
25 H A D G E H O G s
 
25.12.14
13:11
"Иногда они возвращаются"
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший