|
выгрузка данных из 1С 8.1 поле _RecorderTRef
|
|||
---|---|---|---|
#18+
В таблице произвольного регистра накопления имеется поле _RecorderTRef - binary(16) - идентификатор типа документа-регистратора. В какой таблице БД MSSQL2005 искать значения этого поля, чтобы определить строковое название типа документа, например, платежное поручение исходящее? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 09:27 |
|
выгрузка данных из 1С 8.1 поле _RecorderTRef
|
|||
---|---|---|---|
#18+
Вообще-то где-то в недрах дерева метаданных - в таблице Config. Но проще спросить у самой 8.1 - метод ПолучитьСтруктуруХраненияБазыДанных() Каждая таблица и каждое поле в 1С своем имени имеет числовой идентификатор, уникальный в данной БД (это просто последовательный номер, он присваивается при появлении нового элемента в конфигурации, и никогда не уменьшается). По значению поля _RecorderTRef ( NN ) можно найти, какому типу данных это соответствует - не обращая внимания на то, что таблица будет называться _DocumentNN ; ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 12:25 |
|
выгрузка данных из 1С 8.1 поле _RecorderTRef
|
|||
---|---|---|---|
#18+
Спасибо! Правда ли, что поле _IDRRef глобально уникально для всех таблиц _DocumentNN одновременно? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 13:28 |
|
выгрузка данных из 1С 8.1 поле _RecorderTRef
|
|||
---|---|---|---|
#18+
вообще-то это GUID - для которого microsoft обещала абсолютную уникальность и неповторяемость в пределах всего мира. Тем более - всех данных одной базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 13:32 |
|
выгрузка данных из 1С 8.1 поле _RecorderTRef
|
|||
---|---|---|---|
#18+
Спасибо! Теперь все понятно : делаем cast(_RecorderTRef as int), получаем число NNN, смотрим таблицу _DocumentNNN с помощью ПолучитьСтруктуруХраненияБазыДанных(), видим что это Документ.Авансовый отчет и т.д. Еще один вопрос. Получается, если регистр отражает движения по 40 типам документов и я хочу выгрузить все записи регистра вместе с номерами документов-регистраторов, я должен сделать в запросе 40 внешних соединений таблицы _AccumRegXXX с таблицами вида _DocumentNNN ? Не будет ли такой запрос тормозить? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 17:28 |
|
выгрузка данных из 1С 8.1 поле _RecorderTRef
|
|||
---|---|---|---|
#18+
pailвообще-то это GUID - для которого microsoft обещала абсолютную уникальность и неповторяемость в пределах всего мира. Тем более - всех данных одной базы. Это все так и есть, если не происходит копирования GUID'ов, например при обмене между базами с синхронизацией по ссылкам. Тогда гуиды в разных таблицах могут совпадать. В одной - всегда уникальны. Артур Бондаренко Еще один вопрос. Получается, если регистр отражает движения по 40 типам документов и я хочу выгрузить все записи регистра вместе с номерами документов-регистраторов, я должен сделать в запросе 40 внешних соединений таблицы _AccumRegXXX с таблицами вида _DocumentNNN ? Не будет ли такой запрос тормозить? Будет тормозить, 1С всегда так делает и ее запросы тормозят. Более продвинутый способ: выбрать _RecorderTRef и _RecorderRRef, а также другие нужные поля из _AccumRegXXX. Затем, программно, на стороне клиента, определить какие виды документов есть в результате запроса, и выполнить отдельный запрос к таблице документов каждого вида. Полученные данные соединить вручную с таблицей проводок. Работает быстрее, чем 40 соединений. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2008, 16:00 |
|
|
start [/forum/search_topic.php?author=%D0%A2%D0%B5%D0%BB%D0%B5%D0%BF%D1%8F%D1%82&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 443ms |
total: | 592ms |
0 / 0 |