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