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

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

Виды регистров накопления в 1С: чем отличаются остатки и обороты

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

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

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

Ниже разобраны оба вида, механизм итогов, критерии выбора, практические сценарии и типичные ошибки проектирования.

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

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

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

Кроме пользовательских полей, у каждой записи есть служебные: период, регистратор, номер строки, активность. У регистров остатков дополнительно существует поле «Вид движения» — приход или расход, которое определяет знак изменения ресурса.

Вид «Остатки»: когда показатель должен быть известен на любую дату

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

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

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

Вид «Обороты»: когда важна только сумма за период

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

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

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

Сравнение видов регистров

Остатки

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

Обороты

Подходит для продаж, закупок, начислений. Нет вида движения и остатков, итоги проще. Остаток на дату получить нельзя — только сумма за период.

Итоги и периодичность: как платформа ускоряет отчёты

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

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

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

Как выбрать вид регистра под учётную задачу

Главный критерий выбора — один вопрос: нужно ли знать значение показателя на произвольный момент времени. Если да — это регистр остатков. Если показатель осмысленен только как сумма за период — оборотный.

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

Второй критерий — контроль. Регистр остатков позволяет типовыми средствами контролировать отрицательные остатки при проведении расходных документов. Если бизнес-процесс требует запрета списания «в минус» — это дополнительный аргумент за остатки.

Маршрут решения

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

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

Практические сценарии и виртуальные таблицы

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

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

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

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

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

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

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

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

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

Проверка результата после проектирования

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

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

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

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

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

Записи с правильным видом движения и заполненными измерениями

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

Пустые измерения, записи без активности, дубли строк

Отчёт по виртуальной таблице
Норма

Остаток/оборот совпадает с ручным расчётом по документам

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

Расхождения, отсутствие данных при наличии проведённых документов

Контроль отрицательных остатков
Норма

Списание сверх остатка блокируется с понятным сообщением

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

Минусовые остатки появляются без сигналов

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

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

Нет, свойство «Вид регистра» доступно только при создании объекта. Если вид выбран неверно, создают новый регистр с правильным видом, перенастраивают движения документов и переносят данные перепроведением или обработкой. На копии базы это делают до запуска в эксплуатацию.

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

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

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

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

Почему отчёт по остаткам стал медленным?

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

Нужен ли контроль остатков для оборотного регистра?

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

Итог

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

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