Открыть сервис

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

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

История возникновения

Понятие «регистр сведений» в его современном понимании было введено в платформе «1С:Предприятие» версии 7.7 (1999 год) как альтернатива традиционным таблицам баз данных для задач оперативного учёта. До этого в версии 7.0 и более ранних системах учётные данные хранились в плоских таблицах, что приводило к дублированию информации и сложностям при построении отчётов за разные периоды. Разработчики компании «1С» (Россия) предложили архитектуру, основанную на измерениях, ресурсах и реквизитах, которая позволяла эффективно хранить историю изменений значений и быстро получать срезы данных на любую дату. В версии 8.0 (2003 год) механизм регистров сведений был значительно расширен: добавлена поддержка периодичности, подчинённости регистраторам, а также возможность создания регистров сведений независимых (не привязанных к документам) и подчинённых (связанных с конкретными документами). С тех пор регистры сведений стали неотъемлемой частью типовых конфигураций «1С» — от «Бухгалтерии предприятия» до «Управления торговлей» и «Зарплаты и управления персоналом».

Классификация регистров сведений

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

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

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

По способу записи

  • Независимые регистры сведений — не привязаны к документам-регистраторам. Запись в них может производиться напрямую из программного кода или вручную. Используются для хранения справочной информации, которая не требует документирования (например, курсы валют).
  • Подчинённые регистры сведений — привязаны к конкретным документам (регистраторам). Запись в такой регистр происходит автоматически при проведении документа. Это обеспечивает согласованность данных: удаление или изменение документа приводит к автоматической корректировке записей регистра.

По режиму записи

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

Структура и устройство

Регистр сведений состоит из следующих элементов:

  • Измерения — аналитические разрезы, по которым хранятся данные. Например, для регистра «Курсы валют» измерениями могут быть «Валюта» (ссылка на справочник «Валюты») и «Период» (дата). Измерения определяют уникальность записи: комбинация значений измерений не должна повторяться (для периодических регистров — в пределах периода).
  • Ресурсы — числовые или строковые значения, которые собственно и хранятся. Для регистра «Курсы валют» ресурсом будет «Курс» (число). Ресурсы могут быть суммируемыми (например, количество товара) или несуммируемыми (например, курс валюты).
  • Реквизиты — дополнительные поля, которые не являются ни измерениями, ни ресурсами, но несут вспомогательную информацию. Например, для регистра «Цены номенклатуры» реквизитом может быть «Тип цен» (строка) или «Комментарий». Реквизиты не участвуют в формировании уникальности записи.

Физически регистр сведений в базе данных (например, в СУБД PostgreSQL или MS SQL Server) реализуется как таблица, где измерения и реквизиты являются полями, а ресурсы — полями с числовыми или строковыми типами. Для периодических регистров добавляется поле «Период» (дата/время), а для подчинённых — поле «Регистратор» (ссылка на документ).

Применение

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

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

Примеры

  1. Регистр «Курсы валют» (независимый, периодический, с периодичностью «День»):
  • Измерения: Валюта (справочник «Валюты»), Период (дата).
  • Ресурсы: Курс (число), Кратность (число).
  • Реквизиты: Источник (строка).
  • Позволяет получить курс доллара на 1 января 2023 года или на любую другую дату.
  1. Регистр «Цены номенклатуры» (подчинённый документу «Установка цен номенклатуры», периодический, с периодичностью «День»):
  • Измерения: Номенклатура (справочник «Номенклатура»), Тип цен (справочник «Типы цен»), Период (дата).
  • Ресурсы: Цена (число).
  • Реквизиты: Валюта (справочник «Валюты»).
  • При проведении документа «Установка цен номенклатуры» в регистр записываются новые цены, и система может показать, какая цена была на товар в прошлом месяце.
  1. Регистр «Ставки НДС» (независимый, периодический, с периодичностью «Год»):
  • Измерения: Период (год).
  • Ресурсы: Ставка (число).
  • Реквизиты: Примечание (строка).
  • Хранит ставки НДС (20%, 10%, 0%) за разные годы, что используется при расчёте налогов в документах.

Интересные факты

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

Критика и ограничения

Несмотря на широкое распространение, регистры сведений имеют ряд недостатков:

  • Избыточность данных — при частом изменении значений (например, ежедневном обновлении курсов валют) объём хранимых данных может быстро расти, что требует оптимизации запросов и индексов.
  • Сложность при ручном редактировании — в подчинённых регистрах изменение записей возможно только через документы-регистраторы, что усложняет администрирование.
  • Ограниченная поддержка транзакций — в некоторых реализациях (особенно в старых версиях «1С») при массовой записи в регистр возможны конфликты блокировок, что требует осторожности при разработке параллельных операций.
  • Необходимость чёткого проектирования — неправильный выбор измерений или периодичности может привести к дублированию записей или невозможности получить нужный срез данных.

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

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →