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