Документ-основание и цепочка подчинённых документов: от счёта до счёта-фактуры

· 10 мин

Содержание

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

Так устроена работа почти во всех конфигурациях на платформе 8.3: Бухгалтерии 3.0, Управлении торговлей 11, ЗУП 3.1, ERP. Пользователь экономит время на заполнении, а бухгалтер получает прозрачную цепочку «счёт → реализация → счёт-фактура → оплата». Разработчику связь даёт два механизма: ввод на основании и критерий отбора для структуры подчинённости.

Что такое подчинённый документ и чем он отличается от копии

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

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

Чем это отличается от копирования (F9 или команда «Скопировать»):

СпособЧто переноситсяЕсть ли связьКогда выбирать
Создать на основанииДанные основания по правилам конкретного документаДа, ссылка на основаниеСледующий шаг операции: счёт → реализация
КопированиеВсе реквизиты один в один, тот же вид документаНетПохожая операция с другим контрагентом или датой
Ввод вручнуюНичегоНет, если не заполнить поле основанияРазовая операция без предыстории

💡 Копия всегда того же вида, что и исходник. Подчинённый документ почти всегда другого вида: из заказа получается реализация, а не второй заказ.

Зачем вообще нужны подчинённые документы:

  • ⏱ меньше ручного ввода — номенклатура, цены, ставки НДС и договор переносятся автоматически;
  • 🔗 видна история сделки — за минуту находите, оплачен ли счёт и выставлен ли счёт-фактура;
  • ✅ меньше расхождений — суммы в цепочке совпадают, если их не правили руками;
  • 📊 работают отчёты по выполнению: «что отгружено по заказу», «что не оплачено по счетам».

Как в 1С устроена связь между документами

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

Отсюда три практических следствия:

  1. Изменение основания не меняет подчинённые документы. Поправили цену в счёте — в уже созданной реализации осталась старая цена.
  2. Отмена проведения основания не отменяет проведение подчинённых. Каждый документ проводится сам по себе.
  3. Один документ может иметь несколько подчинённых и сам быть подчинённым. Получается дерево: заказ → две частичные реализации → к каждой свой счёт-фактура.

Бывает и обратная зависимость по данным. В УТ 11 реализация по заказу влияет на статус заказа и остатки к отгрузке: заказ «узнаёт» о выполнении через регистры, а не через свой реквизит. В Бухгалтерии 3.0 похожим образом по счёту на оплату видно, оплачен он или нет.

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

Цепочки подчинённых документов в БП 3.0, УТ 11 и ЗУП 3.1

Типовые цепочки, с которыми бухгалтер сталкивается каждый день:

КонфигурацияОснованиеПодчинённый документ
Бухгалтерия 3.0Счёт покупателюРеализация (акт, накладная, УПД), поступление на расчётный счёт
Бухгалтерия 3.0Реализация (акт, накладная, УПД)Счёт-фактура выданный, возврат товаров от покупателя
Бухгалтерия 3.0Поступление (акт, накладная, УПД)Счёт-фактура полученный, возврат товаров поставщику
УТ 11Заказ клиентаРеализация товаров и услуг, счёт на оплату клиенту
УТ 11Заказ поставщикуПриобретение товаров и услуг
ЗУП 3.1Приём на работуКадровый перевод, увольнение

В ЗУП логика та же, но цепочки короче. Кадровые документы создают на основании, чтобы не выбирать сотрудника и его текущие условия заново.

💡 В БП 3.0 счёт-фактуру к реализации чаще создают не через Создать на основании, а кнопкой «Выписать счёт-фактуру» внизу формы проведённой реализации. Результат тот же: счёт-фактура подчинён реализации, а в форме основания появляется ссылка на него.

Как создать подчинённый документ: пошагово

Возьмём самый частый случай в БП 3.0 — реализацию по счёту покупателю. Для других пар порядок такой же.

Из формы документа-основания

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

Из списка документов

  1. Откройте журнал, например Продажи → Счета покупателям.
  2. Выделите строку с нужным счётом.
  3. Нажмите Создать на основании на командной панели списка и выберите вид документа.

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

Если кнопки «Создать на основании» не видно

  • 🔍 Откройте меню Ещё на командной панели — кнопка могла уйти туда из-за ширины окна.
  • 🛠 Через Ещё → Изменить форму верните её на панель.
  • 🔒 Проверьте права. Если у пользователя нет права добавлять документ нужного вида, команда для него не выводится.
  • 📋 Убедитесь, что пара документов вообще предусмотрена конфигурацией. Ввести на основании можно только то, что заложил разработчик.

Частичная отгрузка: заказ на 100 штук, отгрузили 60. Создайте реализацию на основании, уменьшите количество до 60 и проведите. Остаток 40 позже отгрузите второй реализацией по тому же заказу. В УТ 11 вторая реализация обычно сама подставляет только неотгруженный остаток.

Структура подчинённости: как найти все связанные документы

Главный инструмент — форма «Структура подчиненности». Она показывает дерево: основания выше текущего документа, подчинённые ниже, сам документ выделен.

Как открыть:

  1. В форме документа на командной панели нажмите кнопку со значком иерархии (подсказка «Структура подчиненности»). Если её нет на панели, ищите команду в меню Ещё.
  2. В списке документов выделите строку и вызовите ту же команду.

