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