Регистр сведений в 1С — прикладной объект конфигурации платформы 1С:Предприятие 8.3, аналог таблицы реляционной базы данных с управляемым составным первичным ключом. В отличие от справочника, ключ задаёт разработчик явно — через набор измерений. Объект хранит условно-постоянные данные: курсы валют, цены, настройки пользователей, тарифы. Одна запись соответствует одной уникальной комбинации значений измерений.
Если справочник хранит объекты — товары, контрагентов, сотрудников, — то регистр сведений хранит характеристики этих объектов в разных разрезах. Цена товара по типу цен, курс валюты на дату, лимит по договору — всё это данные для регистра.
Сделайте следующий шаг в карьере
Подберите обучение, которое поможет освоить новые компетенции
Ключевые отличия от близких объектов платформы:
Регистр сведений выбирают, когда нужно хранить значение в разрезе нескольких параметров и, возможно, с историей изменений. Если параметр один и он постоянен — достаточно константы.
Каждая запись состоит из трёх типов полей. Измерения образуют составной первичный ключ: система управления базами данных (СУБД) строит по ним индекс автоматически. Ресурсы — хранимые значения в разрезе этого ключа. Реквизиты — вспомогательные колонки, не влияющие на уникальность.
| Тип поля |
Роль в записи |
Примеры |
Влияние на ключ |
|---|---|---|---|
| Измерение | Часть первичного ключа | Валюта, Номенклатура, Сотрудник | Обязательно входит |
| Ресурс | Хранимое значение | Курс, Цена, ПлановоеНачисление | Не входит |
| Реквизит | Вспомогательная информация | Комментарий, Ответственный | Не входит |
Порядок измерений влияет на производительность: СУБД строит индекс в заданной последовательности. Измерение, по которому запросы фильтруются чаще всего, ставьте первым. Лишние измерения раздувают таблицу и замедляют запись.
Типичные случаи из реальных конфигураций:
Если нужна история изменений — выбирайте периодический вид; если значение статично — непериодический.
Регистры делятся по двум независимым основаниям: по отношению к регистратору и по периодичности. Это разные оси — любой вид из одной оси сочетается с любым из другой. Выбор вида определяет структуру таблицы в СУБД и синтаксис программной работы.
| Непериодический |
Периодический |
|
|---|---|---|
| Независимый | Настройки, соответствия объектов | Курсы валют, тарифы |
| Подчинённый | Используется редко | Цены с привязкой к документу |
Независимый регистр принимает записи напрямую, без привязки к документу. Удобен для справочных данных, которые редактируют вручную: настройки, курсы, лимиты.
Подчинённый регистр создаёт записи при проведении документа-регистратора. При откате проведения записи удаляются автоматически. В коде обязателен отбор по регистратору:
Набор.Отбор.Регистратор.Установить(СсылкаНаДокумент);
| Характеристика |
Независимый |
Подчинённый |
|---|---|---|
| Создание записей | Напрямую | При проведении документа |
| Удаление при откате | Не затрагивается | Автоматически |
| Типичное применение | Курсы, настройки | Цены по документам |
Периодический регистр включает дату в состав первичного ключа — так хранится история изменений. Для него доступны виртуальные таблицы срезов. Периодичность «по позиции регистратора» усложняет запросы срезов — применяйте только при явной бизнес-необходимости.
Непериодический регистр хранит одну запись на набор измерений, без истории. Не требует виртуальных таблиц и работает быстрее при статичных данных.
Правило выбора: данные меняются во времени → периодический; значение постоянно → непериодический.

Виртуальные таблицы — механизм платформы для получения актуальных значений из периодического регистра сведений. Физически в СУБД их нет: платформа собирает данные в момент запроса.
Типичная ошибка — передавать условие отбора в блок ГДЕ вместо параметров таблицы:
// Неверно — полное сканирование таблицы:
ВЫБРАТЬ * ИЗ РегистрСведений.КурсыВалют.СрезПоследних()
ГДЕ Валюта = &Валюта
// Верно — условие внутри параметров виртуальной таблицы:
ВЫБРАТЬ * ИЗ РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта)
При ошибочном подходе платформа сначала загружает всю таблицу, затем фильтрует результат. На больших объёмах это заметно снижает производительность.
Таблица итогов хранит предрассчитанные срезы и ускоряет запросы СрезПоследних — но нагружает каждую запись в регистр. Включайте её при частых срезах на больших объёмах; для небольших регистров это лишняя нагрузка.

