Регистры накопления – один из ключевых инструментов платформы 1С:Предприятие, предназначенный для хранения и обработки числовой информации в разрезе различных измерений. Они играют важнейшую роль в построении учетных систем, обеспечивая эффективное хранение и быстрый доступ к данным.
Основные понятия и назначение регистров накопления
Сперва давайте “на пальцах” разберем, что такое регистры накопления.
Регистры накопления в 1С — это специальные многомерные таблицы в 1С, которые хранят информацию о числовых данных, таких как остатки товаров или финансовые обороты, разбитые по различным измерениям (например, дата, склад, номенклатура).
Они нужны, чтобы ускорить формирование отчетов и обработку данных. Например, если нужно узнать остатки товара на конкретную дату, система мгновенно берет их из регистра накопления, а не перебирает все документы за историю. Однако такая архитектура создает избыточность информации, ведь данные дублируются: они есть и в документах, и в регистрах.
Без регистров накопления работа была бы медленной, особенно при большом объеме данных. Например, при расчете продаж за год системе пришлось бы анализировать каждый документ, что заняло бы много времени. Регистры же сразу предоставляют готовые итоги, экономя ресурсы и время.
Структура регистров накопления
Каждый регистр накопления содержит:
Стандартные реквизиты
Период
Регистратор
Номер строки
Активность
В общем случае значение поля “Период” может не соответствовать дате документа. Например, при работе с документом “План продаж” могут быть внесены записи в регистр накопления о предполагаемых продажах компании с использованием различных дат.
Период, Регистратор и Номер строки создают базовый ключ уникальности для каждой записи. Т.е. в регистре физически не может существовать двух строк с одинаковым периодом, регистратором и номером строки.
Активность
Данное поле служит индикатором для платформы – учитывать ли движения конкретной строки, или же она является просто “черновиком”. В регистрах могут быть строки с выключенным признаком Активность – это означает, что они не будут влиять на учет, и не будут учтены при построении таблиц оборотов или остатков. Стандартно Активность не отображается для пользователей, т.к. это техническое поле, и пользователь сам не должен ее менять. Как правило, Активность меняется только программно.
Измерения
Измерения определяют аналитические разрезы, в которых ведется учет. Например, для учета товаров это могут быть: товар, склад, партия. Набор значений измерений вместе со стандартными реквизитами образует ключ уникальности записи в регистре.
Ресурсы
Ресурсы содержат числовые данные, которые будут накапливаться (суммироваться) при проведении документов. Например: количество, сумма, себестоимость.
Реквизиты
Реквизиты хранят дополнительную информацию, которая не участвует в накоплении. Например: серийный номер, комментарий, ответственное лицо.

Виды регистров накопления
Регистры остатков (регистры накопления с видом "Остатки")

Регистры остатков используются для учета наличия чего-либо на определенный момент времени. Например, остатки товаров на складе, остатки денежных средств, задолженности контрагентов.
Особенности:
– Поддерживают два вида движений: приход (+) и расход (-)
– Позволяют получить остаток на любой момент времени
Примеры использования:
– Учет товаров на складах
– Учет денежных средств
– Учет взаиморасчетов с контрагентами
Регистры оборотов (регистры накопления с видом "Обороты")

Регистры оборотов используются для накопления численных значений за определенный период. Они не хранят остатков, а только суммируют значения за период.
Особенности:
– Не имеют понятия прихода/расхода, только накопление
– Не позволяют получить мгновенный “срез” на определенную дату
– Оптимизированы для хранения и получения информации о суммарных значениях за период
Примеры использования:
– Учет продаж товаров
– Учет выработки сотрудников
– Статистика посещений клиентов
Виртуальные таблицы регистров накопления
Для удобного доступа к данным регистров накопления платформа 1С автоматически создает набор виртуальных таблиц. Эти таблицы не хранятся физически в базе данных, а создаются платформой “на лету” в момент обращения к ним (в запросах или средствами встроенного языка 1С). Именно виртуальные таблицы позволяют быстро извлекать нужные итоговые данные, например, такие как остатки денег в кассе или обороты продаж за месяц.
Для регистров остатков
Остатки
Эта таблица предназначена для получения только остатков по ресурсам на определенную дату. Например, если нужно узнать количество товара на складе на конец дня или сумму денег на счете, целесообразно использовать именно эту виртуальную таблицу. Остатки рассчитываются на основе всех предыдущих движений, но отображаются только итоговые значения. Это удобно, когда требуется мгновенный доступ к состоянию данных на нужный момент времени.
ОстаткиИОбороты
Данная таблица позволяет одновременно получать как остатки, так и обороты за указанный временной интервал. Для каждого ресурса будут рассчитаны показатели Начальный остаток, Приход, Расход, Конечный остаток и Оборот. Например, можно увидеть, сколько должен был клиент на начало месяца, на сколько изменилась его задолженность в течение месяца, и сколько он остался должен на конец месяца.
На базе этой виртуальной таблицы часто строятся отчеты наподобие оборотной ведомости или ведомости по движениям товаров, и т.п.
Обороты
Виртуальная таблица Обороты используется для получения информации об изменении ресурсов за определенный период. Например, она покажет, сколько товаров было продано или куплено за неделю, месяц или год.
На основе данных таблицы оборотов можно строить различные алгоритмы, например, расчет процента скидки в зависимости от объема покупок конкретного покупателя.
Для регистров оборотов
Обороты
Единствення виртуальная таблица, полностью аналогична таблице оборотов для регистра остатков (см. выше).
Агрегаты регистров накопления

Агрегаты — это специальный механизм, применяемый в оборотных регистрах накопления, который значительно ускоряет процесс формирования отчетов. Это особенно важно для крупных информационных баз, где регистры содержат сотни тысяч или даже миллионы записей. Благодаря агрегатам система может быстро предоставлять данные, минимизируя время ожидания при выполнении запросов.
Для каждого регистра можно создать несколько агрегатов. Каждый агрегат представляет собой отдельное хранилище, в котором данные регистра сгруппированы по различным измерениям (разрезам), удобным для анализа и формирования отчетов. Система автоматически анализирует, какие разрезы данных пользователи используют чаще всего, и на основе собранной статистики определяет оптимальный набор поддерживаемых агрегатов.
Благодаря использованию агрегатов аналитики и менеджеры могут легко переключаться между разными разрезами данных, получая результаты практически мгновенно. При этом система всегда работает с актуальными агрегированными данными, что гарантирует точность и достоверность отчетов. Агрегаты позволяют эффективно анализировать большие объемы информации, не теряя в скорости и удобстве работы.