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