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

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

Регистр накопления 1С: кем и как заполняется

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

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

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

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

Кто является регистратором и как это посмотреть

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

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

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

Как найти, кто заполнил регистр
  1. 1
    Откройте отчёт по регистру (остатки или обороты) с детализацией до регистратора
  2. 2
    Найдите интересующую сумму и разверните её до документа
  3. 3
    Откройте документ и проверьте, проведён ли он
  4. 4
    В конфигураторе откройте модуль документа и найдите процедуру ОбработкаПроведения
  5. 5
    Проверьте, какие строки формируют движения по нужному регистру

Как документ формирует записи при проведении

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

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

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

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

Ручное заполнение: когда и как это допустимо

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

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

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

Заполнение регистра обменами, обработками и загрузкой данных

Регистр может заполняться не только интерактивным проведением документов. При обмене данными между базами (РИБ, универсальный обмен, синхронизация БП–УТ) документы приходят из другой системы и проводятся уже в текущей базе, создавая движения. Если документ загружается без проведения, записей в регистре не будет — это частая причина «пропавших» остатков после обмена.

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

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

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

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

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

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

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

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

Отчёт по регистру с детализацией до регистратора
Норма

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

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

Есть суммы без документа или с неожиданным регистратором

Движения документа (кнопка «Перейти → Движения»)
Норма

Набор записей соответствует табличной части документа

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

Записей нет, хотя документ проведён, или суммы не совпадают

Журнал регистрации
Норма

Проведение выполнил ожидаемый пользователь или регламентное задание

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

Движения созданы неизвестным фоновым заданием или обменом

Типичные ошибки и их последствия

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

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

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

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

Как восстановить или исправить движения регистра

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

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

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

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

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

Сумма в отчёте не совпадает с документомПерепроведите документ-регистратор и проверьте его табличные части
Документ проведён, но движений нетОткройте движения документа; если пусто — анализируйте условия в обработке проведения
Записи появились после обмена или закрытия месяцаПроверьте журнал регистрации и список служебных документов периода
Нужно исправить прошлый закрытый периодИспользуйте корректировочный документ текущей датой вместо перепроведения старого
Движения испорчены массово после доработкиВосстановите копию, доработайте обработку проведения, затем выполните контролируемое перепроведение

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

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

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

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

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

Что произойдёт с записями регистра при отмене проведения документа?

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

Кто заполнил регистр, если документ создал не пользователь?

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

Безопасно ли править движения вручную через «Ручную корректировку»?

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

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

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

Итог

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

Регистр накопления всегда заполняется документами-регистраторами через обработку проведения; ручной ввод возможен только через специальные корректировочные документы. Источник любой записи определяется по колонке «Регистратор» и журналу регистрации. Исправлять данные нужно через документ, а не через сам регистр, предварительно сделав резервную копию.