Вызывается расширением формы при необходимости проверки заполнения реквизитов при записи в форме, а также при выполнении метода ПроверитьЗаполнение. Для вызова проверки заполнения системой необходимо, чтобы у формы (с которой происходит работа) было установлено свойство ПроверятьЗаполнениеАвтоматически. В этом случае вначале будет вызван данный обработчик, а затем, если в списке проверяемых реквизитов присутствует реквизит <Объект>, обработчик ОбработкаПроверкиЗаполнения() модуля объекта. Позволяет разработчику конфигурации самостоятельно реализовать проверку заполнения в обработчике события. При этом в обработчике можно полностью отказаться от системной обработки (очистив список проверяемых реквизитов), отказаться от проверки системой части реквизитов (выполнив проверку отдельных реквизитов особенным образом и исключив эти реквизиты из списка), а также добавить для проверки другие реквизиты, проверка которых не была указана. Пример: Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) // Проверим заполненность реквизита "Покупатель" Если Не ЗначениеЗаполнено(Покупатель) Тогда // Если он не заполнен, сообщим об этом пользователю Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = "Не указан Покупатель, на которого выписывается товарная накладная!"; Сообщение.Поле = "Покупатель"; Сообщение.Сообщить(); // Сообщим платформе, что мы сами обработали проверку заполнения реквизита "Покупатель" ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Покупатель
Синтаксис
ОбработкаПроверкиЗаполненияНаСервере(<Отказ>, <ПроверяемыеРеквизиты>)Полное описание, параметры и ограничения
ФормаКлиентскогоПриложения.ОбработкаПроверкиЗаполненияНаСервере (ClientApplicationForm.FillCheckProcessingAtServer)
ФормаКлиентскогоПриложения (ClientApplicationForm)
ОбработкаПроверкиЗаполненияНаСервере (FillCheckProcessingAtServer)
Доступен, начиная с версии 8.0.
Синтаксис:
ОбработкаПроверкиЗаполненияНаСервере(<Отказ>, <ПроверяемыеРеквизиты>)
Параметры:
<Отказ>
Тип: Булево.
Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись выполнена не будет.
Значение по умолчанию: Ложь.
<ПроверяемыеРеквизиты>
Тип: Массив.
Массив путей к реквизитам, для которых будет выполнена проверка заполнения. Массив может быть модифицирован удалением или добавлением путей к необходимым реквизитам.
Описание:
Вызывается расширением формы при необходимости проверки заполнения реквизитов при записи в форме, а также при выполнении метода ПроверитьЗаполнение.
Для вызова проверки заполнения системой необходимо, чтобы у формы (с которой происходит работа) было установлено свойство ПроверятьЗаполнениеАвтоматически. В этом случае вначале будет вызван данный обработчик, а затем, если в списке проверяемых реквизитов присутствует реквизит <Объект>, обработчик ОбработкаПроверкиЗаполнения() модуля объекта.
Позволяет разработчику конфигурации самостоятельно реализовать проверку заполнения в обработчике события. При этом в обработчике можно полностью отказаться от системной обработки (очистив список проверяемых реквизитов), отказаться от проверки системой части реквизитов (выполнив проверку отдельных реквизитов особенным образом и исключив эти реквизиты из списка), а также добавить для проверки другие реквизиты, проверка которых не была указана.
Пример:
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
// Проверим заполненность реквизита "Покупатель"
Если Не ЗначениеЗаполнено(Покупатель) Тогда
// Если он не заполнен, сообщим об этом пользователю
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "Не указан Покупатель, на которого выписывается товарная накладная!";
Сообщение.Поле = "Покупатель";
Сообщение.Сообщить();
// Сообщим платформе, что мы сами обработали проверку заполнения реквизита "Покупатель"
ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Покупатель"));
// Так как информация не консистентна, то продолжать работу дальше смысла нет
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Для формы документа, если при конфигурировании для документа свойство Проведение установлено в Разрешить, событие вызывается только при проведении.
Если документ не проводится (свойство Проведение установлено в Запретить), то вызывается при записи.
Для формы бизнес-процесса вызывается расширением формы при старте бизнес-процесса.
См. также:
ФормаКлиентскогоПриложения, метод ПроверитьЗаполнение
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Проверить цену в форме учебного товара
Серверный обработчик формы проверяет бизнес-правило и привязывает сообщение к конкретному полю.
Где и как запускать
Модуль управляемой формы, указанной в подготовке. Директивы &НаКлиенте и &НаСервере уже включены в код.
Подготовка
В отдельной учебной конфигурации создайте обработку УчебнаяПанель и управляемую форму Панель. Код обработчика вставляйте на уровне модуля формы.
В свойствах формы на вкладке События назначьте указанному событию одноимённую процедуру. Обновите только учебную базу; проверяйте в тонком клиенте.
Вместо панели используйте основную управляемую форму элемента справочника УчебныеТовары. Создайте в нём Цена (Число 15.2), выведите Объект.Цена на форму.
Включите Проверять заполнение автоматически. Назначьте событие ОбработкаПроверкиЗаполненияНаСервере. Проверяйте только новый учебный товар.
&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
Если Объект.Цена <= 0 Тогда
Отказ = Истина;
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Цена должна быть больше нуля";
Сообщение.Поле = "Объект.Цена";
Сообщение.Сообщить();
КонецЕсли;
КонецПроцедурыРазбор по шагам
Платформа вызывает событие при проверке заполнения формы.
Отрицательная или нулевая цена устанавливает Отказ.
Сообщение указывает путь Объект.Цена; список стандартной проверки не очищается.
Как проверить результат
При цене 0 запись из формы отменяется, появляется сообщение у поля цены.
При цене 150 это правило пропускает запись, если нет других ошибок заполнения.
Ожидаемый результат
Проверка формы сообщает, какое поле требует исправления.
На что обратить внимание
Программная запись без этой формы может обойти её проверку. Обязательные правила дополнительно проверяют в модуле объекта.
Реквизит Цена не должен иметь другое имя или тип.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.