4 сентября 2026

Что такое регистр накопления в 1С: виды, структура и применение

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

Разработчик настраивает регистры накопления в 1С за компьютером

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

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

image

Сделайте следующий шаг в карьере

Подберите обучение, которое поможет освоить новые компетенции

Выбрать курс

Состав объекта: измерения, ресурсы, реквизиты

Регистр накопления в 1С состоит из четырёх типов компонентов.

Компонент
Роль
Пример
Тип данных
Измерения Аналитические разрезы учёта Склад, Номенклатура СправочникСсылка
Ресурсы Числовые показатели — что накапливается Количество, Сумма Число
Реквизиты Дополнительные поля, не суммируются Номер документа Любой тип
Период Дата и время записи движения Дата
Регистратор Ссылка на документ-источник движения ДокументСсылка

Ресурсы суммируются автоматически при запросе. Реквизиты только хранятся — в агрегации не участвуют.

Виды регистров накопления в 1С: остатки и обороты

Два вида регистра имеют принципиально разную физическую модель хранения в СУБД. Выбор вида определяет, какие виртуальные таблицы будут доступны и как строится запрос.

Параметр
Остатки
Обороты
ВидДвижения Приход / Расход Отсутствует
Таблица _AccumRgT Создаётся Не создаётся
Сальдо Есть (текущий остаток) Нет
Виртуальные таблицы .Остатки, .Движения, .ОстаткиИОбороты .Обороты, .Движения
Split Totals Поддерживается Не применяется
Оптимизация _AccumRgT — итоги на начало месяца Только _AccumRg
Применение Склад, касса, взаиморасчёты Выручка, начисления
Типичная конфигурация 1С:Бухгалтерия, 1С:ERP 1С:ЗУП, 1С:ERP

Регистр накопления остатков — модель и структура

Регистр остатков хранит кумулятивное сальдо: каждое движение помечается как Приход (увеличение) или Расход (уменьшение ресурса). Физически данные распределены по трём таблицам СУБД: _AccumRg — детальные движения, _AccumRgT — агрегаты на начало каждого месяца, _AccumRgTn — буфер механизма Split Totals. При расчёте остатка на конкретную дату платформа выбирает ближайший срез из _AccumRgT и идёт вперёд (forward) или назад (rollback) — в зависимости от того, какой путь короче по числу строк. Типичные задачи: остатки на складе, денежные средства, взаиморасчёты, резервирование товара.

Регистр накопления оборотов — модель и структура

Регистр оборотов накапливает только величину изменения ресурса за период — без начального и конечного сальдо. Понятие ВидДвижения здесь отсутствует: каждая запись просто прибавляет значение к ресурсу. Физически данные хранятся только в _AccumRg — таблица _AccumRgT не создаётся. Доступные виртуальные таблицы: .Обороты и .Движения. Применяется там, где нужен объём за период: выручка, объём продаж, себестоимость в 1С:ERP, начисления в 1С:ЗУП. Выбирать регистр оборотов не стоит, если в запросе нужен остаток на текущий момент.

Для чего нужны регистры накопления в 1С

Регистры накопления — основной инструмент количественного и суммового учёта в 1С:Предприятие. Основные области применения:

  • Складской учёт — остатки товаров, резервирование: регистр Остатков по измерениям Склад + Номенклатура.
  • Финансовый учёт — денежные средства, взаиморасчёты с контрагентами: регистр Остатков.
  • Учёт продаж — выручка и объём за период: регистр Оборотов.
  • Производственный учёт — затраты и выпуск продукции: Остатки или Обороты в зависимости от задачи.
  • Себестоимость и запасы в 1С:ERP — регистры партионного учёта: ТоварыНаСкладах (Остатки), СебестоимостьТоваров (Обороты).

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

Где найти регистры накопления в 1С

В режиме разработки: Конфигуратор → дерево Метаданные → Регистры накопления. В пользовательском режиме путь зависит от конфигурации.

В 1С:ЗУП

Пользовательский режим: Администрирование → Обслуживание → Регистры накопления. Режим разработки: Конфигуратор → Метаданные → Регистры накопления. Типовые регистры 1С:ЗУП: НачисленияПоСотрудникам (Обороты), УдержанияПоСотрудникам (Обороты), ЗарплатаКВыплате (Остатки — актуальный долг по выплатам).

