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

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

Предупредим заранее: тема не из простых. Если вы никогда не сталкивались с конфигуратором , некоторые термины могут показаться сложными. Но мы постарались объяснить всё «на пальцах», с примерами из реальных бизнес-задач. Готовы? Тогда начнем с самого главного — определения.

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

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

Основное отличие регистра накопления от, например, справочников или документов, заключается в том, что он:

  • 📊 Хранит историю изменений — каждая запись привязана к дате и времени, что позволяет отслеживать динамику.
  • 🔄 Поддерживает механизм проводок — данные в регистр записываются автоматически при проведении документов (например, приходной накладной или платежного поручения).
  • 📈 Оптимизирован для аналитики — позволяет быстро получать остатки и обороты по любым измерениям (складам, номенклатуре, контрагентам).
  • 🔒 Защищен от прямого редактирования — изменить данные можно только через документы или специальные обработки.

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

📊 С какой целью вы чаще всего работаете с регистрами накопления в 1С?
Для анализа остатков товаров
Для учета денежных средств
Для расчета зарплаты
Для контроля рабочего времени
Другое

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

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

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

Разница между ними хорошо видна на примере складского учета:

Тип регистра Что хранит Пример вопроса, на который отвечает Типичные объекты учета
Регистр остатков Текущее количество/сумму на дату «Сколько единиц товара X осталось на складе Y на 10.05.2026?» Товары, деньги, материалы
Регистр оборотов Сумму изменений за период «Сколько товара X было продано за апрель 2026?» Продажи, начисления, списания
Регистр остатков и оборотов И то, и другое «Сколько товара X было на складе на 01.04.2026 и сколько пришло/ушло за месяц?» Универсальные задачи (например, учет ТМЦ)

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

💡

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

Структура регистра накопления: измерения, ресурсы, реквизиты

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

  1. Измерения — это «координаты», по которым ведется учет (например, Склад, Номенклатура, Контрагент). Они определяют, по чему мы будем получать остатки или обороты.
  2. Ресурсы — это то, что мы накапливаем (например, Количество, Сумма). Ресурсы всегда имеют числовой тип (число, сумма).
  3. Реквизиты — дополнительная информация, которая не участвует в расчетах, но может быть полезна для анализа (например, ЦенаЗакупки, СрокГодности).

Пример структуры регистра остатков товаров:

  • 📦 Измерения: Склад, Номенклатура, ХарактеристикаНоменклатуры (например, цвет или размер).
  • 💰 Ресурсы: Количество (шт.), СуммаОстатков (руб.).
  • 📝 Реквизиты: Серия, ДатаПоступления, СрокХранения.

Почему это важно? Потому что от правильного выбора измерений и ресурсов зависит:

  • 🔍 Гибкость отчетов — сможете ли вы получить остатки по нужным разрезам (например, по складам и номенклатуре одновременно).
  • Производительность — чем больше измерений, тем медленнее будут работать запросы к регистру.
  • 📊 Аналитические возможности — например, если не добавить ХарактеристикуНоменклатуры в измерения, нельзя будет узнать остатки по размерам обувки.
Что будет, если неверно выбрать измерения?

Если в регистре остатков товаров не указать Склад как измерение, система не сможет различать остатки на разных складах. Например, при запросе «Сколько товара X на складе Y?» вы получите общий остаток по всем складам, что приведет к ошибкам в учете.

Как создать регистр накопления в конфигураторе 1С

Если вы разработчик или администрируете конфигурацию, рано или поздно вам придется создавать регистры накопления вручную. Рассмотрим пошаговую инструкцию на примере 1С:Предприятие 8.3.

Открыть конфигуратор в режиме редактирования|Перейти в ветку «Объекты конфигурации» → «Регистры накопления»|Нажать «Добавить» и выбрать тип (остатков или оборотов)|Заполнить основные свойства: имя, синоним, комментарий|Определить измерения, ресурсы и реквизиты|Сохранить и обновить конфигурацию базы данных-->

