ВариантПериода

Темы платформы · PeriodVariant

Определяет набор вариантов задания периода, используемого объектом НастройкаПериода.

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

ВариантПериода (PeriodVariant)

ВариантПериода (PeriodVariant)

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

Значения
Год (Year)
День (Day)
ДеньСНачалаГода (DayFromBegOfYear)
ДеньСНачалаКвартала (DayFromBegOfQuarter)
ДеньСНачалаМесяца (DayFromBegOfMonth)
Квартал (Quarter)
КварталСНачалаГода (QuarterFromBegOfYear)
Месяц (Month)
МесяцСНачалаГода (MonthFromBegOfYear)
МесяцСНачалаКвартала (MonthFromBegOfQuarter)
ПроизвольныйИнтервал (AnyInterval)

Описание:

Определяет набор вариантов задания периода, используемого объектом НастройкаПериода.

Доступность:

Толстый клиент.

См. также:
НастройкаПериода, свойство ВариантПериода

Использование в версии:

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

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

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

Вычислить месяц и период с начала года по заданной дате

Для отчётного дня 15 сентября получаем сначала весь месяц, затем интервал от начала года до конца этого дня.

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

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

Подготовка

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

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

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

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

&НаКлиенте
Процедура Выполнить(Команда)
    Период = Новый НастройкаПериода;
    Период.ВариантНастройки = ВариантНастройкиПериода.Период;
    Период.ЗначениеПериода = Дата(2026, 9, 15, 12, 30, 0);
    Период.ВариантПериода = ВариантПериода.Месяц;
    Сообщить(Период.ВариантНастройки = ВариантНастройкиПериода.Период);
    Сообщить(Период.ВариантПериода = ВариантПериода.Месяц);
    Сообщить(Период.ЗначениеПериода = Дата(2026, 9, 15, 12, 30, 0));
    Сообщить(Период.ПолучитьДатуНачала() = Дата(2026, 9, 1));
    Сообщить(Период.ПолучитьДатуОкончания() = Дата(2026, 9, 30, 23, 59, 59));
    Период.ВариантПериода = ВариантПериода.ДеньСНачалаГода;
    Сообщить(Период.ПолучитьДатуНачала() = Дата(2026, 1, 1));
    Сообщить(Период.ПолучитьДатуОкончания() = Дата(2026, 9, 15, 23, 59, 59));
КонецПроцедуры

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

  1. ЗначениеПериода задаёт опорную дату, а ВариантПериода — способ получения границ. Месяц не равен 30 суток от 15 сентября.

  2. ПолучитьДатуНачала/Окончания вычисляют календарные границы сентября с нулевым временем начала и последней секундой окончания.

  3. ДеньСНачалаГода заканчивается выбранным днём, а не концом сентября и не сегодняшним днём компьютера.

  4. Свойство ВариантНастройки выбирает режим Период; оно не означает автоматическое применение отбора к отчёту.

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

  1. Семь сообщений ожидаются Истина; два последних соответствуют 01.01.2026 и 15.09.2026 23:59:59.

  2. Измените опорную дату на 15 февраля: месячный конец в 2026 году будет 28 февраля.

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

На одной опорной дате показаны два разных календарных правила периода.

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

  1. Не смешивать ВариантПериода.Месяц с границей ВариантГраницыИнтервала.Месяц: это разные перечисления и режимы.

  2. Полученная дата окончания включительная; в запросах согласуйте >=/<= либо отдельную исключительную верхнюю границу.

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

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

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

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

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