Гость
Форумы / [игнор отключен] [закрыт для гостей] / выгрузка данных из 1С 8.1 поле _RecorderTRef / 7 сообщений из 7, страница 1 из 1
02.07.2008, 09:27
    #35405630
выгрузка данных из 1С 8.1 поле _RecorderTRef
В таблице произвольного регистра накопления имеется поле
_RecorderTRef - binary(16) - идентификатор типа документа-регистратора.
В какой таблице БД MSSQL2005 искать значения этого поля, чтобы определить строковое название типа документа, например, платежное поручение исходящее?
...
Рейтинг: 0 / 0
02.07.2008, 12:25
    #35406152
pail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных из 1С 8.1 поле _RecorderTRef
Вообще-то где-то в недрах дерева метаданных - в таблице Config.
Но проще спросить у самой 8.1 - метод ПолучитьСтруктуруХраненияБазыДанных()

Каждая таблица и каждое поле в 1С своем имени имеет числовой идентификатор, уникальный в данной БД (это просто последовательный номер, он присваивается при появлении нового элемента в конфигурации, и никогда не уменьшается).
По значению поля _RecorderTRef ( NN ) можно найти, какому типу данных это соответствует - не обращая внимания на то, что таблица будет называться _DocumentNN ;
...
Рейтинг: 0 / 0
02.07.2008, 13:28
    #35406396
выгрузка данных из 1С 8.1 поле _RecorderTRef
Спасибо!
Правда ли, что поле _IDRRef глобально уникально для всех таблиц _DocumentNN одновременно?
...
Рейтинг: 0 / 0
02.07.2008, 13:32
    #35406409
pail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных из 1С 8.1 поле _RecorderTRef
вообще-то это GUID - для которого microsoft обещала абсолютную уникальность и неповторяемость в пределах всего мира. Тем более - всех данных одной базы.
...
Рейтинг: 0 / 0
02.07.2008, 17:28
    #35407244
выгрузка данных из 1С 8.1 поле _RecorderTRef
Спасибо! Теперь все понятно : делаем cast(_RecorderTRef as int), получаем число NNN, смотрим таблицу _DocumentNNN с помощью ПолучитьСтруктуруХраненияБазыДанных(), видим что это Документ.Авансовый отчет и т.д.
Еще один вопрос. Получается, если регистр отражает движения по 40 типам документов и я хочу выгрузить все записи регистра вместе с номерами документов-регистраторов, я должен сделать в запросе 40 внешних соединений таблицы _AccumRegXXX с таблицами вида _DocumentNNN ? Не будет ли такой запрос тормозить?
...
Рейтинг: 0 / 0
03.07.2008, 16:00
    #35409367
RMih
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выгрузка данных из 1С 8.1 поле _RecorderTRef
pailвообще-то это GUID - для которого microsoft обещала абсолютную уникальность и неповторяемость в пределах всего мира. Тем более - всех данных одной базы.
Это все так и есть, если не происходит копирования GUID'ов, например при обмене между базами с синхронизацией по ссылкам. Тогда гуиды в разных таблицах могут совпадать. В одной - всегда уникальны.

Артур Бондаренко
Еще один вопрос. Получается, если регистр отражает движения по 40 типам документов и я хочу выгрузить все записи регистра вместе с номерами документов-регистраторов, я должен сделать в запросе 40 внешних соединений таблицы _AccumRegXXX с таблицами вида _DocumentNNN ? Не будет ли такой запрос тормозить?

Будет тормозить, 1С всегда так делает и ее запросы тормозят.

Более продвинутый способ: выбрать _RecorderTRef и _RecorderRRef, а также другие нужные поля из _AccumRegXXX. Затем, программно, на стороне клиента, определить какие виды документов есть в результате запроса, и выполнить отдельный запрос к таблице документов каждого вида. Полученные данные соединить вручную с таблицей проводок. Работает быстрее, чем 40 соединений.
...
Рейтинг: 0 / 0
04.07.2008, 16:12
    #35411979
выгрузка данных из 1С 8.1 поле _RecorderTRef
Re: RMih

Спасибо, так и буду делать.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / выгрузка данных из 1С 8.1 поле _RecorderTRef / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]