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

Справочники и Данные · 11 мин

Чем отличается справочник от регистра в 1С

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

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

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

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

Что такое справочник и для чего он нужен

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

Ключевые свойства справочников:

  • элементы существуют независимо от документов — товар в справочнике есть, даже если по нему ни разу не было движений;
  • поддерживают иерархию (группы и элементы) и подчинение (например, «Договоры» подчинены «Контрагентам»);
  • имеют реквизиты и табличные части для описания свойств объекта;
  • на элементы ссылаются документы и регистры — это основа целостности данных.

Важно понимать: справочник не хранит историю изменений реквизитов. Если вы поменяли ставку НДС или наименование в карточке товара, старое значение потеряно — документы прошлых периодов при перепроведении возьмут уже новое значение. Для данных, зависящих от времени, нужен регистр.

Что такое регистр и какие виды регистров существуют

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

Регистр сведений

Хранит значения в разрезе измерений, опционально — с учётом периода. Примеры: «Цены номенклатуры» (измерения: номенклатура, вид цены; периодичность — в пределах секунды или дня), «Курсы валют», «Штрихкоды», «ФИО физических лиц». Периодический регистр сведений позволяет получить значение на любую дату через виртуальные таблицы «СрезПоследних» и «СрезПервых».

Регистр накопления

Хранит движения и итоги: остатки (вид «Остатки») или обороты (вид «Обороты»). Примеры: «Товары на складах», «Взаиморасчёты с контрагентами», «Продажи». Записи создаются только документами-регистраторами при проведении; удалить или отредактировать их вручную нельзя — только через документ.

Также существуют регистры бухгалтерии (проводки по плану счетов) и регистры расчёта (начисления по плану видов расчёта) — они используются в соответствующих подсистемах и по логике ближе к регистрам накопления: записи порождаются документами.

Ключевые отличия справочника от регистра

КритерийСправочникРегистр
Что хранитСамостоятельные объекты и их свойстваЗначения и движения в разрезе измерений
Зависимость от документовНе зависит, существует сам по себеСведения — как правило, независимы; накопления — только через регистратор
Учёт времениНет истории, хранится текущее значениеПериодичность (сведения) или движения по датам (накопления)
Идентификация записиУникальный код и внутренняя ссылкаКомбинация измерений (+ период, + регистратор)
Иерархия и подчинениеПоддерживаютсяОтсутствуют
Типичные примерыНоменклатура, контрагенты, складыЦены, курсы валют, остатки, взаиморасчёты

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

Как выбрать: справочник или регистр

При проектировании доработки задайте себе три вопроса. Первый: данные описывают объект или состояние объекта? Описание (цвет, артикул, ИНН) — в справочник; состояние (цена на дату, остаток, задолженность) — в регистр. Второй: нужна ли история изменений? Если значение должно быть известно «на дату», справочник не подходит в принципе. Третий: кто создаёт данные — пользователь вручную или документы при проведении? Ручной ввод разрозненных значений в разрезе измерений — регистр сведений; движения по документам — регистр накопления.

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

Как выбрать объект метаданных

Нужно хранить перечень объектов с постоянными свойствамиСоздавайте справочник
Нужно значение на дату (цена, курс, статус, ответственный)Используйте периодический регистр сведений
Нужны остатки или обороты, формируемые документамиИспользуйте регистр накопления
Значение зависит от нескольких разрезов сразу (товар + склад + организация)Регистр с соответствующими измерениями, а не реквизиты справочника

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

Практические примеры из типовых конфигураций

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

Второй пример — остатки. Справочник «Склады» хранит только список складов и их свойства (адрес, ответственный). Фактическое количество товара хранится в регистре накопления «Товары на складах» в разрезе измерений «Номенклатура + Склад». Отчёт «Остатки товаров» строится по виртуальной таблице остатков регистра, а не по справочникам.

Третий пример — контрагенты и взаиморасчёты. Справочник «Контрагенты» хранит ИНН, адреса, банковские реквизиты. Задолженность покупателя — это обороты и остатки регистра накопления «Взаиморасчёты», который заполняется документами реализации и оплаты. Добавлять «долг» реквизитом в карточку контрагента — прямой путь к некорректным данным.

Быстрый способ понять, где лежат данные в типовой конфигурации: откройте отчёт и посмотрите его запрос через консоль запросов или схему компоновки. Если данные берутся из таблиц вида «РегистрСведений» или «РегистрНакопления» — это регистр; «Справочник» — соответственно, справочник.
ПЗ
Практическое замечание

Как проверить, где хранятся данные, и не ошибиться при доработке

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

Разработчику перед доработкой стоит выполнить такую последовательность:

Порядок действий при доработке
  1. 1
    Определите природу данных: объект, значение на дату или движение по документу
  2. 2
    Проверьте, нет ли готового типового регистра или справочника для этой задачи
  3. 3
    Выберите вид объекта и задайте измерения по принципу «в разрезе чего нужны данные»
  4. 4
    Сделайте резервную копию базы и протестируйте на копии
  5. 5
    Проверьте отчётом, что данные пишутся и читаются в нужных разрезах
Контрольные точки

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

Запись в периодическом регистре сведений
Норма

Срез последних на нужную дату возвращает корректное значение

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

Значение не находится или перезаписывает прошлые периоды

Движения регистра накопления
Норма

Остаток по отчёту совпадает с суммой движений документов

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

Есть записи без регистратора или остаток не сходится

Справочник
Норма

Элемент существует без документов, реквизиты заполнены

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

В реквизитах справочника хранятся остатки или цены

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

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

Ещё одно ограничение: производительность. Запрос к справочнику — это чтение одной таблицы, а запрос к регистру накопления часто идёт через виртуальные таблицы остатков и оборотов. Неправильно спроектированные измерения (например, хранение уникального номера накладной в измерении) приводят к тому, что итоги становятся бесполезными, а проведение документов замедляется.

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

Итог

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

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

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

Можно ли хранить цену товара в справочнике «Номенклатура»?

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

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

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

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

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

Как узнать, в каком регистре или справочнике хранится нужная информация?

Откройте форму объекта и посмотрите путь к данным поля, либо изучите запрос отчёта через консоль запросов. Имена таблиц вида «Справочник.Номенклатура» и «РегистрСведений.ЦеныНоменклатуры» прямо указывают тип объекта.

Почему в справочнике нельзя посмотреть значение реквизита на прошлую дату?

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

Что выбрать для хранения статуса заказа: реквизит, справочник или регистр?

Если статус один и история не нужна — достаточно реквизита документа. Если нужны история смены статусов, даты и ответственные — используйте периодический регистр сведений с измерением «Заказ». Отдельный справочник статусов при этом хранит только перечень возможных значений.