Имя: Пароль:
1C
1С v8
Не работает обработчик формы "ОбработкаПроверкиЗаполненияНаСервере"
,
0 1snik_d
 
02.06.20
11:35
Всем привет. Не могу разобраться с работой обработчика формы "ОбработкаПроверкиЗаполненияНаСервере".
Добавляю в массив "ПроверяемыеРеквизиты" нужный мне элемент, но проверка на его заполненность не работает. Знаю, что есть обработчик модуля объекта "ОбработкаПроверкиЗаполнения", но зачем тогда сделали этот обработчик и как им вообще пользоваться?
1 1snik_d
 
02.06.20
11:55
Приходится вставлять проверку в процедуру формы ПередЗаписью(). Но хочется сделать красиво.
2 rozer76
 
02.06.20
12:36
Если у формы из которой записывается объект в свойствах не установлено «ПроверятьЗаполнениеАвтоматически» - не сработает
>>Знаю, что есть обработчик модуля объекта "ОбработкаПроверкиЗаполнения", но зачем тогда сделали этот обработчик и как им вообще пользоваться?
Для проверка данных, не относящихся к объекту
3 rozer76
 
02.06.20
12:38
+ в этом случае ПроверяемыеРеквизиты содержит массив имен _только_ реквизитов формы
4 1snik_d
 
02.06.20
16:30
(2) В процедуру заходит, в массиве "ПроверяемыеРеквизиты" только одна строка "Объект" по умолчанию
5 rozer76
 
02.06.20
17:02
(4)
>>Добавляю в массив "ПроверяемыеРеквизиты"
Нее - так делай: у реквизита ФОРМЫ галку поставь - появится в ПроверяемыеРеквизиты а если не надо его проверять - удаляй из ПроверяемыеРеквизиты
6 1snik_d
 
02.06.20
17:43
(5) Все понял. Получается, что если мне надо проверять заполнение реквизита объекта (не формы) и делать мне это надо на форме, то вариант только в "ПередЗаписью", правильно?
7 Franchiser
 
гуру
02.06.20
18:13
(6) через доп. свойства попробуй
8 Franchiser
 
гуру
02.06.20
18:14
на форме тоже есть события обработкапроверказаполнения(), не только в модуле. Может лучше на форме сделать?
9 1snik_d
 
02.06.20
18:57
(8) Это где это у формы такое событие?
10 Franchiser
 
гуру
02.06.20
22:01
(9)
ФормаКлиентскогоПриложения (ClientApplicationForm)
ОбработкаПроверкиЗаполненияНаСервере (FillCheckProcessingAtServer)
Синтаксис:
ОбработкаПроверкиЗаполненияНаСервере(<Отказ>, <ПроверяемыеРеквизиты>)
Параметры:
<Отказ>
Тип: Булево.
Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись выполнена не будет.
Значение по умолчанию: Ложь.
<ПроверяемыеРеквизиты>
Тип: Массив.
Массив путей к реквизитам, для которых будет выполнена проверка заполнения. Массив может быть модифицирован удалением или добавлением путей к необходимым реквизитам.
Описание:
Вызывается расширением формы при необходимости проверки заполнения реквизитов при записи в форме, а также при выполнении метода ПроверитьЗаполнение.
Для вызова проверки заполнения системой необходимо, чтобы у формы (с которой происходит работа) было установлено свойство ПроверятьЗаполнениеАвтоматически. В этом случае вначале будет вызван данный обработчик, а затем, если в списке проверяемых реквизитов присутствует реквизит <Объект>, обработчик ОбработкаПроверкиЗаполнения() модуля объекта.
Позволяет разработчику конфигурации самостоятельно реализовать проверку заполнения в обработчике события. При этом в обработчике можно полностью отказаться от системной обработки (очистив список проверяемых реквизитов), отказаться от проверки системой части реквизитов (выполнив проверку отдельных реквизитов особенным образом и исключив эти реквизиты из списка), а также добавить для проверки другие реквизиты, проверка которых не была указана.