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