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

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

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

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

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

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

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

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

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

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

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

Какие регистры подчиняются регистратору

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

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

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

Как найти регистратор и движения документа

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

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

Как посмотреть движения документа
  1. 1
    Откройте проведённый документ в режиме предприятия
  2. 2
    Нажмите кнопку «Дт/Кт» или команду «Ещё → Движения документа»
  3. 3
    Выберите нужный регистр в списке слева и изучите записи
  4. 4
    Для анализа по регистру откройте отчёт и добавьте группировку «Регистратор»
  5. 5
    Сверьте суммы движений с данными самого документа

Что происходит при проведении и отмене проведения

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

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

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

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

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

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

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

Типичные ошибки
01
Правка записей регистра вручную вместо исправления документа — при перепроведении ручные правки исчезнут
02
Удаление документа вместо отмены проведения — теряется история и нарушается нумерация
03
Проведение документов задним числом без восстановления последовательностей — итоги становятся неактуальными
04
Добавление нового регистра в конфигурацию без включения документов в список регистраторов — движения просто не формируются

Регистратор при разработке и доработке

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

Пример минимального кода формирования движения по регистру накопления:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

Движения.ОстаткиТоваров.Записывать = Истина;

Для Каждого Строка Из Товары Цикл

Движение = Движения.ОстаткиТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Номенклатура = Строка.Номенклатура;

Движение.Количество = Строка.Количество;

КонецЦикла;

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

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

При отладке проведения удобно ставить точку останова в обработке проведения и смотреть набор записей до вызова Записать(). Так видно, какие именно движения сформирует документ, ещё до того, как они попадут в базу.
ПЗ
Практическое замечание

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

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

Для массовой проверки используйте отчёты с группировкой по регистраторам и сверку с аналогичными отчётами по документам. В типовых конфигурациях есть штатные инструменты: «Экспресс-проверка ведения учёта» в 1С:Бухгалтерии, обработки восстановления последовательностей, помощники корректности остатков.

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

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

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

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

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

Регистр пуст или часть записей отсутствует

Поле «Регистратор» в записях
Норма

Ссылка открывает сам документ

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

«Объект не найден» — битая ссылка

Суммы в отчёте
Норма

Расшифровка по регистраторам сходится с итогом

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

Есть суммы без документов или лишние документы

Отмена проведения
Норма

Все движения документа удалены из регистров

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

Записи остались — признак ручного вмешательства или сбоя

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

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

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

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

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

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

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

Почему в отчёте сумма есть, а документ-регистратор не открывается?

Чаще всего это битая ссылка после обмена данными или удаления объекта в обход контроля целостности. Запустите тестирование и исправление базы с проверкой ссылочной целостности и восстановите документ из резервной копии или из базы-источника обмена.

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

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

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

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

Итог

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

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