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

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

1. Что такое регистры накопления и зачем они нужны

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

Основные задачи регистров накопления:

  • 📊 Учет остатков — например, количество товара на складе или денежные средства на расчетном счете.
  • 🔄 Фиксация оборотов — движение товаров между складами, переводы между счетами.
  • 📈 Аналитика — расчет себестоимости, прибыли, задолженности по периодам.
  • 🔗 Интеграция данных — связь между документами и отчетами (например, оборотно-сальдовая ведомость).

Важно понимать, что регистры накопления работают в паре с документами — именно документы формируют движения по регистрам. Например, при проведении документа "Поступление товаров" в регистре остатков увеличивается количество товара на складе, а в регистре оборотов фиксируется приходная операция.

💡

Если в отчете не отображаются актуальные данные, проверьте, проведен ли документ, который должен был сформировать движения в регистре. Непровedenные документы не влияют на остатки!

2. Основные виды регистров накопления в 1С

В 1С:Предприятие 8.3 существует два фундаментальных типа регистров накопления, которые принципиально отличаются по логике работы и хранения данных:

  1. Регистры остатков — хранят текущее состояние (например, остаток товара на складе на конкретную дату).
  2. Регистры оборотов — хранят информацию о движениях за период (например, сумму продаж по контрагенту за месяц).

Разберем каждый тип подробнее.

2.1. Регистры остатков

Это самый распространенный тип регистров, который используется для учета текущего состояния объектов. Особенности:

  • 📅 Хранят данные на конкретную дату (например, остаток на 10.05.2026).
  • 🔄 Поддерживают операции Приход, Расход и ПриходРасход.
  • 📊 Позволяют получать остатки на любую дату в прошлом (история изменений сохраняется).
  • 🔒 Имеют механизм корректировки остатков (документ "Корректировка записей регистров").

Типичные примеры использования:

  • 📦 Учет товарных остатков на складах.
  • 💰 Остатки денежных средств на расчетных счетах.
  • 👥 Задолженность покупателей и поставщиков (дебиторская/кредиторская).
  • 🏭 Остатки сырья и материалов в производстве.
Пример структуры регистра остатков для товара

Регистр"ТоварыНаСкладах" содержит измерения: Склад, Номенклатура, Характеристика (если нужна детализация по цвету/размеру). Ресурсы: Количество, Сумма. Движения формируются документами "Поступление", "Реализация", "Инвентаризация".

2.2. Регистры оборотов

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

  • 📅 Данные привязаны к периоду (например, обороты за апрель 2026).
  • 🔄 Поддерживают операции Приход и Расход (но не ПриходРасход!).
  • 📊 Используются для построения аналитических отчетов (например, оборотно-сальдовая ведомость).
  • 🔗 Часто применяются для расчета себестоимости (например, регистр "УчетЗатрат").

Примеры использования:

  • 📈 Обороты по счетам бухгалтерского учета (Дт/Кт).
  • 💸 Движение денежных средств по статьям ДДС.
  • 🏭 Затраты на производство по видам расходов.
  • 📊 Продажи по номенклатурным группам для анализа прибыльности.
📊 Какой тип регистра вы используете чаще?
Регистры остатков
Регистры оборотов
Оба типа примерно одинаково
Не знаю, в чем разница

3. Сравнение регистров остатков и оборотов: ключевые различия

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

Критерий Регистр остатков Регистр оборотов
Хранение данных Текущее состояние (остаток на дату) Движения за период (обороты)
Типы движений Приход, Расход, ПриходРасход Только Приход и Расход
Возможность корректировки Да (документ"Корректировка записей") Нет (корректируются исходные документы)
Типичные отчеты Остатки товаров, ведомость по счетам Оборотно-сальдовая ведомость, анализ субконто
Пример использования Учет товаров на складе Учет затрат по статьям

Один из самых частых вопросов: можно ли заменить регистр оборотов регистром остатков? Технически да, но это приведет к избыточности данных и усложнит отчеты. Например, для анализа продаж по месяцам логичнее использовать регистр оборотов, так как он оптимизирован для работы с периодами.

💡

Регистр остатков отвечает на вопрос"Сколько есть сейчас?", а регистр оборотов — на вопрос"Сколько прошло за период?".

4. Регистры накопления с поддержкой итогов (ускоренные)

В 1С:Предприятие 8.3 существует оптимизированный вид регистров накопления — с поддержкой итогов (ранее назывались"ускоренные регистры"). Их ключевое преимущество — повышенная скорость работы при чтении данных, особенно в крупных базах с миллионами записей.

Как это работает:

  • 📊 Платформа автоматически рассчитывает и хранит промежуточные итоги по измерениям.
  • ⚡ При запросе данных система использует предварительно рассчитанные итоги вместо полного перебора записей.
  • 🔧 Настраивается в свойствах регистра (флаг "Вести итоги").

Когда стоит использовать:

  • 📈 В базах с большим объемом данных (более 100 тыс. записей в регистре).
  • 📊 Для отчетов, где критична скорость формирования (например, остатки по складам в реальном времени).
  • 🔄 В регистрах с частыми выборками по нескольким измерениям (например, остатки по складу + номенклатуре + характеристике).
💡

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

Ограничения:

  • ⚠️ Увеличивается размер базы данных (итоги занимают дополнительное место).
  • ⚠️ Замедляется запись данных (при добавлении движений пересчитываются итоги).
  • ⚠️ Не поддерживаются для регистров оборотов (только для остатков).

5. Виртуальные таблицы регистров накопления

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

5.1. Виртуальные таблицы остатков

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

  • Остатки — остатки по всем измерениям.
  • ОстаткиИОбороты — остатки + обороты за период.
  • Обороты — только обороты (для регистров остатков).

5.2. Виртуальные таблицы оборотов

Используются для регистров оборотов. Примеры:

  • Обороты — обороты за период.
  • ОборотыСДетями — обороты с детализацией по документам.

Пример запроса к виртуальной таблице остатков:

ВЫБРАТЬ

ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,

ТоварыНаСкладахОстатки.Склад КАК Склад,

ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток

ИЗ

РегистрНакопления.ТоварыНаСкладах.Остатки(&ТекущаяДата) КАК ТоварыНаСкладахОстатки

Убедиться, что регистр имеет флаг"Использовать стандартные таблицы"|

Проверить права доступа к регистру|

Оптимизировать запрос (ограничить количество измерений)|

Использовать параметры (&ДатаНачала, &ДатаОкончания) для ускорения

-->

6. Регистры накопления с дополнительными реквизитами

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

Примеры использования:

  • 📦 Для регистра "ТоварыНаСкладах" — реквизит "СрокГодности" (если нужно учитывать партии с истекающим сроком).
  • 💰 Для регистра "ВзаиморасчетыСКонтрагентами" — реквизит "Договор" (если нужно детализировать задолженность по договорам).
  • 🏭 Для регистра "ЗатратыНаПроизводство" — реквизит "Цех" (если нужно анализировать затраты по подразделениям).

Как добавить дополнительный реквизит:

  1. Открыть конфигуратор, найти нужный регистр накопления.
  2. В палитре свойств перейти на закладку "Реквизиты".
  3. Добавить новый реквизит, указать его тип (строка, число, справочник и т.д.).
  4. Обновить конфигурацию базы данных.
💡

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

Ограничения:

  • ⚠️ Дополнительные реквизиты не участвуют в формировании итогов (даже если регистр поддерживает итоги).
  • ⚠️ Нельзя использовать в виртуальных таблицах как измерения (только как ресурсы или отдельные поля).
  • ⚠️ При изменении типа реквизита требуется полное перепроведение документов.

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

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

7.1. Неправильный выбор типа регистра

Частая ошибка — использование регистра остатков там, где нужен регистр оборотов, и наоборот. Например:

  • Ошибка: Для учета продаж по месяцам создают регистр остатков и хранят в нем обороты. Это приводит к избыточности данных и усложняет отчеты.
  • Решение: Использовать регистр оборотов с периодичностью "Месяц".

7.2. Избыточные измерения

Добавление лишних измерений увеличивает размер регистра и замедляет работу. Например:

  • Ошибка: В регистре "ТоварыНаСкладах" добавляют измерение "Организация", хотя в базе только одна организация.
  • Решение: Убрать ненужные измерения или заменить их реквизитами.

7.3. Неправильная настройка периодичности

Для регистров оборотов критично правильно выбрать периодичность (день, месяц, квартал). Ошибки:

  • Ошибка: Для регистра "ПродажиПоДням" устанавливают периодичность "Месяц", теряя детализацию.
  • Решение: Выбрать периодичность, соответствующую задачам анализа (например, "День" для ежедневных отчетов).
💡

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

7.4. Игнорирование механизма корректировок

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

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

8. Практические примеры использования регистров накопления

Рассмотрим реальные сценарии применения регистров в типовых конфигурациях .

8.1. Учет товарных остатков на складах

Для этой задачи используется регистр остатков "ТоварыНаСкладах" со следующей структурой:

  • Измерения: Склад, Номенклатура, Характеристика (если нужна детализация по размерам/цветам).
  • Ресурсы: Количество, Сумма.
  • Движения: формируются документами "Поступление товаров" (приход), "Реализация товаров" (расход).

Пример запроса для получения остатков по складу:

ВЫБРАТЬ

ТоварыНаСкладахОстатки.Номенклатура.Наименование КАК Товар,

ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток

ИЗ

РегистрНакопления.ТоварыНаСкладах.Остатки(&ТекущаяДата, Склад = &ТекущийСклад) КАК ТоварыНаСкладахОстатки

