Отчеты и Аналитика · 10 мин
Как добавить период в отчет 1С
Как добавить и настроить период в отчете 1С: параметры дат в СКД, быстрые настройки, стандартные периоды, типичные ошибки и проверка результата.
Период — самый частый реквизит любого отчета в 1С: без него программа либо покажет данные за всё время ведения учета, либо вообще не сформирует отчет, если параметр даты обязателен. В зависимости от ситуации добавить период можно прямо в форме отчета через настройки, в типовом отчете через расширенные параметры или в конфигураторе — если отчет самописный и параметры дат в нем не предусмотрены.
Способ зависит от того, как устроен конкретный отчет. Большинство типовых отчетов в конфигурациях «1С:Бухгалтерия», «1С:Управление торговлей», «1С:ERP» построены на системе компоновки данных (СКД), и период в них добавляется без изменения конфигурации. Самописные отчеты иногда требуют доработки в конфигураторе: добавления параметров в запрос и вывода их в настройки.
Ниже разобраны все рабочие сценарии: от простого вывода поля периода на панель отчета до добавления параметров «Начало периода» и «Конец периода» в схему компоновки данных, а также проверка результата и типичные ошибки.
Определите, как устроен ваш отчет
Прежде чем что-то менять, выясните, на чем построен отчет. Откройте его и нажмите кнопку «Настройки» или «Еще — Изменить вариант». Если открылось окно с вкладками «Отбор», «Группировка», «Поля», «Сортировка» — это отчет на СКД, и период добавляется штатными средствами без программирования.
Если настроек нет вовсе, а форма содержит только кнопку «Сформировать», скорее всего, отчет программный: параметры в нем зашиты кодом. В этом случае период добавляется только через конфигуратор или доработку внешнего отчета.
Еще один признак: если при формировании отчета 1С выдает ошибку вида «Не заполнено значение параметра "Период"», значит, параметр в схеме уже есть, но не выведен в настройки пользователя — это самый простой случай, решается за минуту.
Период добавляется через настройки без конфигуратора
Включите его в настройках отбора
Потребуется доработка в конфигураторе
Добавьте период через настройки отчета
Это основной сценарий для типовых конфигураций. Откройте отчет, нажмите «Настройки» (или «Еще — Изменить вариант») и перейдите на вкладку «Отбор». В левой части списка доступных полей найдите «Период» или «Дата» и перетащите его в правую часть, либо поставьте флажок использования, если поле уже присутствует.
После добавления задайте вид сравнения: для периода обычно используют «Равно» со значением типа «Стандартный период» (день, месяц, квартал, год) либо пару условий «Больше или равно» и «Меньше или равно» с конкретными датами. Стандартный период удобнее: его можно переключать одной кнопкой и не вводить даты вручную.
Нажмите «Завершить редактирование» и сформируйте отчет. Если данные появились и соответствуют выбранному интервалу — настройка выполнена корректно. Сохраните вариант отчета через «Еще — Сохранить вариант», чтобы не повторять настройку при каждом запуске.
- 1Откройте отчет и нажмите «Настройки» или «Еще — Изменить вариант»
- 2На вкладке «Отбор» найдите поле «Период» в доступных полях
- 3Добавьте поле в отбор и установите вид сравнения
- 4Выберите стандартный период или задайте даты вручную
- 5Нажмите «Завершить редактирование» и сформируйте отчет
- 6Сохраните вариант отчета для повторного использования
Вынесите период в быстрые настройки
Даже если период уже есть в отборе, он может быть скрыт в расширенных настройках, и пользователь не видит его на форме отчета. Чтобы поле появилось прямо на панели перед кнопкой «Сформировать», откройте настройки, выделите строку с периодом и в свойствах элемента установите режим отображения «Быстрый доступ».
В окне расширенных настроек для этого есть отдельная колонка или кнопка «Свойства элемента пользовательских настроек». После сохранения на форме отчета появится поле выбора периода с выпадающим списком стандартных интервалов: «Сегодня», «Этот месяц», «Этот квартал», «Произвольный период».
Тот же прием работает для параметров на вкладке «Параметры»: отметьте параметр даты как быстрый, и он будет доступен без входа в настройки. Это особенно удобно, когда отчетом пользуются сотрудники, не знакомые с механизмом вариантов.
Добавьте параметры периода в самописный отчет через конфигуратор
Если отчет собственной разработки и период в нем не предусмотрен, потребуется конфигуратор. Откройте отчет, перейдите к основной схеме компоновки данных и на закладке «Наборы данных» добавьте в текст запроса условие по дате с параметрами.
Типовой фрагмент запроса выглядит так: ГДЕ Документ.Дата МЕЖДУ &НачалоПериода И &КонецПериода. Затем на закладке «Параметры» опишите оба параметра: тип «Дата», для конца периода полезно установить выражение КонецПериода(&КонецПериода, "День"), чтобы в выборку попали документы до конца дня, а не только до 00:00:00.
Для параметров, ограничивающих обязательность, снимите или установите флажок «Ограничение доступности» в зависимости от задачи. Если период должен быть необязательным, используйте в запросе конструкцию виртуальной таблицы с параметрами в фигурных скобках — тогда условие применится только при заполненном значении.
ВЫБРАТЬ
Продажи.Период,
Продажи.Номенклатура,
Продажи.СуммаОборот
ИЗ
РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПродажиПосле доработки обновите конфигурацию базы данных и проверьте отчет в пользовательском режиме. Для внешних отчетов (файлы .erf) достаточно сохранить файл и заново открыть его через «Файл — Открыть» — обновление конфигурации не требуется.
Используйте стандартный период и дату отчета
В СКД есть два подхода к ограничению по времени: отбор по полю «Период» и параметры виртуальной таблицы. Отбор по полю работает с уже полученными данными, а параметры виртуальной таблицы ограничивают выборку на уровне запроса — второй способ быстрее на больших объемах данных.
Для регистров накопления и бухгалтерии всегда используйте параметры виртуальных таблиц («Обороты», «ОстаткиИОбороты»), передавая туда «НачалоПериода» и «КонецПериода». Это не только ускоряет формирование, но и гарантирует корректный расчет начальных и конечных остатков.
Если нужен отчет «на дату» (например, остатки на конец дня), достаточно одного параметра «Период» с типом «Дата». В настройках пользователь выберет конкретное число, а в запросе виртуальная таблица «Остатки» примет этот параметр как границу расчета.
Сравнение способов ограничения по датам
Подходит для быстрой настройки пользователем; фильтрация идет после получения данных, на больших объемах медленнее
Оптимально для регистров: выборка ограничивается в запросе, корректно считаются остатки; требует доступа к схеме компоновки
Удобен для пользователя: месяц, квартал, год выбираются одной кнопкой; автоматически раскладывается на даты начала и конца
Проверьте результат и устраните типичные ошибки
После добавления периода сформируйте отчет за заведомо проверяемый интервал — например, за месяц, по которому есть известный оборот. Сверьте итоговые суммы с оборотно-сальдовой ведомостью или другим эталонным отчетом за тот же период. Совпадение итогов — главный признак корректной настройки.
Если отчет пустой, проверьте три вещи: не задвоен ли отбор (например, период задан и в параметрах, и в отборе с противоречивыми значениями), правильно ли заполнен конец периода (дата 00:00:00 отсекает весь последний день) и есть ли вообще данные в регистре за выбранный интервал.
Обратная ситуация — в отчет попали лишние данные за границами периода. Причина обычно в том, что условие добавлено в отбор, но параметр помечен как необязательный и не передан в запрос, либо в запросе условие закомментировано. Откройте схему компоновки и проверьте текст запроса и закладку «Параметры».
Как проверить результат
Период выбирается до нажатия «Сформировать»
Поле доступно только в глубоких настройках или отсутствует
Совпадают с эталонным отчетом за тот же интервал
Расхождения или пустой отчет при наличии данных
Попадают в отчет
Данные за последний день отсутствуют
Частые вопросы
Почему в отчете нет поля «Период» даже в настройках?
Значит, в схеме компоновки данных нет ни поля периода в наборе данных, ни соответствующего параметра. Для типового отчета проверьте другой вариант отчета через «Еще — Выбрать вариант». Если поля нет ни в одном варианте, потребуется доработка запроса в конфигураторе или расширении.
Как сделать период необязательным, чтобы отчет строился за все время?
В конфигураторе на закладке «Параметры» снимите флажок «Ограничение доступности» и оформите условие в запросе через параметры виртуальной таблицы в фигурных скобках: {(&НачалоПериода, &КонецПериода)}. Тогда при незаполненных датах условие просто не применится.
Отчет выдает ошибку «Не заполнено значение параметра» — что делать?
Откройте настройки отчета, перейдите на вкладку «Параметры», найдите проблемный параметр и заполните его значение или снимите флажок обязательности в свойствах. Если параметр должен заполняться автоматически, задайте ему выражение по умолчанию, например начало текущего месяца.
Как задать период по умолчанию, например текущий месяц?
В настройках варианта отчета заполните параметр значением «Стандартный период — Этот месяц» и сохраните вариант. В конфигураторе для параметра можно задать выражение на встроенном языке, вычисляющее начало текущего месяца от текущей даты сеанса.
Период добавлен, но отчет формируется очень долго. Это связано с периодом?
Да, если ограничение реализовано через отбор по полю, а не через параметры виртуальной таблицы: сначала выбираются все записи регистра, потом они фильтруются. Перенесите даты в параметры виртуальной таблицы запроса — на больших базах это ускоряет формирование в разы.
Можно ли добавить период в отчет без прав администратора?
Да, если речь о пользовательских настройках: вкладки «Отбор» и «Параметры», быстрые настройки и сохранение вариантов доступны обычному пользователю. Изменение запроса в схеме компоновки требует права на конфигуратор или работы с внешними отчетами.
Что важно запомнить
В типовых отчетах 1С период добавляется через настройки: вкладка «Отбор» или «Параметры» и вывод поля в быстрый доступ. В самописных отчетах параметры дат вносятся в запрос схемы компоновки через конфигуратор или расширение. Всегда проверяйте итоги за тестовый интервал и сохраняйте вариант отчета после настройки.