В 1С:Бухгалтерии предприятия

Путь пользователя (если функция активирована): Главное → Все функции → Регистры накопления. Путь разработчика: Конфигуратор → Метаданные → Регистры накопления. Типовые регистры 1С:Бухгалтерии предприятия: ХозрасчётныеОбороты, НДСПредъявленный.

Создание регистра накопления в Конфигураторе 1С

Пять шагов создания регистра накопления в 1С:Предприятие

Создать новый регистр накопления можно за пять шагов в Конфигураторе.

  1. Конфигуратор → развернуть Метаданные → Регистры накопления → нажать Добавить.
  2. Выбрать Вид: Остатки или Обороты — это решение определяет физическую структуру таблиц в СУБД.
  3. Вкладка Измерения: добавить аналитические разрезы с типом СправочникСсылка (Склад, Номенклатура).
  4. Вкладка Ресурсы: добавить числовые показатели с типом Число (Количество, Сумма).
  5. Нажать Сохранить → выполнить Обновление конфигурации базы данных — платформа создаст _AccumRg и (для Остатков) _AccumRgT в СУБД.

После создания регистра подключите документ-регистратор: откройте документ → вкладка Движения → выберите созданный регистр.

Программная запись в регистр накопления 1С

Движения в регистре создаются при проведении документа-регистратора. Два способа: написать ОбработкаПроведения вручную или воспользоваться Конструктором движений — мастером в Конфигураторе, который генерирует шаблонный код автоматически.

Шаблон ОбработкаПроведения с комментариями

// Разрешить запись движений в регистр (обязательно!)

Движения.ОстаткиТоваров.Записывать = Истина;

// Создать новую строку движения

НовоеДвижение = Движения.ОстаткиТоваров.Добавить();

// Вид движения — только для регистров Остатков

НовоеДвижение.ВидДвижения = ВидДвиженияНакопления.Приход;

// Служебные поля

НовоеДвижение.Период = Дата;

// Измерения

НовоеДвижение.Склад = Склад;

НовоеДвижение.Номенклатура = СтрокаТЧ.Номенклатура;

// Ресурс

НовоеДвижение.Количество = СтрокаТЧ.Количество;

Без строки Записывать = Истина движения не попадут в базу — это типичная ошибка новичков. Конструктор движений генерирует аналогичный шаблон: вкладка Движения документа → выбрать регистр → нажать «Конструктор».

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

Пора сменить профессию? Начните с понятного плана

Подберите программу под ваш опыт, цели и желаемый формат занятости

  • Востребованные навыки без лишней теории.
  • Поддержку экспертов на каждом этапе
  • Помощь с выходом на рынок труда
Подобрать обучение
image

ВидДвиженияНакопления.Приход и .Расход доступны только для регистров Остатков — у регистров Оборотов поле ВидДвижения отсутствует. Пример фильтрации движений в запросе:

ГДЕ ОстаткиТоваров.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)

Применяется в аналитике, где нужно разделить «сколько пришло» и «сколько ушло» по одному регистру.

Запросы к виртуальным таблицам регистра накопления

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

Получение остатков на дату в запросе 1С

Синтаксис обращения к виртуальной таблице Остатки:

ВЫБРАТЬ

Остатки.Номенклатура,

Остатки.Количество

ИЗ

РегистрНакопления.ОстаткиТоваров.Остатки(&Период, Склад = &Склад) КАК Остатки

&Период и Склад = &Склад передаются до агрегации: СУБД сначала отбирает строки, затем суммирует. Условие ГДЕ применяется после суммирования всего — это медленнее. Если &Период не передан (пустая дата), платформа вернёт остатки на текущий момент.

Оператор ДОПОЛНИТЬ в запросах к регистру накопления

ДОПОЛНИТЬ — оператор языка запросов 1С, который заполняет пропущенные комбинации измерений в результате запроса к виртуальной таблице .Обороты. Применяется в отчётах, где нужно показать нулевые строки по всем элементам измерений — даже если за период движений не было. Без ДОПОЛНИТЬ номенклатура без движений просто не попадёт в результат запроса.

