|
КД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/запрет-замещения-свойств-объекта/) попробую ответить. Поздновато, но может кому-то пригодится.
Я бы использовал обработчик ПослеЗагрузки. Код будет примерно таким (за отсутствие ошибок не ручаюсь, главное - принцип): Если ОбъектНайден Тогда Если ЗначениеЗаполнено(Ссылка.НашРеквизит) И НЕ ЗначениеЗаполнено(Объект.НашРеквизит) Тогда Объект.НашРеквизит = Ссылка.НашРеквизит; КонецЕсли; КонецЕсли; То есть, если в базе-приемнике уже есть этот объект, то он помещается в переменную Ссылка. А в переменной Объект - то, что пришло с обменом, но еще не записано в базу. И на данном этапе мы можем подменить пришедшее значение реквизита значением из существующего объекта. Ну и потом все равно записать объект, но уже со старым значением реквизита. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |