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

Разработка и Конфигурация · 12 мин

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

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

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

Главная особенность регистра накопления в том, что он хранит не сами документы, а движения — записи о том, как каждый документ изменил учётные показатели. Документ «Приходная накладная» увеличивает остаток товара, «Расходная» — уменьшает. Регистр аккумулирует эти изменения и позволяет мгновенно получить итог на любую дату без перебора всех документов.

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

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

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

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

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

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

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

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

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

Остатки или обороты

Регистр остатков

Подходит для товаров, денег, долгов — всего, где нужен ответ на вопрос «сколько сейчас». Ограничение: требует парности движений приход/расход и контроля отрицательных остатков.

Оборотный регистр

Подходит для продаж, выручки, производственных показателей, где анализируется сумма за период. Ограничение: остаток на дату получить нельзя.

Типовые сценарии использования

Складской учёт

Регистр «ТоварыНаСкладах» с измерениями «Номенклатура» и «Склад» и ресурсом «Количество» — классическая схема. Приходные документы делают движения с видом «Приход», отгрузки и списания — «Расход». Отчёт по остаткам показывает наличие товара на любом складе в любой момент.

Взаиморасчёты с контрагентами

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

Продажи и аналитика

Оборотный регистр «Продажи» с измерениями «Номенклатура», «Контрагент», «Менеджер» и ресурсами «Количество», «Сумма», «Себестоимость» обеспечивает всю управленческую отчётность: продажи по менеджерам, маржинальность по товарным группам, ABC-анализ клиентов.

Партии и себестоимость

Для расчёта себестоимости используют регистр остатков по партиям: измерение «Партия» (документ поступления) и ресурсы «Количество» и «Стоимость». Списание товара распределяется по партиям по методу FIFO, LIFO или средней — в зависимости от настроек учётной политики.

Вопрос «сколько осталось»Регистр остатков

Товары, деньги, долги — показатели с остатком на дату

Вопрос «сколько за период»Оборотный регистр

Продажи, выручка, объёмы работ — суммы за интервал

Вопрос «какое значение у объекта»Не регистр накопления

Цены, ставки, ответственные — это регистр сведений

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

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

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

Как спроектировать регистр накопления: порядок действий

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

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

Порядок создания регистра накопления
  1. 1
    Сформулируйте учётный вопрос и определите вид регистра: остатки или обороты
  2. 2
    Определите измерения — разрезы, в которых нужны итоги и контроль
  3. 3
    Определите ресурсы — числовые показатели (количество, сумма)
  4. 4
    Укажите документы-регистраторы и напишите код формирования движений в обработке проведения
  5. 5
    Добавьте контроль остатков при проведении, если недопустимы отрицательные значения
  6. 6
    Постройте тестовый отчёт и проверьте итоги на контрольном примере

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

Контроль остатков и производительность

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

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

Типичные ошибки при работе с регистрами накопления

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

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

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

Как проверить корректность учёта

Остатки на складах
Норма

Нет отрицательных остатков ни по одному товару и складу

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

Минусовые остатки — пропущен контроль или документы проведены задним числом

Сверка с документами
Норма

Сумма движений по документу совпадает с данными его табличной части

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

Расхождения — движения редактировались вручную или документ проведён с ошибкой

Скорость отчёта по остаткам
Норма

Отчёт формируется за секунды

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

Длительное формирование — запросы идут мимо виртуальных таблиц или не рассчитаны итоги

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

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

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

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

Как выбрать объект хранения

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

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

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

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

Что делать, если в регистре появились отрицательные остатки?

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

Сколько измерений можно добавить в регистр?

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

Чем регистр накопления отличается от бухгалтерского регистра?

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

Нужно ли пересчитывать итоги регистра вручную?

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

Можно ли строить отчёты напрямую по таблице движений?

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

Итог

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

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