← вся теориятеория к собесу · Регистры 1С

Регистры сведений 1С: периодичность и срез последних

разбор писал Даниил, автор Сеньорчика

Зачем это спрашивают

Регистр сведений хранит значения по ключу: цену товара на дату, курс валюты, штрихкод. На собесе спрашивают про независимый и подчинённый регистр, периодичность и срез последних, потому что на цене на дату документа построена половина типовых конфигураций.

// Так спрашивают: «Чем независимый регистр сведений отличается от подчинённого?» «Что вернёт СрезПоследних?» «Что будет при второй записи в периодический регистр в том же месяце?» «Как получить цену на дату каждой строки продаж?»

Независимый и подчинённый

Независимый регистр сведений пишут откуда угодно: из обработки, формы регистра, загрузки. Подчинённый регистратору регистр хранит движения документа, и записи живут и удаляются вместе с ним. Регистр накопления подчинён регистратору всегда, регистр сведений выбирает режим сам.

Строка про ключ важна: два документа не могут записать в подчинённый регистр сведений одинаковые период и измерения. Если такое возможно по смыслу, в ключ добавляют ещё одно измерение или выбирают регистр накопления.

Период и периодичность

У периодического регистра период входит в ключ записи, и регистр хранит историю значений. Периодичность приводит период к началу интервала. При периодичности «месяц» запись от 5 октября и запись от 20 октября получат один период 01.10, и вторая заменит первую.

Если цена может меняться внутри месяца, ставят периодичность «день» или «в пределах секунды». Для регистров, подчинённых документу, есть периодичность «по позиции регистратора», где период совпадает с моментом времени документа.

Срез последних

Срез последних отдаёт для каждого ключа запись с наибольшим периодом, не позже указанной даты. Запись ровно на эту дату в срез попадает. Цены трёх товаров и срез на 15 октября:

Молоко взяло цену 92, записанную ровно 15 октября. Сыр в срез не попал: на эту дату у него нет ни одной записи. СрезПервых работает зеркально и берёт ближайшую запись начиная с даты.

ВЫБРАТЬ
    Цены.Номенклатура,
    Цены.Период,
    Цены.Цена
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата) КАК Цены
// &Дата = 15.10.2026

Одна дата на весь запрос

У среза одна дата на весь запрос. Если нужна цена на дату каждой строки продаж, а продажи идут за месяц, срез на конец месяца даст всем строкам последнюю цену. Такой срез собирают вручную: соединяют продажи с ценами по товару и периоду не позже даты продажи и берут максимальный период для каждой строки.

Свойство регистра «Разрешить итоги: срез последних» заводит таблицу текущих значений. Срез без даты и на свежие даты читает её напрямую и работает быстрее, а каждая запись в регистр становится чуть дороже, потому что обновляет и эту таблицу.

Как отвечать: «Что вернёт СрезПоследних на дату и что будет с товаром, у которого цены на эту дату ещё нет?»

Для каждого ключа измерений вернётся запись с наибольшим периодом, который не позже указанной даты, причём запись ровно на эту дату тоже попадает. Если у товара первая цена появилась позже даты среза, товара в результате не будет вовсе, поэтому при соединении с документом получу NULL и закрою его ЕСТЬNULL. И дата у среза одна на весь запрос: цену на дату каждой строки так не получить, нужен срез вручную.

Кандидат знает граничный случай с датой, понимает, откуда в результате берётся NULL, и сразу называет ограничение одной даты. Это три места, где срез ломает отчёты.

На чём валят

  • −Ждут от среза цену на дату каждой строки продаж. У среза одна дата на запрос. Цену на дату строки собирают соединением с максимальным периодом.
  • −Ставят периодичность «месяц» ценам, которые меняются чаще. Вторая запись в месяце заменит первую. Берут периодичность «день» или меньше.
  • −Пишут в подчинённый регистр сведений два документа с одним ключом. Регистратор в ключ не входит, запись не пройдёт. Добавляют измерение или берут регистр накопления.
  • −Отбирают реквизит в ГДЕ после среза, а не в параметрах. В параметре срез ищет последнюю запись среди подходящих, в ГДЕ отбрасывает строки готового среза. Результаты разные.

Проверь себя

Пять вопросов из банка по этой подтеме. Всего их 12, остальные разбираются в тренажёре.

  1. #oc_info_reg1 / 5
    Чем периодический регистр сведений отличается от непериодического?
    A)Периодический обязательно подчинён регистратору
    B)Периодический пишется по расписанию
    C)Непериодический хранит только числа
    D)В ключе записи есть Период, хранится история
    показать ответ и разбор
    +D)В ключе записи есть Период, хранится история

    // разбор: У периодического регистра в ключ записи входит Период, и одно сочетание измерений имеет значения на разные даты: цена с 1 марта, цена с 15 марта. Отсюда срез последних и срез первых. У непериодического на сочетание измерений одна запись без даты.

  2. #oc_info_reg2 / 5
    В независимый регистр записали вторую запись с тем же периодом и тем же набором измерений. Что произойдёт при записи через менеджер записи?
    A)Ресурсы сложатся
    B)Появятся две записи, срез вернёт обе
    C)Ключ уникален: замена или ошибка
    D)Запишется с новой секундой периода
    показать ответ и разбор
    +C)Ключ уникален: замена или ошибка

    // разбор: Ключ записи регистра сведений — период и все измерения, и он уникален. Менеджер записи с тем же ключом при записи с замещением заменит прежнюю запись, без замещения выдаст ошибку о существующей записи. Сложение ресурсов — поведение регистров накопления, не сведений.

  3. #oc_info_reg3 / 5
    Что вернёт виртуальная таблица СрезПоследних(&Дата) периодического регистра?
    A)Все записи за день &Дата
    B)Действующее на дату значение каждого ключа
    C)Последнюю запись регистра целиком
    D)Записи, изменённые после &Дата
    показать ответ и разбор
    +B)Действующее на дату значение каждого ключа

    // разбор: Срез последних берёт для каждого сочетания измерений запись с наибольшим периодом, не превышающим дату. Для цен это действующая цена каждого товара на дату. Без даты срез строится на текущий момент. Отбор по измерениям передают вторым параметром таблицы, а не в ГДЕ.

  4. #oc_info_reg4 / 5
    Регистр с периодичностью «Месяц». Запись сделали с периодом 17.03.2026 14:00. Какой период сохранится?
    A)17.03.2026 14:00:00
    B)01.03.2026 00:00:00
    C)31.03.2026 23:59:59
    D)01.01.2026 00:00:00
    показать ответ и разбор
    +B)01.03.2026 00:00:00

    // разбор: При периодичности месяц период записи приводится к началу месяца: в ключ попадает 1 марта. Поэтому за месяц на одно сочетание измерений возможна только одна запись, вторая её заменит. Если нужны изменения внутри месяца, периодичность выбирают мельче.

  5. #oc_info_reg5 / 5
    Зачем у независимого регистра сведений нужен менеджер записи?
    A)Работать с одной записью по ключу
    B)Чтобы записывать сразу много записей
    C)Чтобы блокировать регистр целиком
    D)Чтобы хранить историю изменений записи
    показать ответ и разбор
    +A)Работать с одной записью по ключу

    // разбор: Менеджер записи работает с одной записью: заполнить ключ, Прочитать(), изменить ресурсы, Записать() или Удалить(). Массовую запись делают набором записей с отбором. Менеджер есть только у независимых регистров сведений: подчинённые пишутся движениями регистратора.

дальше

Теорию прочитал. Навык ставится повторением

В Сеньорчике эта подтема идёт в ежедневных сессиях: движок возвращает её, пока ответы не станут уверенными, и ведёт прогресс отдельно по каждой подтеме. Теория внутри тоже бесплатна, бесплатная часть практики — одна сессия дня в сутки.