Имя: Пароль:
1C
 
Соответствие имен SQL полей таблиц и псевдонимов реквизитов.
,
0 Вася Теркин
 
05.02.21
08:58
Как для Документов или справочников из таблиц SQL получить соответствия _Fld<n><suff> - реквизит документа (для каждого реквизита, определенного в конфигурации);
_Fld<n> - общие реквизиты.
1 Вася Теркин
 
05.02.21
09:00
То есть нужно получить  - "имяполяSQL = ИмяРеквизита1С" и так же "ИмяТаблицыSQL - ИмяДокумента1C". Хочу читать напрямую из таблиц.
2 Вася Теркин
 
05.02.21
09:01
В какой таблице 1С база этот словарь метаданных хранит?
3 Вася Теркин
 
05.02.21
09:03
В общем, нужен маппинг имен таблиц и имен реквизитов.
4 Пузан
 
05.02.21
09:03
(2) Есть специальный метод ПолучитьСтруктуруХраненияБазыДанных()
5 Вася Теркин
 
05.02.21
09:05
Есть https://its.1c.ru/db/metod8dev#content:1591:hdoc  и https://its.1c.ru/db/metod8dev/content/1798/hdoc , а где они сопоставлено с 1С именами?
6 Вася Теркин
 
05.02.21
09:05
(4) Мне нужно не из среды 1С, а в selectах sql получать
7 Пузан
 
05.02.21
09:07
(5) Совсем, блять, обленился. Почитай СП к методу. Или за тебя все разжевать надо?
8 ДенисЧ
 
05.02.21
09:09
(6) В SQL такой информации нет. Да, точно так же, как и нет функции прямого обращения к данным SQL-базы.
Смирись уже и начинай осваивать метлу. С твоей упорностью ты её быстро освоишь... Какие-нибудь полгода...
9 acht
 
05.02.21
09:09
(5) А нигде. Хранится внутри двоичных блобов в сжатом и зашифрованном виде. Может изменяться от базы к базе, например в центре одно, в узле другое.

Чти лицензию, включай фантазию.
10 Вася Теркин
 
05.02.21
09:21
"Может изменяться от базы к базе, например в центре одно, в узле другое." это точно
11 JeHer
 
05.02.21
09:22
Гюльчатай, личико открой.
Или мне напиши (мыло в профиле)
12 rsv
 
05.02.21
09:32
(0) на каждой базе вешаете регламент он парсит получить структуру хранения ...
набивает скульную табличку - словарик. ИЗ  нее берете что надо .
13 rsv
 
05.02.21
09:33
А этих обработок парсинга тьма в инете
14 acht
 
05.02.21
09:34
(12) > скульную табличку - словарик
А потом качественно так ипешся с динамическим SQL. Ну ок, пусть попробует.
15 rsv
 
05.02.21
09:39
(14) ключевое слово ... пробовать.т.е. делать.
16 acht
 
05.02.21
09:41
(15) Ага. Ну, что ж ждем новых тем от автора.
17 Вася Теркин
 
05.02.21
09:55
(11) Написал
18 Вася Теркин
 
05.02.21
09:56
(12) Да, вэбсервисом можно тоже дергать, но не желательно.
19 Вася Теркин
 
05.02.21
09:56
(16) Мопед не мой
20 Вася Теркин
 
05.02.21
10:47
(11) Отлично, дальше будем выдаивать отсюда и писать куда-то регламентом или по вэбзапросу. Видимо другого хода нет. Респект!
21 МихаилМ
 
05.02.21
12:31
(6) для метаданных без расширений.
соответствие метаданных и имен таблиц и полей хранится в записи dbnames таблицы params в виде текста сжатого deflate
алгоритм такой для ms sql такой
1) читаете в ВТ дбнамес с помощью предварительно установленой clr библиотеки для разжатия deflate типа http://catalog.mista.ru/1c/articles/21461/  http://catalog.mista.ru/public/74406/
преобразовать в таблицу удобней через тип xml
2) создаете таблицу  соответствия имен таблиц и метаданных
   пробегаетесь по метаданным  из config разжимаете их и парсите
3) создаете таблицу  соответствия имен полей и метаданных
   пробегаетесь по метаданным  из config разжимаете их и парсите  имена полей.

как хранятся соответствия для метаданных  расширений- не знаю , но скорее всего как-то аналогично.
22 Вафель
 
05.02.21
12:35
лучше из 1с нужные вьюхи сделать
23 МихаилМ
 
05.02.21
12:37
24 МихаилМ
 
05.02.21
12:49
можно по оле из ms sql  вызвать 1с8
https://docs.microsoft.com/ru-ru/sql/relational-databases/system-stored-procedures/sp-oacreate-transact-sql?view=sql-server-ver15
и из неё получить структуру соотвествия.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший