Клиентская проверка формы даёт быстрый отказ до отправки объекта на сервер. Контекст: Документы → УчебныйКонтроль → Формы → ФормаДокумента.
Где и как запускать
Модуль управляемой формы: Документы → УчебныйКонтроль → Формы → ФормаДокумента. Серверная и клиентская директивы уже указаны; не вставляйте процедуру внутрь другой.
Подготовка
Все действия выполняйте только в отдельной учебной конфигурации.
Создайте документ УчебныйКонтроль: строковый номер 12 с автонумерацией, проведение Запретить. Добавьте КонтрольноеЧисло (Число 15.2) и Комментарий (Строка 100).
Создайте основную управляемую форму документа с основным реквизитом Объект. Проверяйте новый документ с заполненной датой.
Основной реквизит формы должен называться Объект. Если мастер дал другое имя, переименуйте основной реквизит и исправьте пути данных его полей в редакторе формы.
Выведите основной числовой реквизит и комментарий на форму. Добавьте отдельный реквизит формы Статус (Строка 200), выведите его недоступным для редактирования.
Откройте Документы → УчебныйКонтроль → Формы → ФормаДокумента → Модуль формы. Назначьте событие ПередЗаписью одноимённой процедуре. Обновите только учебную базу.
Примеры соседних событий можно объединить в одном модуле: каждая процедура должна существовать только один раз. Для обычного опыта задайте число 25 и комментарий Учебный объект.
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Если Объект.КонтрольноеЧисло < 0 Тогда
Отказ = Истина;
Сообщить("Отрицательное значение не допускается");
КонецЕсли;
КонецПроцедурыРазбор по шагам
Платформа вызывает назначенный обработчик, передавая параметры именно своего расширения формы.
Клиентская проверка формы даёт быстрый отказ до отправки объекта на сервер.
Работа ведётся с реквизитами объекта, который полностью объявлен в подготовке.
Как проверить результат
Введите -1 и нажмите Записать: запись отменяется с сообщением.
Введите 25: эта клиентская проверка пропускает запись.
Ожидаемый результат
Остановить отрицательное значение до серверной записи для собственного учебного объекта.
На что обратить внимание
Эта проверка действует только при записи из данной формы; программную запись защищают правила модуля объекта.
В этом клиентском событии не вызывайте &НаСервере и не меняйте свойства, вызывающие серверное обращение.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.