Регистры сведений доступны в двух режимах: в Конфигураторе — для разработчика, и в режиме предприятия — для пользователя. Путь навигации в каждом случае свой.
Откройте Конфигуратор → разверните дерево конфигурации → раздел «Регистры сведений». Здесь видны все регистры текущей конфигурации.
В конфигурации 1С:Зарплата и управление персоналом (ЗУП) регистры сведений хранят плановые начисления, графики работы сотрудников, значения расчётных показателей.
Путь не отличается от других конфигураций: Конфигуратор ЗУП → дерево конфигурации → «Регистры сведений». Для быстрого поиска по имени используйте Ctrl+F в дереве.
Встроенный язык 1С (BSL) предоставляет два объекта для работы с данными: Менеджер записи — для операций с одной записью, и Набор записей — для групповых операций. При массовых вставках или удалениях набор записей работает быстрее за счёт групповой отправки данных в СУБД.
Через Менеджер записи — удобно для одиночной записи:
// Создаём менеджер записи регистра ЦеныНоменклатуры
Пора сменить профессию? Начните с понятного плана
Подберите программу под ваш опыт, цели и желаемый формат занятости
МенеджерЗаписи = РегистрыСведений.ЦеныНоменклатуры.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Период = ТекущаяДата();
МенеджерЗаписи.Номенклатура = СсылкаНаТовар;
МенеджерЗаписи.ТипЦены = СсылкаНаТипЦены;
МенеджерЗаписи.Цена = 1500;
МенеджерЗаписи.Записать();
Через Набор записей — предпочтительно при записи нескольких строк:
НаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей();
НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Период = ТекущаяДата();
НоваяЗапись.Номенклатура = СсылкаНаТовар;
НоваяЗапись.ТипЦены = СсылкаНаТипЦены;
НоваяЗапись.Цена = 1500;
НаборЗаписей.Записать();
Удаление реализуется через запись пустого набора с отбором. Пустой набор при записи эквивалентен удалению всех строк, попавших под отбор:
НаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей();
// Устанавливаем отбор по измерению
НаборЗаписей.Отбор.Номенклатура.Установить(СсылкаНаТовар);
// Читаем текущие записи, очищаем и записываем пустой набор
НаборЗаписей.Прочитать();
НаборЗаписей.Очистить();
НаборЗаписей.Записать();
При вызове метода Записать() доступны три режима. Выбор влияет как на логику, так и на производительность:
| Режим |
Что делает |
Когда применять |
Риски |
|---|---|---|---|
| С замещением | Удаляет старые записи с этим отбором, пишет новые | По умолчанию; обновление данных | Удалит записи параллельного потока |
| Без замещения | Проверяет дубли, добавляет только новые | Параллельная запись | Немного медленнее |
| Без проверок | Пишет напрямую, без проверки уникальности | Пакетная загрузка с гарантированно уникальными данными | Ошибку дубля выдаёт СУБД — труднее диагностировать |
Для независимого регистра набор записей не требует отбора по регистратору. Для подчинённого — Отбор.Регистратор.Установить(Ссылка) обязателен: без него запись уйдёт в неправильный набор.
Хотите освоить программирование на платформе 1С с нуля? В ProfiFuture можно пройти обучение за 1,5 месяца с господдержкой — 75% стоимости компенсируется образовательной квотой. Смотрите программу 1С программист и сделайте первый шаг к новой специальности.
Регистр сведений хранит актуальное значение на дату: курс, цену, настройку. Регистр накопления фиксирует движения и рассчитывает остатки и обороты — записи создаются только через документы. Нужны «суммы оборотов» — выбирайте регистр накопления; нужно «значение на дату» — регистр сведений.
Периодический — когда значение меняется во времени и нужна история: курсы валют, цены, тарифы. Непериодический — когда значение статично: настройки, соответствия объектов. Непериодический работает быстрее: не требует виртуальных таблиц срезов.
Да. Регистр без измерений хранит ровно одну запись — ключ пустой. По функции это аналог объекта «Константа» в 1С, но гибче: в одном регистре через несколько ресурсов можно сгруппировать связанные настройки.
Измерение, по которому запросы фильтруются чаще всего, ставьте первым — СУБД строит индекс в порядке измерений. Для регистра цен: если большинство запросов начинается с Номенклатуры, порядок [Номенклатура, ТипЦены]. Неверный порядок замедляет выборку при больших объёмах данных.
Таблица итогов хранит предрассчитанные срезы для периодического регистра, ускоряя запросы СрезПоследних. Обратная сторона — дополнительная нагрузка при каждой записи. Включайте при частых срезах на больших объёмах; для небольших регистров это избыточно.
На уровне СУБД — обе структуры просто колонки таблицы. Семантически: ресурс — основное хранимое значение в разрезе измерений (Цена, Курс); реквизит — вспомогательная информация (Комментарий, Ответственный), не участвующая в уникальности записи.
Платформа 1С не проверяет уникальность — данные уходят напрямую в СУБД. При нарушении уникальности ошибку выдаёт сама база данных: SQL-ошибка вместо привычного сообщения 1С. Диагностировать сложнее. Используйте режим только при гарантированной уникальности входных данных.
Условия по измерениям передавайте в параметрах виртуальной таблицы, не в блоке ГДЕ. Неверно: СрезПоследних() ГДЕ Валюта = &Валюта. Верно: СрезПоследних(&Дата, Валюта = &Валюта). При ошибочном подходе платформа загружает всю таблицу, затем фильтрует — полное сканирование.
Менеджер записи удобен для изменения одной конкретной строки. Набор записей предпочтителен при массовых операциях — работает быстрее за счёт групповой записи. Для подчинённого регистра у набора обязательно указывают отбор по регистратору.
Справочник получает единственный автоматический ключ-ссылку при создании. Регистр сведений позволяет задать составной первичный ключ из нескольких измерений вручную. Справочник — для именованных объектов (товары, контрагенты); регистр сведений — для значений в разрезе нескольких параметров (цена товара по типу цен и дате).
Превратите интерес к теме в новую профессию
Оставьте заявку — поможем выбрать программу и расскажем об условиях обучения
Оставить заявку