Что видно в дереве:

  • ✅ проведённые документы отмечены значком проведения;
  • ❌ помеченные на удаление — перечёркнутым значком;
  • 💰 суммы и даты, чтобы сравнить звенья цепочки без открытия каждого документа.

Двойной щелчок по строке открывает документ. Отсюда удобно пройти всю сделку: от заказа до оплаты и возврата.

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

Структура подчинённости отвечает на вопрос по одному документу. Для массовых проверок используйте другие приёмы:

  • 📑 Отбор в списке. В журнале реализаций настройте отбор по полю основания в настройках списка (меню Ещё). Так видно все отгрузки по конкретному счёту или заказу.
  • 📊 Отчёты о выполнении. В УТ 11 есть отчёты о состоянии заказов клиентов и поставщикам — они строятся по регистрам, а не по ссылкам, и показывают, что осталось отгрузить или оплатить.
  • 🔎 Консоль запросов. Для нестандартной проверки, например «реализации без счёта-фактуры», хватает одного запроса:
ВЫБРАТЬ
	Реализация.Ссылка
ИЗ
	Документ.РеализацияТоваровУслуг КАК Реализация
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный.ДокументыОснования КАК СФ
		ПО СФ.ДокументОснование = Реализация.Ссылка
ГДЕ
	Реализация.Проведен
	И СФ.Ссылка ЕСТЬ NULL

Имена объектов и реквизитов здесь даны по БП 3.0. В другой конфигурации сверьте их в конфигураторе: дерево метаданных подскажет точные названия.

Настройка ввода на основании в конфигураторе

Раздел для тех, кто дорабатывает конфигурацию. В типовых решениях изменения лучше вносить расширением, чтобы не снимать конфигурацию с поддержки.

Шаг 1. Разрешить ввод на основании

Откройте свойства документа, который должен создаваться на основании, вкладка «Ввод на основании»:

  • в список «Вводится на основании» добавьте виды документов-оснований;
  • у основания аналогичный список называется «Является основанием для».

После этого платформа выводит команду создания в форме основания. В конфигурациях на БСП (БП 3.0, УТ 11, ЗУП 3.1) команды создания на основании формирует подсистема подключаемых команд: их описывают в модуле менеджера документа, в процедуре ДобавитьКомандыСозданияНаОсновании. Если команда не появилась в типовой конфигурации, ищите её там.

Шаг 2. Описать заполнение

Логику переноса данных пишут в модуле объекта, в обработчике ОбработкаЗаполнения. Пример для реализации по заказу:

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)

	Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда

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

		Шапка = Результаты[0].Выбрать();
		Если Шапка.Следующий() Тогда
			ЗаполнитьЗначенияСвойств(ЭтотОбъект, Шапка);
		КонецЕсли;

		ДокументОснование = ДанныеЗаполнения;
		Товары.Загрузить(Результаты[1].Выгрузить());

	КонецЕсли;

КонецПроцедуры

Названия документа и реквизитов условные — замените на свои. Реквизит ДокументОснование должен быть в подчинённом документе: именно он хранит связь. Товары.Загрузить переносит колонки с совпадающими именами, остальные останутся пустыми.

Создать подчинённый документ из кода можно так:

НовыйДокумент = Документы.РеализацияТоваров.СоздатьДокумент();
НовыйДокумент.Дата = ТекущаяДатаСеанса();
НовыйДокумент.Заполнить(СсылкаНаЗаказ);
НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);

Метод Заполнить вызывает тот же обработчик ОбработкаЗаполнения, поэтому логика переноса данных живёт в одном месте.

Шаг 3. Показать документ в структуре подчинённости

Наличие реквизита-ссылки ещё не гарантирует, что документ появится в дереве. В конфигурациях на БСП дерево строится по общему критерию отбора СвязанныеДокументы: откройте его в ветке Общие → Критерии отбора и добавьте в состав реквизит нового документа, который ссылается на основание. После обновления конфигурации базы связь появится в форме «Структура подчиненности».

Добавляйте в критерий только реквизиты-ссылки на документы. Лишние реквизиты, например ссылки на справочники, засоряют дерево и замедляют его построение на больших базах.

Ошибки при работе с подчинёнными документами

Большинство проблем возникает не при создании, а позже — когда основание правят или удаляют.

Диагностика: выберите симптом

Перед массовым удалением документов сделайте резервную копию базы. Удаление помеченных объектов необратимо, а цепочки часто тянут за собой оплаты и счета-фактуры, о которых вы не помнили.

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

Частые вопросы о подчинённых документах

Можно ли привязать уже созданный документ к основанию?
Да, если в документе есть поле основания. Откройте его, выберите документ-основание в этом поле и перепроведите. Табличная часть при этом не перезаполняется.
Как отвязать подчинённый документ от основания?
Очистите поле основания и запишите документ. Связь исчезнет, данные и проводки останутся прежними.
Может ли у документа быть несколько оснований?
Поле основания в шапке хранит одну ссылку. Некоторые документы, например счёт-фактура в БП 3.0, держат список оснований в табличной части — тогда один документ связан сразу с несколькими.
Влияет ли пометка на удаление основания на подчинённые документы?
Нет. Подчинённые остаются проведёнными и продолжают делать движения. Помечать на удаление каждый документ цепочки нужно отдельно.
Почему в структуре подчиненности видны документы, которые я не создавал на основании?
Дерево строится по ссылкам. Если в документе вручную выбрали основание, он попадёт в дерево так же, как созданный командой.