Разберем каждый шаг подробнее:

  1. Открытие конфигуратора

    Запустите 1С:Предприятие в режиме конфигуратора (через ярлык или меню «Пуск»). Убедитесь, что у вас есть права на редактирование конфигурации.

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

    В дереве объектов найдите ветку Регистры накопления, кликните правой кнопкой и выберите Добавить. Укажите имя (например, ОстаткиТоваров) и тип (Остатков или Оборотов).

  3. Настройка измерений и ресурсов

    Вкладка Данные — здесь добавляются измерения (например, Склад типа СправочникСсылка.Склады) и ресурсы (например, Количество типа Число).

  4. Дополнительные параметры

    На вкладке Прочее можно указать:

    • 🔄 Периодичность — если регистр должен хранить данные с разбивкой по дням/месяцам.
    • 📅 Подчинение регистратору — привязка к документам, которые будут записывать движения.
    • 🔒 Контроль остатков — запрет на отрицательные остатки (актуально для складского учета).

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

💡

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

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

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

1. Учет товаров на складе (1С:Управление торговлей)

В конфигурации 1С:УТ 11 для учета товаров используется регистр накопления ТоварыНаСкладах (тип — остатки). Его структура:

  • 📦 Измерения: Склад, Номенклатура, ХарактеристикаНоменклатуры.
  • 💰 Ресурсы: Количество, СуммаОстатков.

Движения в этот регистр записывают документы:

  • 📄 ПоступлениеТоваровУслуг — увеличивает остатки.
  • 📄 РеализацияТоваровУслуг — уменьшает остатки.
  • 📄 ИнвентаризацияТоваровНаСкладах — корректирует остатки.

2. Учет денежных средств (1С:Бухгалтерия)

Для учета денег на расчетных счетах и в кассах используется регистр ДенежныеСредства (остатков). Его особенности:

  • 🏦 Измерения: СчетУчета (например, 51 «Расчетные счета»), Валюта.
  • 💵 Ресурсы: Сумма.

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

  • 💳 ПлатежноеПоручениеИсходящее — уменьшает остаток.
  • 💰 ПоступлениеНаРасчетныйСчет — увеличивает остаток.

3. Учет рабочего времени (1С:Зарплата и Управление Персоналом)

Для учета отработанных часов используется регистр оборотов РабочееВремяСотрудников. Его структура:

  • 👤 Измерения: Сотрудник, Подразделение, ВидВремени (например, «Отработано», «Отпуск»).
  • ⏱️ Ресурсы: КоличествоЧасов.

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

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

📊 В какой конфигурации 1С вы чаще всего работаете с регистрами накопления?
1С:Бухгалтерия
1С:Управление торговлей
1С:Зарплата и Управление Персоналом
1С:ERP
Другое

Отличие регистра накопления от регистра сведений и бухгалтерских регистров

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

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

Основные отличия:

  • 🔄 Механизм записей: В регистр накопления данные попадают только через движения документов, а в регистр сведений можно вносить записи вручную.
  • 📅 Работа с датами: Регистр накопления всегда привязан к дате и времени, регистр сведений может быть независим от времени (например, справочник «Типы номенклатуры»).
  • 📊 Аналитика: Регистры накопления оптимизированы для получения остатков и оборотов, регистры сведений — для хранения справочных данных.

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

💡

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

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

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

⚠️ Внимание! Если вы модифицируете типовую конфигурацию, всегда создавайте резервную копию базы данных перед изменением структуры регистров. Неправильные настройки могут привести к потере данных или ошибкам в отчетах.

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

Ошибка: Создание регистра оборотов там, где нужен регистр остатков (или наоборот).

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

Решение: Перед созданием регистра четко определите, какие данные вам нужны:

  • 📌 Если требуется знать текущее состояние (например, «сколько товаров на складе сейчас») — используйте регистр остатков.
  • 📈 Если нужна статистика за период (например, «сколько товаров продали за месяц») — регистр оборотов.

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

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

Пример: В регистре остатков товаров указывают измерение Менеджер, хотя аналитика по менеджерам не ведется. Это увеличивает размер базы и замедляет запросы.

Решение: Перед добавлением измерения спросите себя: «Буду ли я получать отчеты по этому разрезу?» Если нет — измерение не нужно.

3. Отсутствие контроля остатков

Ошибка: Не включен контроль отрицательных остатков в регистре, из-за чего возможны ошибки в учете (например, продажа товара, которого нет на складе).

