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