Разработка и Конфигурация · 12 мин
Для чего используются регистры накопления в 1С
Разбираем, для чего используются регистры накопления в 1С: виды остатки и обороты, примеры учёта товаров и денег, настройка измерений, ресурсов и типичные ошибки.
Регистр накопления — это объект конфигурации 1С, который хранит числовые показатели в разрезе заданных аналитик и автоматически поддерживает их актуальное значение при проведении документов. Каждый раз, когда проводится «Приходная накладная» или «Расходный кассовый ордер», система записывает движения в регистры, и на их основе мгновенно рассчитываются остатки товаров на складах, взаиморасчёты с контрагентами, остатки денег на счетах.
Без регистров накопления каждый отчёт пришлось бы строить полным перебором всех документов за период — что при объёме в сотни тысяч записей заняло бы неприемлемое время. Регистры решают эту задачу: они заранее агрегируют данные, поэтому отчёт «Остатки товаров» открывается за секунды даже в крупной базе.
Понимание устройства регистров накопления нужно не только разработчикам. Бухгалтеру и менеджеру это помогает правильно читать отчёты, находить причины расхождений в остатках и корректно ставить задачи на доработку конфигурации.
Что такое регистр накопления и из чего он состоит
Регистр накопления можно представить как таблицу, куда документы при проведении добавляют строки — движения. Каждая строка содержит дату, ссылку на документ-регистратор, значения аналитических разрезов и числовое значение показателя. Сам документ при этом чисел не хранит: он лишь формирует записи в регистрах.
Структура регистра описывается тремя группами полей. Измерения — это разрезы учёта, например «Склад», «Номенклатура», «Контрагент». Ресурсы — числовые показатели, которые накапливаются: «Количество», «Сумма». Реквизиты — дополнительные атрибуты записи, не участвующие в подсчёте итогов, например комментарий или номер заказа.
Ключевое правило: правильно выбранные измерения определяют 90 % качества учёта. Если измерение «Склад» забыть, остатки будут считаться только в целом по компании, и разобрать, на каком складе лежит товар, станет невозможно без доработки и перепроведения базы.
Виды регистров накопления: остатки и обороты
Платформа 1С предлагает два вида регистров накопления, и выбор между ними определяет поведение итогов.
Регистр остатков хранит движения двух типов: «Приход» и «Расход». Итог по регистру — это разница между ними на любую дату, то есть текущий остаток. Классические примеры: «Товары на складах», «Денежные средства», «Взаиморасчёты с покупателями». Для таких регистров платформа автоматически поддерживает таблицу итогов, что даёт быстрый запрос остатка на любой момент.
Регистр оборотов хранит только накопленную сумму за период без понятия «текущего остатка». Он нужен там, где важен сам факт оборота: «Продажи», «Выручка по направлениям», «Количество оказанных услуг». Спросить у регистра оборотов «сколько осталось» бессмысленно — он отвечает на вопрос «сколько было за период».
Остатки или обороты
Подходит, когда нужен остаток на дату: товары, деньги, долги. Требует парности прихода и расхода, иначе остатки уходят в минус.
Подходит для аналитики за период: продажи, себестоимость, начисления. Не даёт остатка, но проще и быстрее в записи.
Типовые задачи учёта, решаемые регистрами накопления
В типовых конфигурациях 1С (Управление торговлей, ERP, Комплексная автоматизация) регистры накопления покрывают практически весь оперативный учёт. Ниже — основные сценарии.
Складской учёт
Регистры «Товары на складах», «Товары в резерве», «Товары к отгрузке» фиксируют движение номенклатуры в количественном и суммовом выражении. Приходная накладная делает запись «Приход», реализация — «Расход». Отчёт по остаткам строится мгновенно, а отрицательный остаток сразу показывает, что товар продан раньше, чем оприходован.
Взаиморасчёты с контрагентами
Регистры «Расчёты с покупателями» и «Расчёты с поставщиками» накапливают задолженность: отгрузка увеличивает долг клиента, оплата уменьшает. Именно отсюда берутся данные для акта сверки и отчёта по дебиторской задолженности.
Учёт денежных средств
Кассовые и банковские документы пишут движения в регистры денежных средств в разрезе касс, банковских счетов и статей движения денежных средств. Это основа для отчёта ДДС и контроля кассовой дисциплины.
Продажи и аналитика
Регистр оборотов «Продажи» накапливает выручку, себестоимость и количество в разрезе номенклатуры, менеджеров, подразделений. На нём строятся отчёты по валовой прибыли и ABC-анализ ассортимента.
Проверьте, что отчёт построен на запросе к регистру накопления, а не к таблице документов
Найдите документ, проведённый задним числом, или неоприходованную отгрузку
Сформируйте карточку счёта/регистра и сверьте каждое движение с первичным документом
Как документы записывают данные в регистры
Связь документа с регистром настраивается в конфигураторе на вкладке «Движения» объекта документа: там отмечается, в какие регистры документ пишет записи. Само формирование записей происходит в обработчике проведения — либо автоматически по настройке, либо программно в модуле объекта.
Упрощённо код проведения выглядит так: создаётся набор записей по регистру, в него добавляются строки с видом движения, измерениями и ресурсами, затем набор записывается. При отмене проведения платформа удаляет все движения документа автоматически.
Движения.ТоварыНаСкладах.Записывать = Истина;
Для Каждого СтрокаТовара Из Товары Цикл
Движение = Движения.ТоварыНаСкладах.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Номенклатура = СтрокаТовара.Номенклатура;
Движение.Склад = Склад;
Движение.Количество = СтрокаТовара.Количество;
КонецЦикла;Важно понимать: документ в 1С — это событие, а регистр — его учётный след. Один документ может делать движения сразу по нескольким регистрам: реализация списывает товар со склада, увеличивает долг покупателя и фиксирует выручку в продажах одновременно.
Как получить данные из регистра: отчёты и запросы
Для чтения данных регистров используются виртуальные таблицы, которые платформа рассчитывает автоматически. У регистра остатков это Остатки, ОстаткиИОбороты, Обороты; у регистра оборотов — только Обороты. Запрос к виртуальной таблице с параметрами периода и отборами — стандартный способ построения отчётов.
Пример запроса остатков по складу:
ВЫБРАТЬ
Остатки.Номенклатура КАК Номенклатура,
Остатки.КоличествоОстаток КАК Остаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, Склад = &Склад) КАК ОстаткиДля конечного пользователя программировать ничего не нужно: стандартные отчёты («Остатки товаров», «Ведомость по взаиморасчётам») уже построены на этих таблицах, а произвольный отчёт можно собрать через конструктор СКД, выбрав регистр и нужные поля.
Настройка регистра при разработке: измерения, ресурсы, итоги
При создании собственного регистра накопления последовательность действий такая: определите, какой показатель учитываете; выберите вид регистра (остатки или обороты); задайте минимально необходимый набор измерений; добавьте ресурсы с правильным типом и точностью; укажите документы-регистраторы.
- 1Определите учитываемый показатель и ответьте на вопрос: нужен остаток на дату или оборот за период
- 2Создайте регистр накопления, задайте вид «Остатки» или «Обороты»
- 3Добавьте измерения — только те разрезы, по которым реально будут строиться отчёты
- 4Добавьте ресурсы (Количество, Сумма) с типом Число и нужной точностью
- 5Отметьте регистр в свойствах документов-регистраторов на вкладке «Движения»
- 6Напишите или сгенерируйте код проведения, протестируйте на копии базы
- 7Проверьте остатки отчётом и убедитесь, что отмена проведения корректно очищает движения
Отдельная тема — управление итогами. Для регистров остатков платформа хранит текущие итоги и итоги по месяцам. Если остатки на старые даты не нужны, итоги можно сократить через «Управление итогами» в режиме Предприятия — это ускоряет проведение документов и уменьшает объём таблиц.
Типичные ошибки и ограничения
Опыт внедрений показывает, что большинство проблем с регистрами накопления сводится к нескольким повторяющимся ошибкам проектирования и эксплуатации.
Ещё одно ограничение: регистр накопления не заменяет бухгалтерский учёт. План счетов и регистр бухгалтерии живут по своим правилам (двойная запись, субконто), и пытаться вести бухучёт на регистрах накопления — архитектурная ошибка. Регистры накопления отвечают за оперативный и управленческий учёт.
Как проверить корректность учёта
Расхождения объяснимы и документированы
Систематические минусы или завышение без причины
Записи соответствуют табличной части, вид движения верный
Отсутствуют движения или дублируются строки
Остатки возвращаются к состоянию до документа
Остатки «зависают» — движения не очищаются
Часто задаваемые вопросы
Чем регистр накопления отличается от регистра сведений?
Регистр сведений хранит значения в разрезе измерений (например, цены номенклатуры на дату) и не суммирует их. Регистр накопления хранит числовые показатели, которые складываются и вычитаются, давая остатки и обороты. Если нужно знать «какое значение было» — это регистр сведений; если «сколько накопилось» — регистр накопления.
Почему в отчёте появляются отрицательные остатки?
Расход проведён раньше прихода по времени или приход вообще не оформлен. Типичные причины: документы введены задним числом, отгрузка проведена до оприходования, товар перемещён на другой склад, а продажа списала с исходного. Найдите первый документ с минусом через отчёт по остаткам с детализацией до регистратора.
Можно ли изменить движения документа вручную?
Технически — да, через «ручную корректировку» движений, если она разрешена в документе, или отдельным документом «Корректировка регистров». Но делать это стоит только осознанно: ручные правки разрывают связь с первичным документом и при перепроведении могут быть потеряны. Предпочтительный путь — исправить сам документ и перепровести его.
Как ускорить работу отчётов по регистрам накопления?
Проверьте, что отчёт обращается к виртуальным таблицам с параметрами периода и отбора, а не к полной таблице движений. Убедитесь, что итоги рассчитаны на актуальную дату (Управление итогами). Уберите лишние измерения из запроса и используйте индексированные поля в условиях отбора.
Нужно ли создавать свой регистр, если есть типовые?
Только если типовые не покрывают задачу: например, учёт специфических показателей вроде часов работы оборудования или бонусных баллов. Каждый новый регистр — это нагрузка на проведение и хранение, поэтому сначала проверьте, нельзя ли обойтись дополнительным измерением или разрезом в существующем механизме.
Что происходит с регистрами при восстановлении последовательности?
Перепроведение документов в хронологическом порядке заново формирует движения каждого документа. Это исправляет накопившиеся ошибки в остатках и себестоимости, но на больших базах занимает заметное время и требует монопольного доступа или низкой пользовательской активности.
Что важно запомнить
Регистры накопления — основа оперативного учёта в 1С: они хранят движения документов и дают быстрые остатки и обороты по товарам, деньгам и расчётам. Выбирайте вид «Остатки», когда нужен остаток на дату, и «Обороты» — для аналитики за период. Закладывайте минимум измерений, контролируйте отрицательные остатки и меняйте структуру регистров только на копии базы.