Обрабатываем проверку заполнения внешнего отчёта и не разрешаем период с началом позже окончания.
Где и как запускать
Модуль объекта внешнего отчёта (.erf). Для воспроизводимого запуска используется собственная обычная форма в толстом клиенте.
Подготовка
Создайте внешний отчёт. Добавьте реквизиты объекта ДатаНачала и ДатаОкончания типа Дата (состав даты — Дата), проверка заполнения — Выдавать ошибку.
Создайте основную обычную форму отчёта, разместите на ней поля ДатаНачала и ДатаОкончания и кнопку ПроверитьПериод.
Через список событий модуля объекта создайте ОбработкаПроверкиЗаполнения и поместите в него основной код. Дополнительный блок разместите в модуле формы и назначьте действием кнопки.
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
Если ЗначениеЗаполнено(ДатаНачала)
И ЗначениеЗаполнено(ДатаОкончания)
И ДатаНачала > ДатаОкончания Тогда
Отказ = Истина;
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Начало периода не должно быть позже окончания";
Сообщение.Сообщить();
КонецЕсли;
КонецПроцедурыВызвать проверку из кнопки обычной формы
Основная обычная форма внешнего отчёта → Модуль формы.
Вызывается штатная проверка объекта отчёта. Сам обработчик вручную не вызывайте.
Процедура ПроверитьПериод(Кнопка)
Если Не ПроверитьЗаполнение() Тогда
Возврат;
КонецЕсли;
Сообщить("Период заполнен правильно, можно формировать отчёт");
КонецПроцедурыРазбор по шагам
Кнопка вызывает метод ПроверитьЗаполнение() внешнего отчёта; платформа передаёт в событие флаг Отказ и список проверяемых реквизитов.
Стандартная проверка обязательных дат сохранена: список ПроверяемыеРеквизиты здесь не очищается.
Когда обе даты указаны, обработчик проверяет их порядок. Только при ошибке он устанавливает Отказ = Истина; ранее установленный отказ не сбрасывается.
Как проверить результат
Оставьте обе даты пустыми: стандартная проверка должна показать обязательные поля, сообщение об успешной проверке не выводится.
Укажите начало 15.10.2026, окончание 01.10.2026: появится сообщение об ошибочном порядке дат.
Укажите начало 01.10.2026, окончание 15.10.2026: появится сообщение о правильно заполненном периоде.
Ожидаемый результат
Пустой или перевёрнутый период не проходит проверку, корректный проходит. Состояние базы не изменяется.
На что обратить внимание
Отказ относится к текущей проверке, а не к записи внешнего отчёта в базу. Не присваивайте ему Ложь в конце обработчика.
Список ПроверяемыеРеквизиты содержит реквизиты стандартной проверки. Удаление имени из этого списка отменяет его стандартную проверку и здесь не требуется.
В управляемой форме работайте с объектом отчёта на сервере. Не переносите обращения контекста обычной формы в клиентский модуль без адаптации.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.