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

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

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

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

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

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

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

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

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

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

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

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

Платформа 1С предлагает два вида регистров накопления, и выбор между ними определяет поведение итогов.

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

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

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

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

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

Регистр оборотов

Подходит для аналитики за период: продажи, себестоимость, начисления. Не даёт остатка, но проще и быстрее в записи.

Типовые задачи учёта, решаемые регистрами накопления

В типовых конфигурациях 1С (Управление торговлей, ERP, Комплексная автоматизация) регистры накопления покрывают практически весь оперативный учёт. Ниже — основные сценарии.

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

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

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

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

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

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

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

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

Отчёт открывается мгновенноИспользуются итоги регистра

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

Отрицательные остаткиРасход превысил приход

Найдите документ, проведённый задним числом, или неоприходованную отгрузку

Остаток не сходится с фактомОшибка в движениях

Сформируйте карточку счёта/регистра и сверьте каждое движение с первичным документом

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

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

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

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

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

Как получить данные из регистра: отчёты и запросы

Для чтения данных регистров используются виртуальные таблицы, которые платформа рассчитывает автоматически. У регистра остатков это Остатки, ОстаткиИОбороты, Обороты; у регистра оборотов — только Обороты. Запрос к виртуальной таблице с параметрами периода и отборами — стандартный способ построения отчётов.

Пример запроса остатков по складу:

bsl
ВЫБРАТЬ
    Остатки.Номенклатура КАК Номенклатура,
    Остатки.КоличествоОстаток КАК Остаток
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, Склад = &Склад) КАК Остатки

Для конечного пользователя программировать ничего не нужно: стандартные отчёты («Остатки товаров», «Ведомость по взаиморасчётам») уже построены на этих таблицах, а произвольный отчёт можно собрать через конструктор СКД, выбрав регистр и нужные поля.

Настройка регистра при разработке: измерения, ресурсы, итоги

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

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

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

Типичные ошибки и ограничения

Опыт внедрений показывает, что большинство проблем с регистрами накопления сводится к нескольким повторяющимся ошибкам проектирования и эксплуатации.

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

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

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

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

Остаток по отчёту против фактической инвентаризации
Норма

Расхождения объяснимы и документированы

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

Систематические минусы или завышение без причины

Движения конкретного документа
Норма

Записи соответствуют табличной части, вид движения верный

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

Отсутствуют движения или дублируются строки

Отмена проведения документа
Норма

Остатки возвращаются к состоянию до документа

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

Остатки «зависают» — движения не очищаются

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

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

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

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

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

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

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

Как ускорить работу отчётов по регистрам накопления?

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

Нужно ли создавать свой регистр, если есть типовые?

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

Что происходит с регистрами при восстановлении последовательности?

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

Итог

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

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