ВариантГраницыИнтервала.БезОграничения

Свойства · WithoutRestriction

Начало или конец интервала не ограничиваются.

Полное описание, параметры и ограничения

ВариантГраницыИнтервала.БезОграничения (IntervalBoundVariant.WithoutRestriction)

ВариантГраницыИнтервала (IntervalBoundVariant)

БезОграничения (WithoutRestriction)

Доступен, начиная с версии 8.0.

Описание:
Начало или конец интервала не ограничиваются.
Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Отделить конкретные границы периода от отсутствия ограничения

На собственном интервале просмотра проверяем установку дат, вычисленные границы и пустую дату для неограниченного начала.

Где и как запускать

Полный модуль управляемой формы собственной обработки, только толстый клиент.

Подготовка

  1. Собственная учебная база 8.5.1.1343, толстый клиент Windows. Создайте внешнюю обработку с управляемой формой, командой Выполнить и её кнопкой; вставьте весь модуль выбранного урока в форму.

  2. НастройкаПериода доступна толстому клиенту, не тонкому/веб-клиенту и не серверу. Урок не подключается к спискам документов и не меняет их отбор.

  3. Для урока с Редактировать нужен режим конфигурации, допускающий модальные вызовы. Не включайте его в рабочей конфигурации ради примера: выберите собственный учебный стенд с подходящим режимом.

  4. Фиксированные даты относятся к сентябрю 2026 года. В уроке со смещениями рабочая дата только читается, не изменяется.

&НаКлиенте
Процедура Выполнить(Команда)
    Период = Новый НастройкаПериода;
    Начало = Дата(2026, 9, 10, 0, 0, 0);
    Окончание = Дата(2026, 9, 20, 23, 59, 59);
    Период.УстановитьПериод(Начало, Окончание, Ложь);
    Период.ВариантНастройки = ВариантНастройкиПериода.Интервал;
    Период.ВариантНачала = ВариантГраницыИнтервала.КонкретнаяДата;
    Период.ВариантОкончания = ВариантГраницыИнтервала.КонкретнаяДата;
    Период.ДатаНачала = Начало;
    Период.ДатаОкончания = Окончание;
    Сообщить(Период.ПолучитьДатуНачала() = Начало);
    Сообщить(Период.ПолучитьДатуОкончания() = Окончание);
    Сообщить(Период.ДатаНачала = Начало);
    Сообщить(Период.ДатаОкончания = Окончание);
    Период.ВариантНачала = ВариантГраницыИнтервала.БезОграничения;
    Сообщить(Период.ПолучитьДатуНачала() = Дата(1, 1, 1));
    Сообщить(Период.ПолучитьДатуОкончания() = Окончание);
КонецПроцедуры

Разбор по шагам

  1. УстановитьПериод может автоматически подобрать вариант периода. После вызова явно задаём режим интервала и конкретные варианты обеих границ.

  2. ДатаНачала/ДатаОкончания — значения настроек, а ПолучитьДатуНачала/ПолучитьДатуОкончания — вычисленные границы с учётом выбранного варианта.

  3. БезОграничения переключает смысл начала. Getter возвращает пустую дату 01.01.0001, а не Неопределено и не текущую дату.

  4. Окончание 20 сентября включает последнюю секунду дня. Этот интервал не выдаётся за полуоткрытый интервал запроса.

Как проверить результат

  1. Шесть сообщений ожидаются Истина. Отсутствие ограничения проверяется через getter, не через старое поле ДатаНачала.

  2. Внешний список документов не открыт и не отфильтрован: изменён только собственный объект в памяти.

Ожидаемый результат

Получен воспроизводимый пример конкретного интервала и независимого снятия ограничения начала.

На что обратить внимание

  1. Не превращать пустую дату неограниченной границы в реальный отбор >= 01.01.0001 без бизнес-правила.

  2. Этот тип нельзя переносить на сервер лишь потому, что даты доступны серверу.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.