|
КД 2.1. Не замещать существующие объекты - не отрабатывает. Почему? |
☑ |
0
PCcomCat
15.11.16
✎
16:04
|
Доброго времени, уважаемые!
Из справки КД:
"Не замещать существующие объекты в приемнике при загрузке, а только создавать новые и заполнять их * - флаг определяет нужно ли выполнять изменение реквизитов объекта в информационной базе приемнике, если объект был успешно найден по уникальному идентификатору или по полям поиска.
* Не рекомендуется для использования при настройке on-line обмена"
Настройками никак нельзя запретить?
Нужно прописывать вручную ПослеЗагрузки Отказ = Истина?
|
|
1
PCcomCat
15.11.16
✎
16:25
|
Прописываю у Справочника
ПриЗагрузке:
Если ОбъектНайден тогда
НеЗамещатьОбъект = Истина;
КонецЕсли;
ПослеЗагрузки:
Если ОбъектНайден тогда
Отказ = Истина;
КонецЕсли;
Всё-равно элемент перезаписывается при обмене по плану обмена.
В глобальных обработчиках нет записи элементов и нет установки этих значений.
Что не так???
|
|
2
PCcomCat
18.11.16
✎
10:22
|
Неожиданно...
После отладки выяснилось, что каждый раз не находит объект.
В свойствах стояло искать по внутреннему идентификатору и продолжить поиск по полям поиска.
Элемент справочника замещался, но по отладке этот объект не найден почему-то...
Фиг с ним, что УникальныйИдентификатор не записывался (опять же почему?), так и по полям поиска ОбъектНайден = Ложь, но при этом объект замещает!
Снимаю флаг поиска по внутреннему идентификатору, и ... О чудо! Поля поиска отрабатывают, все возведенные флажки по запрету замены действуют.
Я не допонимаю, в чем же тайна?
|
|
3
azt-yur
18.11.16
✎
10:32
|
|
|
4
PCcomCat
18.11.16
✎
10:35
|
Ок, спасибо. Почитаю...
|
|
5
PCcomCat
18.11.16
✎
10:38
|
Оно:
Конвертация данных 2.1.7.1.
Некорректно работает флажок "Не замещать существующие объекты...".
Некорректная работа флажка заключается в следующем: Если объект найден по полям поиска, и при этом определен обработчик "Поля поиска" (даже если код закомментирован полностью), то все свойства найденного объекта заменяются. При этом также игнорируется флажок "Не замещать значения свойств объекта" у ПКС.
Если же объект найден по GUID, или же по полям поиска, но при этом обработчик "Поля поиска" девственно чист, все ОК.
Ситуацию можно поправить кодом в обработчике "После загрузки":
Отказ = Не Объект.ЭтоНовый();
|
|
6
PCcomCat
18.11.16
✎
10:39
|
+(5) Только у меня обработчик "Поля поиска" девственно чист!!!!
|
|
7
PCcomCat
18.11.16
✎
10:41
|
+(5) А версия конвертации та же...
А я то думаю, сколько лет нормально всё было, а тут то одно, то другое. Уж думала, что сноровку потеряла...
Надо на другую версию уходить...
|
|
8
azt-yur
18.11.16
✎
10:45
|
(7) да там и в последнем релизе ошибку не исправили
Так что либо помнить и предохраняться либо можно доработать обработку универсального обмена
|
|
9
PCcomCat
18.11.16
✎
10:48
|
(8) Спасибо за информацию!!!
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший