Конвертация данных 2.1. Значение галки "Не запоминать выгруженные объекты" #540151


#0 by kabanoff
Привет, Сообщество! Работаю с Конвертацией данных 2.1.4.1. Столкнулся вот с такой проблемой. Если галка "Не запоминать выгруженные объекты" снята, то объект 100% выгружается, а если установлена, то 50/50%. Так у меня получилось с объектом "Подразделение" (справочник). Например, данные таб.части документа N: (Физ.лицо)  | (Подразделение) Иванов Иван | Прикубанский округ Петров Петр | Прикубанский округ ... выгрузились как: (Физ.лицо)  | (Подразделение) Иванов Иван | Прикубанский округ Вопрос - почему?
#1 by Vovan1975
не поверишь... потому что при снятой галочке он выгружает объект только один раз, и затем в некоем соответствии запоминает, что этот объект выгружался и при следующем упонимании этого объекта он уже в файл обмена не записывается...
#2 by kabanoff
Добавлю немного инфы: переношу данные подсистемы N между двумя базами. ПКО "ФизЛица", ПКО "Подразделения" и ПКО "Документ N" входят в эту подсистему. Правила работают по условиям: 1. Объекты подсистемы N выгружаются полностью. Загружаются с полной заменой найденных объектов. 2. Объекты, не входящие в подсистему N, не выгружаются. При загрузке ссылочных объектов происходит только поиск по ссылке. 3. Все объекты сначала ищутся по ГУИДу, потом по полям поиска.
#3 by kabanoff
Я-то понимаю, что повторно объект не выгружается. Вопрос в том, почему не выгружается ссылка? Если открыть файл выгрузки, найти тег <Запись>, принадлежащую таб.части документа N, то в Записи №1 (Иванов Иван) ссылка на подразделение выгрузилась, а в Записи №2 (Петров Петр) - нет (тупо тег со ссылкой пропущен). Почему?
#4 by kabanoff
?
#5 by ValeriTim
дополняю Для того, чтобы понять этот механизм и правильно выставлять эти галки надо посидеть с отладчиком. Все дело в том, что при выгрузке объекта ссылка на него заносится в некую таблицу и при снятой галке проверяется наличие ссылки на этот объект в той самой таблице, и если ссылка в таблице найдена, то выгружаются только поля поиска (в 7.7 точно, в 8 может и только ссылка на уже выгруженный объект - точно сейчас не помню), т.к. объект уже выгружался и повторная выгрузка его не требуется. Вся загвоздка состоит в той таблице, в которую заносится ссылка на выгруженный объект - объекты могут быть разные (объект генерится кодом), а вот ссылка на него получится одинаковая (выгружаемого объекта в базе источнике может вообще не быть). Вот тут то и получается своеобразная "коллизия".
#6 by kabanoff
Спасибо за участие. Вот только не пойму фразу: Как могут объекты одной ссылки быть разными? Как в базе-Источнике может не быть выгружаемого объекта?
#7 by Defender aka LINN
Для того, чтобы выгрузить объект, он не обязан существовать. Такой вот фокус :) Если нет элемента "Ссылка" в фале данных - скорее всего, не определилось ПКО.
#8 by kabanoff
Ну хоть здесь с тобой спишемся :) Чудеса, да и только! :) Ладно, пойду курить отладчик. Спасибо всем за помощь!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С