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

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

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

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

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

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

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

Какую задачу решают регистры накопления

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

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

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

Два вида регистров: остатки и обороты

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

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

КритерийРегистр остатковРегистр оборотов
Главный вопросСколько есть на датуСколько было за период
Вид движенияПриход или расходОтсутствует
Типичные примерыТовары на складах, взаиморасчёты, деньгиПродажи, выпуск продукции
Контроль отрицательных остатковВозможенНеприменим

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

Из чего состоит регистр: измерения, ресурсы, реквизиты

Измерения задают разрезы аналитики, в которых ведётся учёт. Для регистра «Товары на складах» это номенклатура и склад; для взаиморасчётов — контрагент и договор. Каждая комбинация значений измерений образует отдельную «ячейку», по которой считаются итоги. Чем больше измерений, тем детальнее аналитика, но тем больше объём данных и нагрузка при проведении документов.

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

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

Как документы записывают движения

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

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

bsl
Движение = Движения.ТоварыНаСкладах.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Номенклатура = СтрокаТовары.Номенклатура;
Движение.Склад = Склад;
Движение.Количество = СтрокаТовары.Количество;

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

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

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

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

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

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

Учёт денежных средств

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

Аналитика продаж

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

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

Как проверить корректность данных регистра

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

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

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

Контрольные точки

Как проверить результат

Остатки по складу
Норма

Все остатки неотрицательные или объяснимы

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

Минусовые остатки без причины — ищите непроведённый приход или раннее списание

Расшифровка до документа
Норма

Каждая строка отчёта открывает документ-регистратор

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

Есть записи без документа или с неожиданным регистратором

Согласованность регистров
Норма

Продажи и складской расход совпадают по суммам

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

Расхождения указывают на ручную правку движений

Частые ошибки и ограничения

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

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

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

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

Чем регистры накопления отличаются от других объектов

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

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

Сравнение вариантов

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

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

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

Значения в разрезе измерений без суммирования: цены, курсы, статусы, настройки. Не даёт оборотов и остатков

Регистр бухгалтерии

Проводки по плану счетов с дебетом и кредитом. Избыточен для простого складского учёта

Итог

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

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

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

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

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

Можно ли добавить измерение в регистр, по которому уже идёт учёт?

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

Почему в отчёте по остаткам появились отрицательные значения?

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

Нужно ли программировать, чтобы пользоваться регистрами накопления?

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

Что делать, если документ проводится, но движений по регистру нет?

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

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

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