Регистры сведений 1С: периодичность и срез последних
Регистр сведений хранит значения по ключу: цену товара на дату, курс валюты, штрихкод. На собесе спрашивают про независимый и подчинённый регистр, периодичность и срез последних, потому что на цене на дату документа построена половина типовых конфигураций.
// Так спрашивают: «Чем независимый регистр сведений отличается от подчинённого?» «Что вернёт СрезПоследних?» «Что будет при второй записи в периодический регистр в том же месяце?» «Как получить цену на дату каждой строки продаж?»
Независимый и подчинённый
Независимый регистр сведений пишут откуда угодно: из обработки, формы регистра, загрузки. Подчинённый регистратору регистр хранит движения документа, и записи живут и удаляются вместе с ним. Регистр накопления подчинён регистратору всегда, регистр сведений выбирает режим сам.
Строка про ключ важна: два документа не могут записать в подчинённый регистр сведений одинаковые период и измерения. Если такое возможно по смыслу, в ключ добавляют ещё одно измерение или выбирают регистр накопления.
Период и периодичность
У периодического регистра период входит в ключ записи, и регистр хранит историю значений. Периодичность приводит период к началу интервала. При периодичности «месяц» запись от 5 октября и запись от 20 октября получат один период 01.10, и вторая заменит первую.
Если цена может меняться внутри месяца, ставят периодичность «день» или «в пределах секунды». Для регистров, подчинённых документу, есть периодичность «по позиции регистратора», где период совпадает с моментом времени документа.
Срез последних
Срез последних отдаёт для каждого ключа запись с наибольшим периодом, не позже указанной даты. Запись ровно на эту дату в срез попадает. Цены трёх товаров и срез на 15 октября:
Молоко взяло цену 92, записанную ровно 15 октября. Сыр в срез не попал: на эту дату у него нет ни одной записи. СрезПервых работает зеркально и берёт ближайшую запись начиная с даты.
ВЫБРАТЬ
Цены.Номенклатура,
Цены.Период,
Цены.Цена
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата) КАК Цены
// &Дата = 15.10.2026Одна дата на весь запрос
У среза одна дата на весь запрос. Если нужна цена на дату каждой строки продаж, а продажи идут за месяц, срез на конец месяца даст всем строкам последнюю цену. Такой срез собирают вручную: соединяют продажи с ценами по товару и периоду не позже даты продажи и берут максимальный период для каждой строки.
Свойство регистра «Разрешить итоги: срез последних» заводит таблицу текущих значений. Срез без даты и на свежие даты читает её напрямую и работает быстрее, а каждая запись в регистр становится чуть дороже, потому что обновляет и эту таблицу.
Как отвечать: «Что вернёт СрезПоследних на дату и что будет с товаром, у которого цены на эту дату ещё нет?»
Для каждого ключа измерений вернётся запись с наибольшим периодом, который не позже указанной даты, причём запись ровно на эту дату тоже попадает. Если у товара первая цена появилась позже даты среза, товара в результате не будет вовсе, поэтому при соединении с документом получу NULL и закрою его ЕСТЬNULL. И дата у среза одна на весь запрос: цену на дату каждой строки так не получить, нужен срез вручную.
Кандидат знает граничный случай с датой, понимает, откуда в результате берётся NULL, и сразу называет ограничение одной даты. Это три места, где срез ломает отчёты.
На чём валят
- −Ждут от среза цену на дату каждой строки продаж. У среза одна дата на запрос. Цену на дату строки собирают соединением с максимальным периодом.
- −Ставят периодичность «месяц» ценам, которые меняются чаще. Вторая запись в месяце заменит первую. Берут периодичность «день» или меньше.
- −Пишут в подчинённый регистр сведений два документа с одним ключом. Регистратор в ключ не входит, запись не пройдёт. Добавляют измерение или берут регистр накопления.
- −Отбирают реквизит в ГДЕ после среза, а не в параметрах. В параметре срез ищет последнюю запись среди подходящих, в ГДЕ отбрасывает строки готового среза. Результаты разные.
Проверь себя
Пять вопросов из банка по этой подтеме. Всего их 12, остальные разбираются в тренажёре.
- Чем периодический регистр сведений отличается от непериодического?A)Периодический обязательно подчинён регистраторуB)Периодический пишется по расписаниюC)Непериодический хранит только числаD)В ключе записи есть Период, хранится история
показать ответ и разбор
+D)В ключе записи есть Период, хранится история// разбор: У периодического регистра в ключ записи входит Период, и одно сочетание измерений имеет значения на разные даты: цена с 1 марта, цена с 15 марта. Отсюда срез последних и срез первых. У непериодического на сочетание измерений одна запись без даты.
- В независимый регистр записали вторую запись с тем же периодом и тем же набором измерений. Что произойдёт при записи через менеджер записи?A)Ресурсы сложатсяB)Появятся две записи, срез вернёт обеC)Ключ уникален: замена или ошибкаD)Запишется с новой секундой периода
показать ответ и разбор
+C)Ключ уникален: замена или ошибка// разбор: Ключ записи регистра сведений — период и все измерения, и он уникален. Менеджер записи с тем же ключом при записи с замещением заменит прежнюю запись, без замещения выдаст ошибку о существующей записи. Сложение ресурсов — поведение регистров накопления, не сведений.
- Что вернёт виртуальная таблица
СрезПоследних(&Дата)периодического регистра?A)Все записи за день &ДатаB)Действующее на дату значение каждого ключаC)Последнюю запись регистра целикомD)Записи, изменённые после &Датапоказать ответ и разбор
+B)Действующее на дату значение каждого ключа// разбор: Срез последних берёт для каждого сочетания измерений запись с наибольшим периодом, не превышающим дату. Для цен это действующая цена каждого товара на дату. Без даты срез строится на текущий момент. Отбор по измерениям передают вторым параметром таблицы, а не в ГДЕ.
- Регистр с периодичностью «Месяц». Запись сделали с периодом 17.03.2026 14:00. Какой период сохранится?A)17.03.2026 14:00:00B)01.03.2026 00:00:00C)31.03.2026 23:59:59D)01.01.2026 00:00:00
показать ответ и разбор
+B)01.03.2026 00:00:00// разбор: При периодичности месяц период записи приводится к началу месяца: в ключ попадает 1 марта. Поэтому за месяц на одно сочетание измерений возможна только одна запись, вторая её заменит. Если нужны изменения внутри месяца, периодичность выбирают мельче.
- Зачем у независимого регистра сведений нужен менеджер записи?A)Работать с одной записью по ключуB)Чтобы записывать сразу много записейC)Чтобы блокировать регистр целикомD)Чтобы хранить историю изменений записи
показать ответ и разбор
+A)Работать с одной записью по ключу// разбор: Менеджер записи работает с одной записью: заполнить ключ, Прочитать(), изменить ресурсы, Записать() или Удалить(). Массовую запись делают набором записей с отбором. Менеджер есть только у независимых регистров сведений: подчинённые пишутся движениями регистратора.
дальше
Теорию прочитал. Навык ставится повторением
В Сеньорчике эта подтема идёт в ежедневных сессиях: движок возвращает её, пока ответы не станут уверенными, и ведёт прогресс отдельно по каждой подтеме. Теория внутри тоже бесплатна, бесплатная часть практики — одна сессия дня в сутки.