|
Перенос справочника КД 2. Составной тип источника и приемника
| ☑ |
0
Dimarik_1
12.04.18
✎
13:53
|
Переношу справочник "Лицензии".
Реквизит Владелец конвертируется в Владелец.
В первой базе реквизит составного типа (Организации, Контрагенты, Подразделения)
Во второй базе тоже составной тип (Организации, Контрагенты).
Изначально было ПКО Контрагенты_Контрагенты и Владелец заполнялся. Затем сделал правило Контрагенты_Партнеры и после этого вроде как перестал владелец заполняться.
Делаю перенос и смотрю, в файле обмена написано что пытается записать в "Партнеры".
После переноса не записываются никакие данные в базу.
Затем в ПКС я прописал:
Если ТипЗнч(Источник.Владелец) = Тип("СправочникСсылка.Контрагенты") Тогда
ТипПриемника = "СправочникСсылка.Контрагенты";
Иначе
ТипПриемника = "СправочникСсылка.Организации";
КонецЕсли;
После этого пытается уже в Контрагенты конвертироваться.
Однако все равно ничего не записывается в итоге.
Вот правила
Пробовал отладить в процедурах ПередЗагрузкой и ПриЗагрузке, но в них проследить не получилось непосредственно что куда подставляется. Может быть в другом месте этот момент лучше отладить?
|
|
1
Йохохо
12.04.18
✎
14:04
|
Если ТипЗнч(Источник.Владелец) = Тип("СправочникСсылка.Контрагенты") Тогда
ИМЯПКО = ПКО_Контрагенты;
|
|
2
Dimarik_1
12.04.18
✎
14:19
|
(1) у меня это ПКО называется Контрагенты_Контрагенты (см скрин). Когда я так писал, у меня база просто закрывалась по ошибке
Я писал так
ИмяПКО = "Контрагенты_Контрагенты";
|
|
3
Йохохо
12.04.18
✎
14:24
|
правильно писал
|
|
4
Dimarik_1
12.04.18
✎
14:27
|
а в чем может быть дело? именно после того как добавляешь строчку
ИмяПКО = "Контрагенты_Контрагенты";
база отваливается
|
|
5
Cyberhawk
12.04.18
✎
14:30
|
Капец ты мыкаешься там
|
|
6
Dimarik_1
12.04.18
✎
15:01
|
Как выяснилось в дальнейшем, все связано с ПКС "Головной контрагент".
Такое подозрение, что возникает бесконечный цикл и по этой причине работа завершается аварийно. Но где он может возникать...
|
|
7
Cyberhawk
12.04.18
✎
15:02
|
Так головной если на форме не указан, то он самим собой в объекте БД заполнен
|
|
8
tesseract
12.04.18
✎
15:04
|
(6) Да было такое. Если у свойство "головной контрагент" выгружается по правилу "Контрагент", то может случиться цикл.
|
|
9
ssh2006
12.04.18
✎
15:05
|
КД при не указанном правиле сама может по типу источника применить подходящее правило
|
|
10
Dimarik_1
12.04.18
✎
15:24
|
ТАк проблема возникает из-за ПКС "Головной контрагент". Когда это ПКС отключаешь, всё начинает работать. В чём может быть дело?
|
|
11
tesseract
12.04.18
✎
15:25
|
(10) см (8).
|
|
12
Dimarik_1
12.04.18
✎
15:27
|
Оказалась следующая причина была. При выгрузке "контрагентов" у меня стояла галочка "Не запоминать выгруженные объекты".
ДЛействительно, цикл получился.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший