К статье
Практический материал

Разработка и Конфигурация · 9 мин

Для чего нужен регистр сведений в 1С и как его использовать

Зачем нужен регистр сведений в 1С: хранение цен, курсов, адресов. Виды периодичности, отличие от справочников, типичные ошибки и примеры использования.

Регистр сведений — это объект конфигурации 1С, предназначенный для хранения информации, привязанной к одному или нескольким измерениям, без движения количественных остатков. Проще говоря, это таблица, где по ключу (например, «номенклатура» или «сотрудник») хранится значение: цена, курс валюты, адрес, ставка, график работы. Никаких «приходов» и «расходов» — только актуальное или историческое значение по ключу.

Типичные примеры из типовых конфигураций: «Цены номенклатуры», «Курсы валют», «Кадровая история сотрудников», «Адреса контрагентов», «Графики работы». Все эти данные объединяет одно свойство: они не образуют остатка, а просто описывают состояние объекта на момент времени или в целом.

Понимание того, когда использовать регистр сведений, а когда справочник или регистр накопления, — базовый навык разработчика и внедренца 1С. Ошибка выбора приводит к дублированию данных, медленным запросам и невозможности получить историю изменений. Ниже разобраны виды регистров, критерии выбора, типовые сценарии и ограничения.

Что такое регистр сведений и как он устроен

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

Измерения формируют уникальный ключ записи. Нельзя создать две записи с одинаковым набором измерений (и периодом, если регистр периодический) — система выдаст ошибку. Это встроенный механизм защиты от дублей, которого нет у справочников.

Виды регистров сведений: периодичность и подчинение

По периодичности регистры делятся на непериодические и периодические. Непериодический хранит одно актуальное значение по ключу — например, адрес контрагента. Периодический хранит историю: курс валюты на каждую дату, цену с датой начала действия. Периодичность задаётся в свойствах: «в пределах секунды», дня, месяца и т.д.

По режиму записи различают независимые регистры и подчинённые регистратору. Независимый заполняется вручную или кодом. Подчинённый пишется только документом-регистратором — так работает кадровая история в ЗУП: записи создаёт документ «Кадровый перевод», и удалить их можно только через него.

Сравнение вариантов

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

Актуальные значения без истории: адреса, настройки обмена. История не сохраняется.

Периодический независимый

Курсы валют, цены с датой действия. Позволяет получить значение на любую дату через срез последних.

Подчинённый регистратору

Данные, которые должны меняться только документами: кадровая история, назначение скидок. Ручная правка невозможна.

Когда выбирать регистр сведений, а не справочник или регистр накопления

Главный критерий — природа данных. Если значение привязано к объекту и не накапливается, нужен регистр сведений. Если нужны остатки и обороты (склад, деньги, резервы) — регистр накопления. Если объект самостоятелен и имеет собственную аналитику (контрагент, договор) — справочник.

Частая ситуация: разработчик добавляет реквизит «Цена» в справочник «Номенклатура». Это работает, пока цена одна. Как только появляются типы цен (розничная, оптовая, закупочная) или нужна история изменений, реквизит приходится переносить в регистр сведений. Правильное решение сразу экономит миграцию данных.

Маршрут решения

Как выбрать действие

Нужно одно значение по объекту без историиНепериодический регистр сведений или реквизит справочника
Нужна история значения по датамПериодический регистр сведений
Значение меняется только документамиРегистр сведений, подчинённый регистратору
Нужны остатки и оборотыРегистр накопления, а не сведений

Типовые сценарии использования

Ценообразование. Регистр «Цены номенклатуры» с измерениями «Номенклатура» и «ВидЦены». Документ «Установка цен» пишет записи, отчёты и продажи читают срез последних на дату документа.

Курсы валют. Периодический регистр с измерением «Валюта» и ресурсами «Курс», «Кратность». Загружается автоматически обработкой, используется при пересчёте сумм в документах на дату операции.

Настройки и соответствия. Регистры «Соответствие номенклатуры поставщика», «Настройки обмена данными», «Шаблоны наименований» — удобный способ хранить пары «объект → значение» без создания лишних справочников.

