|
ЭтотОбъект.ДополнительныеСвойства непонятно отрабатывает |
☑ |
0
serg-lom89
19.11.18
✎
12:57
|
Всем добрый день
в модуле объекта спр. Контрагенты в процедуре ПередЗаписью() добавил код
Если не Отказ Тогда
ЭтоНовый_ЦентральнойБазы = ЭтоНовый() И Не ЭтоГруппа ;
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("ЭтоНовый_ЦентральнойБазы",ЭтоНовый_ЦентральнойБазы);
ДобавитьПараметрыДляНовогоЭлементаСправочника(СтруктураПараметров);
КонецЕсли;
в процедуре ДобавитьПараметрыДляНовогоЭлементаСправочника() заполняю структуру
Процедура ДобавитьПараметрыДляНовогоЭлементаСправочника(СтруктураПараметров)
Для каждого СтрокаПараметров Из СтруктураПараметров Цикл
ЭтотОбъект.ДополнительныеСвойства.Вставить(СтрокаПараметров.ключ,СтрокаПараметров.Значение);
КонецЦикла;
КонецПроцедуры
затем в процедуре ПриЗаписи()
СтруктураДопСвойств = ЭтотОбъект.ДополнительныеСвойства;
ЭтоНовый_ЦБ = СтруктураДопСвойств.Свойство("ЭтоНовый_ЦентральнойБазы");
определяю это новый или нет,и вот тут самое интересное.
СтруктураДопСвойств = ЭтотОбъект.ДополнительныеСвойства;
ЭтоНовый_ЦБ = СтруктураДопСвойств.Свойство("ЭтоНовый_ЦентральнойБазы");
ЭтоНовый_ЦБ всегда возвращает истина,когда новый и когда перезаписываешь элемент повторно.
а вот ЭтоНовый_ЦБ = СтруктураДопСвойств.ЭтоНовый_ЦентральнойБазы;
возвращает только когда Новый элемент..
ЧЯДНТ?
|
|
1
RomanYS
19.11.18
✎
13:01
|
Свойство() возвращает наличие параметра, а не его значение
|
|
2
RomanYS
19.11.18
✎
13:03
|
если наличие параметра гарантировано, используй
ЭтоНовый_ЦБ = СтруктураДопСвойств.ЭтоНовый_ЦентральнойБазы;
если параметра может не быть
ЭтоНовый_ЦБ = СтруктураДопСвойств.Свойство("ЭтоНовый_ЦентральнойБазы") И СтруктураДопСвойств.ЭтоНовый_ЦентральнойБазы;
|
|
3
serg-lom89
19.11.18
✎
13:09
|
(2) Т.е. если свойства может не быть,тогда надо сразу проверить есть ли свойство и только потом проверять значение параметра?
|
|
4
RomanYS
19.11.18
✎
13:10
|
(3) именно
СтруктураДопСвойств.ЭтоНовый_ЦентральнойБазы - получишь ошибку, если параметра нет
|
|
5
serg-lom89
19.11.18
✎
13:16
|
(4) да )))
Спасибо большое ))))
|
|
6
Target1025
17.04.19
✎
08:36
|
(0) Столкнулся с этой проблемой сегодня. В моем случае - добавленный документ при обновлении базы не внес в подписку на событие ПередЗаписьюДокументаДляУдаленияДвижений
|
|