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

Документы и Печать · 9 мин

Как найти документ-основание в 1С

Как найти документ-основание в 1С:Предприятие 8.3: через кнопку «Связанные документы», поиск по ссылке, структуру подчинённости и запросы. Разбор ошибок.

Документ-основание в 1С — это исходный документ, на основе которого создан текущий: например, реализация товаров сделана на основании счёта, а счёт-фактура — на основании реализации. Найти основание нужно при сверке с контрагентом, исправлении ошибок, проверке цепочки проведения или перед удалением документа из базы.

Существует несколько способов добраться до основания: встроенные механизмы интерфейса (панель связанных документов, структура подчинённости), стандартный поиск по ссылкам, а также программные методы через запрос или консоль кода. Выбор зависит от конфигурации (УТ, БП, КА, ERP), от того, открыт ли доступ к нужным объектам, и от того, нужен разовый просмотр или массовая проверка.

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

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

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

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

Способ 1. Панель «Связанные документы» в открытом документе

Самый быстрый метод — открыть документ и воспользоваться встроенной панелью связей. В конфигурациях на управляемых формах (БП 3.0, УТ 11, ERP, КА 2) она вызывается из формы документа.

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

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

Способ 2. Отчёт «Структура подчинённости» из списка документов

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

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

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

Способ 3. Поиск по реквизиту «ДокументОснование» через список

Когда нужно найти документы, у которых основанием является конкретный документ (обратная задача), удобно использовать отбор в динамическом списке. Откройте журнал нужного вида документов, включите настройку списка («Ещё» → «Настроить список») и добавьте отбор по полю «Документ основание» (или «Заказ», «Счёт на оплату» — имя зависит от вида документа).

Если поля нет в списке доступных для отбора, значит, у этого вида документов основание хранится иначе — например, в табличной части или в регистре связей. В таком случае переходите к поиску ссылок или запросу.

Способ 4. Поиск ссылок на объект через «Все функции»

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

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

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

Способ 5. Программный поиск через запрос или консоль кода

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

ВЫБРАТЬ

Реализация.Ссылка КАК Документ,

Реализация.ДокументОснование КАК Основание

ИЗ

Документ.РеализацияТоваровУслуг КАК Реализация

ГДЕ

Реализация.ДокументОснование = &Основание

Если реквизит составного типа, запрос корректно вернёт ссылки разных видов документов. Для поиска по всем документам сразу используйте метод НайтиПоСсылкам() встроенного языка — он аналогичен обработке поиска ссылок, но управляется программно.

bsl
МассивСсылок = Новый Массив;
МассивСсылок.Добавить(ДокументСсылка);
ТаблицаСсылок = НайтиПоСсылкам(МассивСсылок);
Для Каждого Строка Из ТаблицаСсылок Цикл
    Сообщить(Строка(Строка.Данные));
КонецЦикла;

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

Типичные ошибки
01
Искать основание только в реквизитах формы: в ряде конфигураций поле скрыто или связь хранится в регистре — проверяйте структуру подчинённости.
02
Считать, что пустая панель связей означает отсутствие основания: документ мог быть создан копированием или загружен из обмена без регистрации связи.
03
Удалять основание до проверки зависимых документов: это приводит к битым ссылкам и ошибкам при проведении.
04
Искать основание у непроведённого документа-результата раньше времени: связь может фиксироваться только при проведении.
05
Не учитывать права доступа: при ограничении на уровне записей (RLS) часть связанных документов просто не отображается.

Отдельная ситуация — обмены между базами (например, УТ ↔ БП). Документ может прийти в базу-приёмник без связи с основанием, если само основание не выгружалось. В таком случае основание ищут в базе-источнике по номеру и дате документа.

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

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

Основание открывается из панели связей
Норма

Документ открывается, дата и сумма логично соответствуют текущему

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

Ошибка «Объект не найден» — битая ссылка, основание удалено

Согласованность сумм
Норма

Сумма зависимого документа не превышает сумму основания (при частичном вводе — с учётом других документов по основанию)

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

Сумма по основанию превышена — возможен дубль ввода на основании

Статус проведения
Норма

Основание проведено, цепочка документов согласована по датам

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

Основание помечено на удаление или распроведено

Часто задаваемые вопросы

Почему в документе нет кнопки «Связанные документы»?

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

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

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

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

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

Что делать, если основание помечено на удаление?

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

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

Технически — да, если реквизит доступен для редактирования и нет блокировок по дате запрета. Но это рискованная операция: перепроведение может изменить движения, расчёты с контрагентом и данные НДС. Безопаснее распровести документ, изменить основание и провести заново, сверив результат.

Почему поиск ссылок не показывает очевидное основание?

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

Итог

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

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