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