Разработка и Конфигурация · 10 мин
Что такое регистратор в 1С и зачем он нужен
Регистратор в 1С — документ, который создал запись в регистре. Разбираем роль регистратора, как найти его по записи, типичные ошибки и способы проверки движений.
При работе с регистрами в 1С пользователи и разработчики регулярно встречают поле «Регистратор». Оно появляется в отчётах по регистрам, в сообщениях об ошибках проведения, в запросах и в формах движений документа. Понимание того, что такое регистратор, напрямую влияет на умение читать учётные данные и находить источник ошибок.
Регистратор — это техническое поле, которое платформа 1С автоматически добавляет в каждый регистр (накопления, сведений, бухгалтерии, расчёта). Оно хранит ссылку на документ, который сформировал конкретную запись. Благодаря этому полю любую строку в регистре можно отследить до первичного документа и, наоборот, увидеть все следы, которые документ оставил в учёте.
Без регистратора регистр превратился бы в набор обезличенных цифр: остаток на складе есть, но непонятно, какая накладная его сформировала. Именно связка «запись регистра → регистратор» обеспечивает подотчётность данных и возможность перепровести, отменить или исправить документ с корректным пересчётом итогов.
Что такое регистратор простыми словами
Регистр в 1С — это таблица, где накапливаются учётные данные: остатки товаров, взаиморасчёты, проводки, курсы валют. Записи в эту таблицу попадают не сами по себе, а при проведении документов. Каждый документ, который пишет в регистр, становится регистратором своих записей.
Например, документ «Поступление товаров и услуг» при проведении создаёт записи в регистре «Товары на складах». В поле «Регистратор» каждой такой записи платформа проставляет ссылку на это поступление. Если документ распровести, его записи из регистра удаляются — регистратор и его движения неразрывно связаны.
Важно понимать: регистратор — это не отдельный объект конфигурации, а реквизит, присутствующий в структуре любого регистра. Удалить или переименовать его нельзя, он создаётся платформой автоматически.
Где встречается регистратор в типовых конфигурациях
Поле «Регистратор» можно увидеть в нескольких местах. Во-первых, в форме движений документа: откройте проведённый документ и перейдите к списку регистров, по которым он сделал движения, — там каждая запись привязана к этому документу как к регистратору.
Во-вторых, регистратор выводится в отчётах по регистрам. Если построить универсальный отчёт или отчёт по остаткам с детализацией до документа, в строках появится колонка «Регистратор» — она покажет, какие накладные, счета или ордера сформировали итоговые цифры.
В-третьих, регистратор фигурирует в запросах и коде. Обращение вида Регистр.Регистратор — стандартный способ получить документ-источник записи при разработке отчётов и обработок.
Проверить регистратор на предмет недоступного или удалённого объекта
Сравнить проведённые движения с данными самого регистратора
Проверить, не изменён ли документ другим пользователем или обменом
Как найти регистратор по записи регистра
Типовая задача: в отчёте по остаткам видна подозрительная сумма, и нужно понять, откуда она взялась. Порядок действий зависит от того, работаете вы в пользовательском режиме или через конфигуратор.
В пользовательском режиме проще всего воспользоваться отчётом с детализацией. Откройте универсальный отчёт, выберите нужный регистр, добавьте группировку «Регистратор» — и каждая сумма разложится по документам. Двойной клик по строке откроет сам документ.
Другой путь — через функцию «Ещё → Вывести список» в форме списка регистра (если она доступна) или через поиск по ссылкам: в меню «Администрирование» или через обработку поиска ссылок на объект можно увидеть, где используется документ как регистратор.
- 1Откройте универсальный отчёт или отчёт по регистру
- 2Добавьте в настройках группировку или колонку «Регистратор»
- 3Сформируйте отчёт и найдите интересующую сумму
- 4Откройте документ двойным кликом и проверьте его движения
- 5При необходимости сравните движения с данными табличной части документа
Как увидеть все движения документа-регистратора
Обратная задача — посмотреть, какие записи создал конкретный документ. Откройте проведённый документ и найдите кнопку перехода к движениям: в типовых конфигурациях это «Ещё → Движения документа» или отдельная команда в панели навигации. Откроется список регистров, по которым документ провёлся, и содержимое каждого набора записей.
Этот приём незаменим при разборе ошибок учёта. Если документ провёлся, но отчёт его «не видит», первым делом проверьте движения: возможно, документ вовсе не записал ничего в нужный регистр или записал с неожиданными значениями измерений.
При перепроведении документа платформа сначала удаляет его старые записи из всех регистров, затем записывает новые. Поэтому движения всегда соответствуют текущему состоянию документа — если только проведение не завершилось ошибкой.
Регистратор в запросах и коде
Разработчики обращаются к полю регистратора постоянно. В языке запросов оно доступно как обычное поле виртуальной или физической таблицы регистра. Типичный пример — выборка движений конкретного документа:
ВЫБРАТЬ *
ИЗ РегистрНакопления.ТоварыНаСкладах
ГДЕ Регистратор = &Документ
Через точку от регистратора можно обращаться к реквизитам документа: Регистратор.Организация, Регистратор.Контрагент. Это удобно для отборов, но в больших таблицах разыменование может замедлять запрос — при возможности фильтруйте сначала по самой ссылке.
Встроенный язык тоже предоставляет доступ: у набора записей регистра есть отбор по регистратору, а у объекта документа — свойство «Движения», через которое программно формируются записи при проведении.
Запрос = Новый Запрос("ВЫБРАТЬ * ИЗ РегистрНакопления.ТоварыНаСкладах ГДЕ Регистратор = &Регистратор");
Запрос.УстановитьПараметр("Регистратор", ДокументСсылка);
Выборка = Запрос.Выполнить().Выбрать();Типичные ошибки и проблемы с регистраторами
Одна из частых проблем — «битые» ссылки в поле регистратора. Они появляются, когда документ был удалён физически (например, при свёртке базы или некорректной обработкой), а записи регистра остались. В отчётах такие строки отображаются с нечитаемой ссылкой вида «Объект не найден».
Вторая типичная ситуация — ручное изменение движений. Если в конфигурации разрешена ручная корректировка движений документа, записи могут перестать соответствовать данным документа. После перепроведения такие правки теряются, что становится неприятным сюрпризом.
Третья группа ошибок связана с обменами и переносами данных: документ приехал в базу, а его движения — нет, или наоборот. Признак — документ проведён, но регистры пусты, либо в регистрах есть записи с регистратором, которого нет в списке документов.
Как проверить корректность связи «документ — регистр»
Чтобы убедиться, что учётные данные согласованы, полезно периодически сверять документы и их движения. Базовый способ — выборочно открыть несколько документов, сравнить их табличные части с движениями по регистрам и убедиться, что суммы и количества совпадают.
Для массовой проверки используйте штатные механизмы: тестирование и исправление информационной базы умеет находить битые ссылки, а отчёты по регистрам с группировкой по регистратору позволяют выявить записи без документов. В крупных базах такую проверку лучше выполнять в копии или в нерабочее время — пересчёт итогов и проверка ссылок ресурсоёмки.
Как проверить результат
Документ открывается и проведён
«Объект не найден» или документ распроведён
Записи соответствуют данным документа
Движений нет либо суммы расходятся с документом
Детализация по регистраторам сходится с общим итогом
Есть строки без регистратора или с нечитаемой ссылкой
Часто задаваемые вопросы
Можно ли изменить регистратор у записи регистра вручную?
Нет, поле «Регистратор» заполняется платформой автоматически и недоступно для редактирования. Перенести запись к другому документу можно только программно: создать набор записей с отбором по нужному регистратору и скопировать туда данные. Делать это следует только с пониманием последствий для учёта.
Чем регистратор отличается от измерения регистра?
Измерения — это аналитические разрезы, которые задаёт разработчик конфигурации (склад, номенклатура, контрагент). Регистратор — системное поле платформы, оно есть в любом регистре и всегда указывает на документ-источник записи. Удалить или переопределить регистратор нельзя.
Почему в отчёте по регистру есть записи, а документ-регистратор не открывается?
Скорее всего, документ был физически удалён, а его записи остались — так называемая битая ссылка. Такое бывает после свёртки базы, некорректных обработок удаления или сбоев обмена. Найдите такие записи через отчёт с группировкой по регистратору и удалите их штатными средствами или через тестирование и исправление.
Может ли один документ быть регистратором для нескольких регистров?
Да, это нормальная практика. Например, одна реализация может писать в регистры остатков товаров, взаиморасчётов, продаж и в регистр бухгалтерии одновременно. Во всех этих записях поле «Регистратор» будет ссылаться на один и тот же документ.
Что происходит с записями регистра при отмене проведения документа?
При распроведении платформа удаляет все записи документа из всех регистров, где он являлся регистратором. Сам документ остаётся в базе, но перестаёт влиять на отчёты и итоги. Повторное проведение создаст записи заново на основе текущих данных документа.
Как быстро найти все документы, писавшие в конкретный регистр за период?
Используйте универсальный отчёт: выберите регистр, установите период, добавьте группировку «Регистратор» и отключите лишние детализации. В результате получите список документов с их суммами. Альтернатива — запрос к таблице регистра с группировкой по полю «Регистратор».
Что важно запомнить
Регистратор — это ссылка на документ, создавший запись в регистре; поле заполняется автоматически и недоступно для правки. Через регистратор записи отслеживаются до первичного документа, а через движения документа проверяется корректность его вклада в учёт. Битые ссылки и расхождение движений с документом — главные признаки проблем, которые стоит искать регулярно.