Решение: В настройках регистра остатков установите флаг Контроль остатков. Это предотвратит проведение документов, ведущих к отрицательным остаткам.

4. Неправильная привязка к документам

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

Пример: Документ РеализацияТоваровУслуг не формирует движения в регистре остатков, из-за чего остатки не уменьшаются при продаже.

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

5. Игнорирование периодичности

Ошибка: Не учтена периодичность регистра (например, дневная или месячная), из-за чего данные дублируются или теряются.

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

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

Если вы столкнулись с ошибкой, которая не описана выше, воспользуйтесь журналом регистрации (Администрирование → Журнал регистрации). Он поможет отследить, какие документы и когда записывали движения в регистр.

Как оптимизировать работу с регистрами накопления

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

1. Индексирование измерений

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

ИндексироватьПо("Склад");

Это ускорит выборку данных по этому полю.

2. Использование виртуальных таблиц

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

ВЫБРАТЬ

ОстаткиТоваровОстатки.Номенклатура,

ОстаткиТоваровОстатки.КоличествоОстаток

ИЗ

РегистрНакопления.ОстаткиТоваров.Остатки(

&ДатаОтчета,

Склад = &ТекущийСклад

) КАК ОстаткиТоваровОстатки

3. Разделение больших регистров

Если регистр содержит миллионы записей (например, в крупной торговой сети), разбейте его на несколько меньших. Например:

  • 📦 Отдельный регистр для оптового склада.
  • 🏬 Отдельный регистр для розничных магазинов.

Это уменьшит нагрузку на базу при построении отчетов.

4. Архивирование старых данных

Если в регистре накапливаются данные за много лет, перенесите старые записи в архивный регистр. Например:

  • 📂 Основной регистр — данные за последний год.
  • 🗃️ Архивный регистр — данные старше года.

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

5. Оптимизация запросов

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

  • 🎯 Используйте ГДЕ для фильтрации по измерениям (например, ГДЕ Склад = &ТекущийСклад).
  • 📅 Ограничивайте период выборки (например, МЕЖДУ &ДатаНачала И &ДатаОкончания).
  • 🚫 Избегайте ВЫБРАТЬ * — указывайте только нужные поля.

Если после оптимизации запросы все равно работают медленно, проверьте планы обмена (если база распределенная) или фрагментацию индексов в SQL-сервере.

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

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

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

  • 📄 Создать документ-корректировку (например, КорректировкаЗапасов в 1С:УТ).
  • 🛠️ Использовать обработку для ручной правки (не рекомендуется без крайней необходимости).
  • 🔄 Выгрузить данные, отредактировать в Excel и загрузить обратно (рискованно!).

Лучше всего вносить изменения через стандартные документы, чтобы не нарушить целостность данных.

Как узнать, какие документы формируют движения в регистр?

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

  1. В конфигураторе откройте регистр, перейдите на вкладку Регистраторы — там будет список документов, которые записывают в него движения.
  2. В режиме 1С:Предприятие откройте отчет Анализ накопленных данных (доступен через меню Отчеты в некоторых конфигурациях).
  3. Используйте Журнал регистрации (Администрирование → Журнал регистрации) с фильтром по имени регистра.
Что делать, если остатки в регистре не сходятся с фактическими данными?

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

  1. 🔍 Проверьте движения документов за проблемный период (через отчет Движения документа).
  2. 📊 Постройте отчет Анализ накопленных данных по регистру и сравните с фактическими остатками.
  3. 🔄 Если найдена ошибка в документе (например, неверное количество), проведите его повторно.
  4. 🛠️ Если ошибка системная (например, после обновления конфигурации), воспользуйтесь обработкой Проверка и исправление данных.

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

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

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

  • 📊 Использовать отчеты с настройками, которые агрегируют данные из существующих регистров.
  • 📝 Создать регистр сведений с периодичностью, если нужна история изменений (но это не полная замена).
  • 🛠️ Написать внешнюю обработку, которая будет эмулировать регистр накопления через таблицы значений (не рекомендуется для больших объемов данных).

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

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

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

  1. 📤 Стандартная обработка: В некоторых конфигурациях есть обработки для переноса данных (например, Перенос