Регистры 1С
Регистры 1С — это специализированные объекты метаданных в платформе «1С:Предприятие», предназначенные для хранения и обработки структурированных наборов данных, как правило, числовых показателей или сведений о состоянии учётных объектов. В отличие от справочников и документов, регистры не предназначены для хранения произвольной текстовой информации, а ориентированы на накопление, агрегацию и быстрый доступ к данным, используемым в расчётах, отчётах и аналитике. Регистры являются ключевым механизмом для реализации бухгалтерского, управленческого, оперативного и других видов учёта в системе «1С:Предприятие».
История и назначение
Регистры как объект метаданных появились в платформе «1С:Предприятие» версии 7.7, где они назывались «регистры бухгалтерии» и «регистры оперативного учёта». В версии 8.0 концепция была существенно переработана: регистры стали более гибкими, появились различные типы (накопления, сведений, расчёта, бухгалтерии), а также возможность создания произвольных измерений, ресурсов и реквизитов. Основное назначение регистров — обеспечить многомерное хранение данных с возможностью быстрой выборки по различным комбинациям аналитик (измерений) и временным периодам. Это позволяет эффективно решать задачи складского учёта, взаиморасчётов, планирования, расчёта зарплаты и формирования бухгалтерских проводок.
Классификация регистров
В платформе «1С:Предприятие» выделяют четыре основных типа регистров, каждый из которых имеет свою структуру и область применения.
Регистры накопления
Регистры накопления предназначены для хранения числовых показателей, изменяющихся во времени. Они поддерживают два режима записи: остатки и обороты. В режиме остатков регистр хранит текущее состояние (остаток) показателя, а записи (движения) изменяют этот остаток. В режиме оборотов регистр накапливает суммы оборотов за период. Регистры накопления широко используются для учёта товаров на складах (остатки по номенклатуре и складам), взаиморасчётов с контрагентами (долги, авансы), денежных средств (касса, банк). Пример: регистр «ТоварыНаСкладах» с измерениями «Номенклатура» и «Склад» и ресурсом «Количество».
Регистры сведений
Регистры сведений предназначены для хранения произвольной информации, которая не является числовым показателем, но может изменяться во времени или зависеть от комбинации значений измерений. Они делятся на периодические (хранят историю изменений) и непериодические (хранят актуальное состояние). Регистры сведений используются для хранения курсов валют, цен номенклатуры, контактной информации, настроек учётной политики, графиков работы. Пример: регистр «КурсыВалют» с измерением «Валюта» и ресурсами «Курс» и «Кратность», где каждая запись имеет дату (период).
Регистры расчёта
Регистры расчёта являются специализированным типом, используемым в подсистеме расчёта зарплаты и кадрового учёта. Они предназначены для хранения результатов расчётов, выполненных по определённым алгоритмам (видам расчёта). Регистры расчёта поддерживают механизмы вытеснения (один вид расчёта может вытеснять другой) и взаимозависимости. Пример: регистр «Начисления» с измерениями «Сотрудник» и «ВидРасчёта» и ресурсами «Сумма» и «Результат».
Регистры бухгалтерии
Регистры бухгалтерии предназначены для хранения бухгалтерских проводок. Они имеют специальную структуру, включающую обязательные реквизиты: счёт дебета, счёт кредита, сумму, а также могут содержать аналитику (субконто) по каждому счёту. Регистры бухгалтерии позволяют формировать оборотно-сальдовые ведомости, главную книгу, карточки счетов. Пример: регистр «Хозрасчетный» с измерениями «СчетДт», «СчетКт», «СубконтоДт1», «СубконтоКт1» и ресурсами «Сумма».
Структура регистра
Каждый регистр в «1С:Предприятие» имеет строго определённую структуру, состоящую из нескольких типов полей.
Измерения
Измерения — это аналитические разрезы, по которым хранятся данные. Например, для регистра остатков товаров измерениями могут быть «Номенклатура» и «Склад». Комбинация значений измерений определяет уникальную запись в регистре. Измерения могут быть обязательными или необязательными.
Ресурсы
Ресурсы — это числовые (или реже строковые) поля, которые хранят собственно данные. Для регистра остатков ресурсом является «Количество», для регистра взаиморасчётов — «Сумма». Ресурсы могут быть суммируемыми (для регистров накопления) или несуммируемыми (для регистров сведений).
Реквизиты
Реквизиты — это дополнительные поля, которые не участвуют в аналитике, но хранят сопутствующую информацию. Например, для регистра сведений о ценах реквизитом может быть «Комментарий» или «Ответственный». Реквизиты не влияют на уникальность записи.
Период (для периодических регистров)
Для периодических регистров сведений и регистров накопления обязательным полем является «Период» (дата и время), который определяет момент, когда запись была актуальна или когда произошло движение.
Принципы работы с регистрами
Работа с регистрами в коде (на встроенном языке «1С») осуществляется через объекты «НаборЗаписей» и «Запись». Основные операции:
- Запись движений: при проведении документа (например, «Реализация товаров») формируются записи в регистре накопления, которые увеличивают или уменьшают остатки по соответствующим измерениям.
- Чтение остатков и оборотов: для регистров накопления доступны виртуальные таблицы «Остатки», «Обороты» и «ОстаткиИОбороты», которые позволяют получать данные за определённый период.
- Выборка по измерениям: запросы к регистрам могут содержать условия по значениям измерений, что позволяет получать данные по конкретному товару, складу, контрагенту.
- Периодическая выборка: для регистров сведений доступна выборка на определённую дату (срез последних) или за период.
Применение в типовых конфигурациях
Регистры являются основой учётных механизмов практически во всех типовых конфигурациях «1С»:
- «1С:Бухгалтерия предприятия»: регистры бухгалтерии (проводки), регистры накопления (НДС, взаиморасчёты), регистры сведений (курсы валют, ставки налогов).
- «1С:Управление торговлей»: регистры накопления (остатки товаров, взаиморасчёты, заказы), регистры сведений (цены, скидки).
- «1С:Зарплата и управление персоналом»: регистры расчёта (начисления, удержания), регистры сведений (кадровые данные, графики).
- «1С:Управление нашей фирмой»: регистры накопления (денежные средства, взаиморасчёты), регистры сведений (контактная информация).
Производительность и оптимизация
Регистры являются одними из наиболее нагруженных объектов в системе, особенно в конфигурациях с большим объёмом данных. Для оптимизации работы с регистрами используются следующие подходы:
- Индексация измерений: платформа автоматически создаёт индексы по измерениям, что ускоряет выборку.
- Использование виртуальных таблиц: запросы к регистрам накопления через виртуальные таблицы «Остатки» и «Обороты» оптимизированы для быстрого получения агрегированных данных.
- Ограничение количества измерений: избыточное количество измерений (более 5–7) может снижать производительность записи и чтения.
- Периодическая переиндексация: в некоторых версиях платформы рекомендуется выполнять переиндексацию регистров при значительном росте объёма данных.
Интересные факты
- Регистры накопления в «1С:Предприятие» реализуют так называемый «многомерный куб» (OLAP-куб) на уровне метаданных, что позволяет выполнять аналитические запросы без использования внешних систем.
- В версии 8.3 появилась возможность создавать регистры с произвольными типами ресурсов (не только числовыми), что расширило их применение.
- Регистры расчёта являются уникальной особенностью платформы «1С» и не имеют прямых аналогов в других ERP-системах.
- В конфигурациях с высокой нагрузкой (например, в крупных торговых сетях) количество записей в регистрах может достигать сотен миллионов, что требует использования специализированных методов хранения и индексации.
Источники
- Официальная документация «1С:Предприятие 8.3» — раздел «Регистры».
- Книга «Профессиональная разработка в системе 1С:Предприятие 8» (автор М. Г. Радченко).
- Статья «Регистры накопления: устройство и применение» на портале «Инфостарт».
- Материалы курса «Метаданные 1С» от фирмы «1С».
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →