|
|
Проверка заполнения при программной записи объекта |
☑ |
|
0
RealSaint
02.11.09
✎
12:24
|
Есть у меня, к примеру, справочник Номенклатура, у которого для наименования и некоторых реквизитов свойство "Проверка заполнения" установлено в значение "Выдавать ошибку". При интерактивной записи объекта (т.е. из формы) всё работает красиво. Но при программной записи объекта система вообще не реагирует на указанные параметры, обработчик ОбработкаПроверкиЗаполнения() модуля объекта не вызывается. Т.е. при выполнении примерно такого кода
НовыйОбъект = Справочники.Номенклатура.СоздатьЭлемент();
НовыйОбъект.Записать();
выполняется запись совершенно пустого объекта без каких-либо проверок на корректность данных. Кто знает, почему так происходит? Это я что-то не понимаю или такова задумка свыше? Неужели опять таки нужно старым дедовским способом руцями контролировать заполнение реквизитов в обработчике ПередЗаписью()?
|
|
|
1
RealSaint
02.11.09
✎
12:26
|
Не понял, а почему тема попала в раздел по версии 7.7, если я указал секцию "Управляемое приложение 8.2"? Может кто-нибудь исправить?
|
|
|
2
TitanLuchs
02.11.09
✎
12:31
|
(0) Потому что эта проверка только для интерактивной записи
|
|
|
3
RealSaint
02.11.09
✎
12:33
|
(2) В принципе я это подозревал, но неприятно было убедиться в этом. Т.е. для, так сказать, глобальной проверки используем старый дедовский способ в обработчике ПередЗаписью()?
|
|
|
4
Живой Ископаемый
02.11.09
✎
12:36
|
Напиши Если НовыйОбъект.ОбработкаПроверкиЗаполнения() Тогда НовыйОбъект.Записать(); КонецЕсли; Во-вторых почему ПередЗаписью -это дедовский способ? в нем тоже можно вызвать ОбработкаПроверкиЗаполнения()
|
|
|
5
RealSaint
02.11.09
✎
12:41
|
(4) Да это всё понятно, просто раньше таких телодвижений делать не нужно было - система в любом случае гавкала на некорректные данные, независимо от способа записи. А дедовский потому, что он используется в версии 8.1. Просто я думал что в версии 8.2 он уже не понадобится. И "дедовский" не означает "плохой". :-)
|
|
|
6
RealSaint
02.11.09
✎
12:44
|
А сейчас получается что нужно будет реализовывать две проверки заполнения - для интерактивного и программного режимов записи. Или вызывать явным образом.
|
|
|
7
Живой Ископаемый
02.11.09
✎
12:46
|
а 8.2
|
|
|
8
RealSaint
02.11.09
✎
12:47
|
(7) Это чего?
|
|