Архитектура и оптимизация регистров накопления 1С 8.3

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

Регистр накопления хранит данные в нескольких физических таблицах СУБД (PostgreSQL, MS SQL Server):

  • _AccumRg — детальные движения; существует для всех видов регистров;
  • _AccumRgT — итоги на начало месяца; только для регистров Остатков;
  • _AccumRgTn — буфер Split Totals; незлитые итоги при параллельном проведении;
  • _AccumRgOpt — параметры регистра, включая границу рассчитанных итогов.

Если граница рассчитанных итогов устарела, платформа не может использовать _AccumRgT и сканирует всю таблицу движений — запросы деградируют. Для актуализации: УстановитьПериодРассчитанныхИтогов() + ПересчитатьИтоги() через регламентное задание.

Split Totals (разделение итогов) включают на высоконагруженных регистрах с параллельным проведением. Без него транзакции конкурируют за одну строку _AccumRgT и возникает блокировка TLOCK. С включённым разделением каждая транзакция пишет в случайную строку буфера _AccumRgTn, а регламентное задание периодически сворачивает буфер в основную таблицу.

Хотите разобраться с 1С на практике — от регистров до работы с типовыми конфигурациями? В ProfiFuture можно освоить профессию за 1,5 месяца с господдержкой: 75% стоимости компенсируется образовательной квотой. Смотрите программы 1С программист и Оператор 1С в каталоге программ ProfiFuture.

Часто задаваемые вопросы

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

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

Когда выбирать регистр остатков, а не оборотов?

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

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

Платформа не сможет использовать _AccumRgT и вынуждена сканировать всю таблицу движений. Время запросов резко возрастает. Решение: регулярно вызывать УстановитьПериодРассчитанныхИтогов() + ПересчитатьИтоги() через регламентное задание.

Почему нельзя ставить условия к виртуальной таблице через ГДЕ?

Параметры виртуальной таблицы передаются до агрегации — СУБД сначала отбирает строки, затем суммирует. Условие ГДЕ применяется после: платформа суммирует всё, потом фильтрует. При большом объёме данных разница в скорости существенная.

Что такое Split Totals и когда его включать?

Разделение итогов — механизм для систем с частым параллельным проведением. Без него транзакции конкурируют за одну строку _AccumRgT и возникает блокировка TLOCK. С разделением каждая пишет в случайную строку буфера _AccumRgTn. Регламентное задание периодически сворачивает буфер.

Какие регистры накопления используются в 1С:ЗУП?

Регистры оборотов накапливают начисления: НачисленияПоСотрудникам, УдержанияПоСотрудникам. Регистр остатков ЗарплатаКВыплате хранит актуальный долг по выплатам. Найти: Администрирование → Обслуживание → Регистры накопления, либо через Конфигуратор.

Как найти регистр накопления в 1С:Бухгалтерии предприятия?

Путь пользователя: Главное → Все функции → Регистры накопления (если функция активирована). Путь разработчика: Конфигуратор → Метаданные → Регистры накопления. Типовые регистры Бухгалтерии: ХозрасчётныеОбороты, НДСПредъявленный.

Как очистить регистр накопления в 1С 8.3?

Стандартный способ: снять проведение документов-регистраторов — движения удалятся автоматически. Программная очистка: для каждого регистратора вызвать ОтменитьПроведение() или очистить Движения.[Имя] напрямую. После очистки вызвать ПересчитатьИтоги().

Какие регистры накопления отвечают за себестоимость товаров в 1С:ERP?

В 1С:ERP себестоимость учитывается через регистры оборотов партионного учёта. ТоварыНаСкладах — остатки; СебестоимостьТоваров — накапливает затраты по партиям за период. Оба связаны с документами поступления и реализации.

Можно ли делать прямые запросы к физическим таблицам _AccumRg, _AccumRgT?

Технически — через прямое подключение к СУБД. Но это обходит механизм кэширования платформы. Правильный путь — виртуальные таблицы .Остатки и .Обороты, которые автоматически используют _AccumRgT и оптимизируют запрос.

Превратите интерес к теме в новую профессию

Оставьте заявку — поможем выбрать программу и расскажем об условиях обучения

Оставить заявку
icon