Открываем собственный диалог с двумя вкладками; отмена не переписывает используемые учебные границы.
Где и как запускать
Полный модуль управляемой формы собственной обработки, толстый клиент с разрешёнными модальными вызовами.
Подготовка
Собственная учебная база 8.5.1.1343, толстый клиент Windows. Создайте внешнюю обработку с управляемой формой, командой Выполнить и её кнопкой; вставьте весь модуль выбранного урока в форму.
НастройкаПериода доступна толстому клиенту, не тонкому/веб-клиенту и не серверу. Урок не подключается к спискам документов и не меняет их отбор.
Для урока с Редактировать нужен режим конфигурации, допускающий модальные вызовы. Не включайте его в рабочей конфигурации ради примера: выберите собственный учебный стенд с подходящим режимом.
Фиксированные даты относятся к сентябрю 2026 года. В уроке со смещениями рабочая дата только читается, не изменяется.
&НаКлиенте
Процедура Выполнить(Команда)
ПримененноеНачало = Дата(2026, 9, 1);
ПримененноеОкончание = Дата(2026, 9, 30, 23, 59, 59);
Период = Новый НастройкаПериода;
Период.УстановитьПериод(ПримененноеНачало, ПримененноеОкончание, Ложь);
Период.РедактироватьКакИнтервал = Истина;
Период.РедактироватьКакПериод = Истина;
Период.ВариантНастройки = ВариантНастройкиПериода.Интервал;
Сообщить(Период.РедактироватьКакИнтервал И Период.РедактироватьКакПериод);
Подтвержден = Период.Редактировать();
Если Подтвержден Тогда
ПримененноеНачало = Период.ПолучитьДатуНачала();
ПримененноеОкончание = Период.ПолучитьДатуОкончания();
Сообщить("ОК: применены учебные границы выбранного периода");
Иначе
Сообщить(ПримененноеНачало = Дата(2026, 9, 1));
Сообщить(ПримененноеОкончание = Дата(2026, 9, 30, 23, 59, 59));
Сообщить("Отмена: учебные границы не изменены");
КонецЕсли;
Сообщить(СтрШаблон("Начало=%1; окончание=%2", ПримененноеНачало, ПримененноеОкончание));
КонецПроцедурыРазбор по шагам
РедактироватьКакИнтервал/РедактироватьКакПериод управляют видимостью вкладок. При двух доступных вкладках ВариантНастройки выбирает первоначально активную.
Редактировать возвращает Булево: Истина только при ОК. Закрытие/отмена идут в ветку Иначе.
Храним применённые границы отдельно от редактируемого объекта. Чтение новых границ происходит лишь после подтверждения.
Мы не утверждаем, что сам объект диалога откатывает все внутренние изменения при отмене: пример защищает именно свои применённые значения.
Как проверить результат
Первый запуск: поменяйте даты и нажмите Отмена. Две проверки неизменности дают Истина; итог остаётся сентябрём.
Второй запуск: выберите 10–20 сентября и ОК. В итоговом сообщении должны быть подтверждённые границы.
Никакие документы, настройки пользователя или отборы существующих списков не изменены.
Ожидаемый результат
Получен реальный сценарий диалога с явным разделением редактирования, подтверждения и применения.
На что обратить внимание
Модальный вызов нельзя использовать в тонком клиенте или при запрещённых модальных вызовах.
Не читать и не применять getter после отмены без проверки результата Редактировать.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.