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

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

Типы регистров накопления в 1С:Предприятие 8

Какие типы регистров накопления существуют в 1С:Предприятие 8: остатки и обороты, виды движений приход и расход, выбор типа под задачу, типичные ошибки и проверка результата.

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

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

Какие типы регистров накопления предусмотрены платформой

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

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

Регистр с типом «Остатки»: когда применять

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

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

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

Виды движений «Приход» и «Расход»

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

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

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

Регистр с типом «Обороты»: когда применять

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

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

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

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

Остатки

Нужен остаток на дату, сальдо, задолженность. Поддерживает приход/расход и контроль отрицательных остатков. Требует больше ресурсов на хранение итогов.

Обороты

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

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

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

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

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

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

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

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

Изменение типа существующего регистра и его риски

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

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

Проверка корректности работы регистра

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

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

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

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

Отчёт «Остатки и обороты» по регистру остатков
Норма

Начальный остаток + приход − расход = конечный остаток по каждой аналитике

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

Итог не сходится или появились неожиданные минусы

Оборотный регистр за месяц
Норма

Сумма оборота равна сумме ресурсов в проведённых документах периода

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

Часть документов отсутствует в движениях

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

Нужный регистр отмечен в свойствах документа как движение

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

Документ проводится, но записей в регистре нет

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

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

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

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

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

Можно ли в одном регистре остатков хранить и приход, и расход от одного документа?

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

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

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

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

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

Почему в оборотном регистре нет видов движения?

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

Как отразить возврат товара в оборотном регистре продаж?

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

Влияет ли тип регистра на скорость проведения документов?

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

Итог

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

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