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