Отобрать даты по периоду ПрошлаяДекада

Учебные задачи

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

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

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Тело серверной процедуры учебной обработки. Все даты заказов создаются в памяти; рабочие документы не читаются.

  2. Границы относительного периода зависят от текущей даты контекста выполнения. Не сравнивайте их с заранее записанными числами другого дня.

Период = Новый СтандартныйПериод(ВариантСтандартногоПериода.ПрошлаяДекада);
Начало = Период.ДатаНачала;
Окончание = Период.ДатаОкончания;
ДатыЗаказов = Новый Массив;
ДатыЗаказов.Добавить(Начало - 1);
ДатыЗаказов.Добавить(Начало);
ДатыЗаказов.Добавить(Окончание + 1);
Отобрано = 0;
Для Каждого ДатаЗаказа Из ДатыЗаказов Цикл
    Если ДатаЗаказа >= Начало И ДатаЗаказа <= Окончание Тогда
        Отобрано = Отобрано + 1;
    КонецЕсли;
КонецЦикла;
Сообщить(Формат(Начало, "ДФ=dd.MM.yyyy HH:mm:ss"));
Сообщить(Формат(Окончание, "ДФ=dd.MM.yyyy HH:mm:ss"));
Сообщить("Отобрано заказов: " + Строка(Отобрано));

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

  1. Конструктор получает конкретный штатный вариант периода.

  2. Прочитайте обе границы подряд для одного расчёта; начало и окончание включены.

  3. Примените интервал к учебным датам: одна до начала, одна на границе, одна после конца.

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

  1. Отобрано заказов: 1. Дата ровно на начальной границе включена.

  2. Замените третью дату Окончание + 1 на Окончание: отобрано 2.

  3. Сверьте показанные границы с правилом: С начала прошлой декады до ее конца.

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

Календарный вариант использован для реального условия отбора, а не просто выведен как название.

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

  1. Изменение варианта не записывает отбор в существующий отчёт автоматически.

  2. Не путайте календарный месяц и скользящий вариант Месяц: их правила различаются.

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

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

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

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

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