Как правильно настроить отбор по Стандартному периоду в СКД?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При разработке отчетов в Системе компоновки данных (СКД) часто возникает задача предоставить пользователю возможность выбора интервала дат через удобный элемент управления СтандартныйПериод. В этой статье мы подробно разберем, как грамотно связать этот параметр с данными вашего запроса и какие способы фильтрации существуют.

Способ №1: Использование параметров в виртуальных таблицах

Это самый эффективный и производительный метод. Если вы используете виртуальные таблицы (например, ОстаткиИОбороты), СКД позволяет передавать параметры напрямую в поля таблицы. В этом случае оптимизация запроса ложится на плечи платформы, что обеспечивает высокую скорость работы отчета.

Для реализации этого подхода выполните следующие шаги:

  1. В тексте запроса укажите параметры в фигурных скобках:
    
    ВЫБРАТЬ
        Данные.Регистратор,
        Данные.СуммаОборот
    ИЗ
        РегистрНакопления.Продажи.Обороты({(&НачалоПериода)}, {(&ОкончаниеПериода)}) КАК Данные
    
  2. Перейдите на вкладку Параметры в СКД.
  3. Для параметров НачалоПериода и ОкончаниеПериода установите связь с параметром Период типа СтандартныйПериод.

Способ №2: Использование конструкции МЕЖДУ в секции ГДЕ

Если вы работаете с обычной таблицей (например, Документ.ЗаказКлиента) и вам нужно отфильтровать данные по реквизиту Дата, используйте конструкцию МЕЖДУ в секции ГДЕ. Этот метод позволяет гибко управлять условиями отбора.

Рассмотрим структуру запроса:


ВЫБРАТЬ
    Заказ.Ссылка,
    Заказ.Дата
ИЗ
    Документ.ЗаказКлиента КАК Заказ
{
ГДЕ
    Заказ.Дата МЕЖДУ (&НачалоПериода) И (&ОкончаниеПериода)
}

Важное примечание: При использовании МЕЖДУ обе границы диапазона включаются в выборку. Чтобы избежать ошибок (например, попадания документов с датой 00:00:00 следующего дня), мы рекомендуем использовать функции НачалоПериода() и КонецПериода() в выражениях параметров на вкладке Параметры.

Настройка параметров на закладке "Параметры"

Чтобы пользователь видел только один удобный элемент СтандартныйПериод, а не два отдельных поля ввода даты, выполним следующие настройки:

  1. Создайте параметр Период с типом СтандартныйПериод.
  2. Создайте параметры НачалоПериода и ОкончаниеПериода с типом Дата.
  3. В колонке Выражение для параметра НачалоПериода укажите: &Период.ДатаНачала.
  4. Для параметра ОкончаниеПериода укажите: &Период.ДатаОкончания.
  5. Установите флажок Ограничение доступности для параметров НачалоПериода и ОкончаниеПериода. Это скроет их от пользователя, оставив только основной параметр Период.

Дополнительные советы для профессиональной разработки

Чтобы ваш отчет выглядел профессионально и был удобен в использовании, обратите внимание на следующие нюансы:

Теперь вы знаете, как правильно организовать отбор по периоду. Используйте виртуальные таблицы для скорости и МЕЖДУ для произвольных выборок. Надеемся, этот разбор поможет вам создавать отчеты любой сложности!

← На главную