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

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

Регистр накопления в 1С: что это и как с ним работать

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

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

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

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

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

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

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

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

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

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

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

КритерийОстаткиОбороты
Что показываетЗначение на датуСумму за период
Вид движенияПриход / РасходНет
Типичное применениеСкладские остатки, взаиморасчётыПродажи, обороты по счетам
ИтогиНа каждую дату и границу периодаПо периодам (месяц, квартал)
Маршрут решения

Как выбрать вид регистра

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

Как документы формируют движения

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

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

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

Виртуальные таблицы и получение итогов

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

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

Контроль остатков и отрицательные значения

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

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

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

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

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

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

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

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

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

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

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

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

Отчёт сходится с суммой движений по документам за период

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

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

Отрицательные остатки
Норма

Минусов нет либо они объясняются документами задним числом

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

Систематические минусы по позициям без видимой причины

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

Проведение занимает секунды даже при больших табличных частях

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

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

Итог

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

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

Частые вопросы о регистрах накопления

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

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

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

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

Почему отчёт по регистру показывает не те данные, что движения документа?

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

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

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

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

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

Нужен ли отдельный регистр для каждого показателя учёта?

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