Содержит возможные варианты стандартного периода компоновки данных.
Полное описание, параметры и ограничения
ВариантСтандартногоПериода (StandardPeriodVariant)
ВариантСтандартногоПериода (StandardPeriodVariant)
Доступен, начиная с версии 8.1.
Значения
Вчера (Yesterday)
ДоКонцаЭтогоГода (TillEndOfThisYear)
ДоКонцаЭтогоКвартала (TillEndOfThisQuarter)
ДоКонцаЭтогоМесяца (TillEndOfThisMonth)
ДоКонцаЭтогоПолугодия (TillEndOfThisHalfYear)
ДоКонцаЭтойДекады (TillEndOfThisTenDays)
ДоКонцаЭтойНедели (TillEndOfThisWeek)
Завтра (Tomorrow)
Месяц (Month)
Последние7Дней (Last7Days)
ПроизвольныйПериод (Custom)
ПрошлаяДекада (LastTenDays)
ПрошлаяДекадаДоТакогоЖеНомераДня (LastTenDaysTillSameDayNumber)
ПрошлаяНеделя (LastWeek)
ПрошлаяНеделяДоТакогоЖеДняНедели (LastWeekTillSameWeekDay)
ПрошлоеПолугодие (LastHalfYear)
ПрошлоеПолугодиеДоТакойЖеДаты (LastHalfYearTillSameDate)
ПрошлыйГод (LastYear)
ПрошлыйГодДоТакойЖеДаты (LastYearTillSameDate)
ПрошлыйКвартал (LastQuarter)
ПрошлыйКварталДоТакойЖеДаты (LastQuarterTillSameDate)
ПрошлыйМесяц (LastMonth)
ПрошлыйМесяцДоТакойЖеДаты (LastMonthTillSameDate)
Сегодня (Today)
СледующаяДекада (NextTenDays)
СледующаяДекадаДоТакогоЖеНомераДня (NextTenDaysTillSameDayNumber)
СледующаяНеделя (NextWeek)
СледующаяНеделяДоТакогоЖеДняНедели (NextWeekTillSameWeekDay)
СледующееПолугодие (NextHalfYear)
СледующееПолугодиеДоТакойЖеДаты (NextHalfYearTillSameDate)
Следующие7Дней (Next7Days)
СледующийГод (NextYear)
СледующийГодДоТакойЖеДаты (NextYearTillSameDate)
СледующийКвартал (NextQuarter)
СледующийКварталДоТакойЖеДаты (NextQuarterTillSameDate)
СледующийМесяц (NextMonth)
СледующийМесяцДоТакойЖеДаты (NextMonthTillSameDate)
СНачалаЭтогоГода (FromBeginningOfThisYear)
СНачалаЭтогоКвартала (FromBeginningOfThisQuarter)
СНачалаЭтогоМесяца (FromBeginningOfThisMonth)
СНачалаЭтогоПолугодия (FromBeginningOfThisHalfYear)
СНачалаЭтойДекады (FromBeginningOfThisTenDays)
СНачалаЭтойНедели (FromBeginningOfThisWeek)
ЭтаДекада (ThisTenDays)
ЭтаНеделя (ThisWeek)
ЭтоПолугодие (ThisHalfYear)
ЭтотГод (ThisYear)
ЭтотКвартал (ThisQuarter)
ЭтотМесяц (ThisMonth)
Описание:
Содержит возможные варианты стандартного периода компоновки данных.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
См. также:
СтандартныйПериод, свойство Вариант
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Отличить «этот месяц» от сохранённых конкретных дат
Относительный вариант вычисляет границы на момент использования. Для фиксированного снимка создаём новый произвольный период из прочитанных дат, не меняя исходный вариант.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Выполняйте в серверном общем модуле новой учебной базы. Стандартные периоды здесь создаются в памяти и не читают бизнес-данные.
Дата в этих упражнениях имеет точность до секунды. Пустая дата не означает текущий день. Часовые пояса и часовой пояс внешнего API — отдельная часть контракта.
Не запускайте проверку в секунду смены месяца: разные чтения относительных периодов могут попасть в разные месяцы. Для воспроизводимого отчёта фиксируйте границы в начале выполнения.
Относительный = Новый СтандартныйПериод(ВариантСтандартногоПериода.ЭтотМесяц);
НачалоСнимка = Относительный.ДатаНачала;
ОкончаниеСнимка = Относительный.ДатаОкончания;
Снимок = Новый СтандартныйПериод(НачалоСнимка, ОкончаниеСнимка);
Сообщить(Относительный.Вариант = ВариантСтандартногоПериода.ЭтотМесяц);
Сообщить(Снимок.Вариант = ВариантСтандартногоПериода.ПроизвольныйПериод);
Сообщить(НачалоСнимка = НачалоМесяца(НачалоСнимка));
Сообщить(ОкончаниеСнимка = КонецМесяца(НачалоСнимка));
Сообщить(Снимок.ДатаНачала = НачалоСнимка);
Сообщить(Снимок.ДатаОкончания = ОкончаниеСнимка);
Сообщить("Начало снимка: " + Формат(НачалоСнимка, "ДФ=dd.MM.yyyy HH:mm:ss"));
Сообщить("Конец снимка: " + Формат(ОкончаниеСнимка, "ДФ=dd.MM.yyyy HH:mm:ss"));
Прошлый = Новый СтандартныйПериод(ВариантСтандартногоПериода.ПрошлыйМесяц);
Сообщить(Прошлый.ДатаНачала = НачалоМесяца(ДобавитьМесяц(НачалоСнимка, -1)));
Сообщить(Прошлый.ДатаОкончания = НачалоСнимка - 1);Разбор по шагам
Создаём ЭтотМесяц по варианту; читаем начало и конец ровно для текущего прохода.
Снимок создаём другим конструктором с конкретными датами. Это отдельный объект с произвольным вариантом.
Сравниваем форму границ: начало первого дня и конец последнего. Название месяца/года заранее не зашито в результат.
ПрошлыйМесяц проверяем через ДобавитьМесяц, корректно переходящий между декабрём и январём. Последняя секунда прошлого месяца — начало текущего минус одна секунда.
Как проверить результат
Восемь логических сообщений дают Истина.
Две строки даты показывают фактический месяц среды выполнения, не февраль 2024.
Относительный остаётся ЭтотМесяц; снимок — ПроизвольныйПериод с теми же прочитанными границами.
Ожидаемый результат
Разделены плавающий период настройки отчёта и фиксированный интервал конкретного запуска.
На что обратить внимание
Относительный вариант не является обещанием сохранить прежние даты при запуске в другом месяце.
Если отчёт выполняется на сервере, не считайте его текущий месяц автоматически совпадающим с календарём другого сервиса/часового пояса.
Храните обе границы снимка вместе; смешивание начала одного запуска с окончанием другого может дать неверный интервал.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.