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

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

Как определить, какому документу принадлежит запись регистра 1С

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

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

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

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

Что такое свойство «Регистратор» и где оно хранится

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

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

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

Как найти документ-регистратор через запрос

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

ВЫБРАТЬ

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

ТоварыНаСкладах.Номенклатура,

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

ИЗ

РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах

ГДЕ

ТоварыНаСкладах.Номенклатура = &Номенклатура

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

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

bsl
Запрос = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ Регистратор ИЗ РегистрНакопления.ТоварыНаСкладах ГДЕ Номенклатура = &Ном"); Запрос.УстановитьПараметр("Ном", НоменклатураСсылка); Результат = Запрос.Выполнить().Выгрузить();

Как определить документ программно и через форму списка

Программный доступ к регистратору

Во встроенном языке регистратор доступен как свойство записи или набора записей. Для набора записей регистра свойство «Отбор.Регистратор» задаёт, движения какого документа читаются или записываются. У отдельной записи регистра сведений ссылку возвращает обращение Запись.Регистратор.

Также у ссылки на документ можно получить его метаданные: Регистратор.Метаданные().Имя вернёт вид документа, что полезно, когда один регистр заполняют разные виды документов.

Отбор в форме списка регистра

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

Если колонки «Регистратор» не видно, добавьте её через «Ещё» → «Изменить форму» или настройку списка — в стандартных формах она обычно присутствует, но может быть скрыта настройками.

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

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

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

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

Особые ситуации и ограничения

Несколько документов не могут владеть одной и той же записью: у записи всегда один регистратор. Но один документ создаёт множество записей в разных регистрах — поэтому поиск «какому документу принадлежит запись» всегда имеет однозначный ответ.

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

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

Типичные ошибки при поиске регистратора

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

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

Третья ошибка — игнорировать активность записи. Запись с признаком «Активность = Ложь» не участвует в итогах, но регистратор у неё всё равно есть, и при анализе расхождений её нужно учитывать отдельно.

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

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

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

Содержит ссылку на существующий проведённый документ

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

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

Открытие документа из записи
Норма

Документ открывается и проведён

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

Документ помечен на удаление или не проведён, а запись активна

Сумма записи и данные документа
Норма

Количество и сумма совпадают с табличной частью

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

Значения расходятся — возможна ручная правка движений

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

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

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

Что делать, если в поле «Регистратор» написано «Объект не найден»?

Это битая ссылка: документ удалён физически или не пришёл при обмене. Проверьте обмен данными и журнал удаления объектов. Восстановление выполняется через повторную выгрузку документа из базы-источника или корректировку регистров.

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

Запросом «ВЫБРАТЬ РАЗЛИЧНЫЕ Регистратор» с отбором по периоду либо через отчёт с группировкой «Регистратор». Оба способа вернут список уникальных документов без дублирования записей.

Почему у регистра сведений нет поля «Регистратор»?

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

Можно ли изменить регистратор у существующей записи?

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

Итог

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

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