УПОРЯДОЧИТЬ ПО

Товар

8.2. Учет взаиморасчетов с контрагентами

Для учета дебиторской и кредиторской задолженности используется регистр остатков "ВзаиморасчетыСКонтрагентами":

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

Пример отчета по задолженности:

ВЫБРАТЬ

ВзаиморасчетыОстатки.Контрагент.Наименование КАК Контрагент,

ВзаиморасчетыОстатки.СуммаОстаток КАК Задолженность

ИЗ

РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ТекущаяДата) КАК ВзаиморасчетыОстатки

ГДЕ

ВзаиморасчетыОстатки.СуммаОстаток <> 0

8.3. Учет затрат на производство

Для анализа затрат по статьям и центрам финансовой ответственности (ЦФО) используется регистр оборотов "УчетЗатрат":

  • Измерения: СтатьяЗатрат, ЦФО, НоменклатурнаяГруппа.
  • Ресурсы: Сумма, Количество.
  • Периодичность: "Месяц" (если анализ ведется помесячно).

Пример анализа затрат по ЦФО:

ВЫБРАТЬ

УчетЗатратОбороты.ЦФО.Наименование КАК ЦентрЗатрат,

СУММА(УчетЗатратОбороты.СуммаОборот) КАК СуммаЗатрат

ИЗ

РегистрНакопления.УчетЗатрат.Обороты(&НачалоМесяца, &КонецМесяца,) КАК УчетЗатратОбороты

СГРУППИРОВАТЬ ПО

УчетЗатратОбороты.ЦФО.Наименование

Как ускорить отчеты по регистрам оборотов?

Если отчет формируется медленно, попробуйте:

1. Ограничить период выборки (например, вместо"за все время" брать"за год").

2. Использовать виртуальную таблицу с предварительной агрегацией (например, ОборотыСАгрегацией).

3. Добавить индексы на часто используемые измерения (в конфигураторе, закладка"Индексы").

4. Перенести часть логики в запрос (например, фильтрацию по сумме делать через ГДЕ, а не в коде 1С).

FAQ: Частые вопросы по регистрам накопления в 1С

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

Нет, это разные типы регистров. Регистр остатков хранит текущее состояние, а регистр оборотов — движения за период. Если нужны и остатки, и обороты, создайте два отдельных регистра или используйте виртуальную таблицу ОстаткиИОбороты для регистра остатков.

❓ Как исправить ошибку в регистре накопления, если документ уже проведен?

Есть несколько способов:

  1. Отменить проведение документа, исправить его и провести заново.
  2. Создать документ "Корректировка записей регистров" (для регистров остатков).
  3. Использовать обработку "Групповая обработка справочников и документов" для массового исправления.

⚠️ Не рекомендуется править записи регистра напрямую через "Все функции" — это может нарушить целостность данных.

❓ Почему в отчете не отображаются данные из регистра накопления?

Возможные причины:

  • Документ не проведен (проверьте статус документа).
  • Неверно указан период в запросе (например, запрашиваете остатки на будущую дату).
  • Ошибка в фильтрах запроса (проверьте условия в секции ГДЕ).
  • Отсутствуют права на чтение регистра (проверьте роли пользователя).

Для диагностики используйте отчет "Анализ регистра накопления" (доступен в режиме предприятия).

❓ Как перенести данные из одного регистра накопления в другой?

Для переноса данных можно:

  1. Использовать обработку "Выгрузка/загрузка данных" (для больших объемов).
  2. Написать программный код с использованием объекта РегистрНакопленияМенеджерЗаписи.
  3. Создать документ, который будет формировать движения в обоих регистрах.

Пример кода для переноса остатков:

Процедура ПеренестиОстатки

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Источник.Склад КАК Склад,

| Источник.Номенклатура КАК Номенклатура,

| Источник.КоличествоОстаток КАК Количество

|ИЗ

| РегистрНакопления.СтарыйРегистр.Остатки(&ТекущаяДата) КАК Источник";

Результат = Запрос.Выполнить;

Выборка = Результат.Выбрать;

Запись = РегистрыНакопления.НовыйРегистр.СоздатьМенеджерЗаписи;

Пока Выборка.Следующий Цикл

Запись.Склад = Выборка.Склад;

Запись.Номенклатура = Выборка.Номенклатура;

Запись.Количество = Выборка.Количество;

Запись.Записать;

КонецЦикла;

КонецПроцедуры

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

Да, в 1С:Предприятие 8.3 для регистров оборотов можно задать произвольную периодичность, включая "Год". Однако учитывайте:

  • Такой регистр не подойдет для детального анализа (например, помесячных отчетов).
  • Данные будут агрегироваться за весь год, что может скрывать важные колебания.
  • Для большинства задач достаточно периодичности "Месяц" или "Квартал".