Имя: Пароль:
1C
 
КД2: не записывать значение свойства?
0 mikecool
 
14.08.19
11:48
Как не изменять свойство объекта, если в приемнике оно заполнено, а с обменом приходит "пусто"?
1 gSha
 
14.08.19
11:51
а свойство объекта это что ?
если реквизит , то там есть общее правило не обновлять объект если найден
ну а сели речь именно на реквизиты, то наверное добро пожаловать в события при загрузке и проверки условий на стороне .. думаю там можно легко дать отказ на запись по услови.
2 mikecool
 
14.08.19
11:52
(1) разве у свойства объекта есть событие ПриЗагрузке?
3 mikecool
 
14.08.19
11:53
+2 а, дошло
4 mikecool
 
14.08.19
11:54
и все равно не пойму, как не замещать одно из свойств
5 mikecool
 
14.08.19
11:55
проще действительно не замещать существующие объекты, чем полностью переопределять заполнение из-за одного реквизита )
6 gSha
 
14.08.19
11:59
http://chel1c.ru/запрет-замещения-свойств-объекта/ вот какая то ссылка по теме ..
7 Йохохо
 
14.08.19
12:11
сравнить значение через точку и объект в послезагрузки?
8 hhhh
 
14.08.19
12:14
(4) как-то так

Если НЕ ЗначениеЗаполнено(Объект.Реквизит1) Тогда
     Объект.Реквизит1 = Объект.Ссылка.Реквизит1;
КонецЕсли;
9 Ёпрст
 
14.08.19
12:15
(0) там есть галочки, как для объекта, так и для его свойств.
Ничего кодить не надо
10 Ёпрст
 
14.08.19
12:17
в ПКС в настройке галка : Не замещать значение свойства у существующих объектов в приёмнике
11 Ёпрст
 
14.08.19
12:17
усё
12 hhhh
 
14.08.19
12:20
(10) у него не просто не замещать, а не замещать, если не заполнено. Таких галок там нет.
13 Йохохо
 
14.08.19
12:20
(10) это же не то, надо "не очищать"
14 bort501
 
27.09.19
00:14
Как автор сей ссылки (http://chel1c.ru/запрет-замещения-свойств-объекта/) попробую ответить. Поздновато, но может кому-то пригодится.

Я бы использовал обработчик ПослеЗагрузки.
Код будет примерно таким (за отсутствие ошибок не ручаюсь, главное - принцип):

Если ОбъектНайден Тогда
Если ЗначениеЗаполнено(Ссылка.НашРеквизит) И НЕ ЗначениеЗаполнено(Объект.НашРеквизит) Тогда
Объект.НашРеквизит = Ссылка.НашРеквизит;
КонецЕсли;
КонецЕсли;

То есть, если в базе-приемнике уже есть этот объект, то он помещается в переменную Ссылка. А в переменной Объект - то, что пришло с обменом, но еще не записано в базу. И на данном этапе мы можем подменить пришедшее значение реквизита значением из существующего объекта. Ну и потом все равно записать объект, но уже со старым значением реквизита.