Получение актуального значения: срез последних

Для периодических регистров в запросах используется виртуальная таблица «СрезПоследних», которая возвращает значение на указанную дату. Это стандартный способ получить цену или курс на момент документа. Срез первых, наоборот, возвращает самое раннее значение после даты.

Как создать и заполнить регистр сведений

В конфигураторе регистр добавляется через ветку «Регистры сведений»: задаются измерения, ресурсы, периодичность и режим записи. Для редактирования вручную создаётся форма записи и форма списка — их генерирует конструктор.

Программно записи создаются через менеджер записи или набор записей. Чтение актуального значения — методом «ПолучитьПоследнее» или запросом к срезу последних.

Порядок действий
  1. 1
    Создайте регистр сведений в конфигураторе, задайте измерения и ресурсы
  2. 2
    Выберите периодичность и режим записи (независимый или подчинённый регистратору)
  3. 3
    Сгенерируйте формы списка и записи, добавьте регистр в подсистему
  4. 4
    Заполните данными вручную или программно через набор записей
  5. 5
    Проверьте чтение: откройте список регистра и выполните срез последних в консоли запросов
bsl
Запрос = Новый Запрос("ВЫБРАТЬ * ИЗ РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта)"); Запрос.УстановитьПараметр("Дата", ТекущаяДатаСеанса());

Типичные ошибки и ограничения

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

Вторая — избыточные измерения. Каждое измерение входит в уникальный индекс; лишние измерения раздувают таблицу и усложняют записи. Данные, не участвующие в отборе, выносите в реквизиты.

Третья — изменение структуры регистра на рабочей базе без анализа. Удаление измерения приведёт к потере данных при реструктуризации. Перед обновлением делайте резервную копию и тестируйте на копии базы.

Типичные ошибки
01
Хранение остатков в регистре сведений — нет механизма сложения движений, отчёты считают неверно
02
Лишние измерения — раздувают индекс и замедляют запись
03
Ручная правка регистра, подчинённого регистратору, — невозможна; попытки обойти ломают связь с документами
04
Запрос ко всей таблице периодического регистра вместо среза последних — медленно и избыточно
Контрольные точки

Как проверить результат

Откройте список регистра в режиме предприятия
Норма

Записи видны, отборы по измерениям работают

Тревожный признак

Регистр пуст или недоступен пользователю — проверьте права и подсистемы

Выполните срез последних на контрольную дату
Норма

Возвращается ожидаемое значение на дату

Тревожный признак

Пустой результат — проверьте периодичность и даты записей

Попробуйте создать дубль записи с теми же измерениями
Норма

Система выдаёт ошибку уникальности

Тревожный признак

Дубли создаются — проверьте состав измерений

Частые вопросы

Чем регистр сведений отличается от регистра накопления?

Регистр накопления хранит движения (приход/расход) и умеет вычислять остатки и обороты. Регистр сведений хранит сами значения по ключу и не суммирует ничего. Склад, деньги, взаиморасчёты — накопление; цены, курсы, адреса — сведения.

Можно ли редактировать регистр сведений вручную?

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

Как получить значение на конкретную дату?

Используйте виртуальную таблицу «СрезПоследних» с параметром даты в запросе или метод «ПолучитьПоследнее» менеджера регистра. Это работает только для периодических регистров.

Сколько измерений можно добавить в регистр?

Технически ограничение большое, но практически стоит ограничиваться 2–4 измерениями: каждое входит в уникальный индекс и влияет на скорость записи и объём хранения.

Что будет с данными при изменении структуры регистра?

При добавлении реквизитов данные сохранятся. При удалении измерений или изменении их типов реструктуризация может удалить или исказить записи. Всегда делайте копию базы перед обновлением конфигурации.

Когда справочник лучше регистра сведений?

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

Итог

Что важно запомнить

Регистр сведений хранит значения по ключу-измерению без остатков: цены, курсы, адреса, настройки. Выбирайте периодичность по необходимости истории, режим записи — по источнику данных, а состав измерений держите минимальным.