Допустим, на повестке дня, по ТЗ, возник вопрос: «А как добавить в структуру подчиненности, то есть в отчет «Связанные документы», свои документы, добавленные через расширение?». Данная статья опишет, один из способов решения этого вопроса на примере стандартной конфигурации 1С:ERP 2.5 (релиз: 2.5.25.72).
По факту, у нас на руках есть уже заготовленное расширение, в котором есть стандартный документ «Заказ клиента» и наш документ «Корректировка заказа». Необходимо «прикрутить» наш документ в стандартный отчет «Связанные документы». Для интриги приведу конечный результат наших доработок.
Так выглядит отчет «Связанные документы», со стороны документа «Заказ клиента»:

Так выглядит отчет со стороны нашего добавленного документа через расширение:

Итак, поехали)
В наличии есть расширение, подключенное в конфигурации. В нем создан документ «Корректировка заказа клиента».

На форму документа «Корректировка заказа клиента» выведена общая команда «Связанные документы». Для этого добавим в наше расширение общую команду «СвязанныеДокументы».
В свойствах общей команды, в типе параметров команды добавим наш тип документа – ДокументСсылка.

После обновления конфигурации убедимся, что необходимая команда появилась на форме документа.

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

На вкладке «Данные» укажем, что в тип данных входит необходимый документ «Заказ клиента». В моем случае:

Теперь перейдем к более сложной части и, наверное, более «спорной» – редактирование, через наше расширение, общего модуля.
Модуль, который мы будем редактировать — это: «СтруктураПодчиненностиСлужебный», модуль серверный.
Выбираем функцию «ИндексТиповСвязанныхОбъектов()», добавляем ее в расширение, с префиксом &ИзменениеИКонтроль.

Кратко прокомментирую код: в функцию мы добавляем наш критерий отбора, который обходим в цикле и возвращаем значение индекса при построении иерархии документов, в нашем отчете «Связанные документы».
Можно поступить еще проще и просто к индексу добавить наш тип документа:

Оба варианта, по моему мнению, имею право на существование.
Чтобы было легче, приведу оба примера текстом. Первый пример:
Функция Импро_ИндексТиповСвязанныхОбъектов()
Индекс = Новый Соответствие;
МетаданныеСвязанныхОбъектов = Метаданные.КритерииОтбора.СвязанныеДокументы;
ТипыСвязанныхОбъектов = МетаданныеСвязанныхОбъектов.Тип.Типы();
ТипПараметраКоманды = Метаданные.ОбщиеКоманды.СвязанныеДокументы.ТипПараметраКоманды;
Для Каждого ТипСвязанногоОбъекта Из ТипыСвязанныхОбъектов Цикл
Если Не ТипПараметраКоманды.СодержитТип(ТипСвязанногоОбъекта) Тогда
Индекс.Вставить(ТипСвязанногоОбъекта, Истина);
КонецЕсли;
КонецЦикла;
#Вставка
МетаданныеСвязанныхОбъектов = Метаданные.КритерииОтбора.КоррЗак_СвязанныеДокументы;
ТипыСвязанныхОбъектов = МетаданныеСвязанныхОбъектов.Тип.Типы();
ТипПараметраКоманды = Метаданные.ОбщиеКоманды.СвязанныеДокументы.ТипПараметраКоманды;
Для Каждого ТипСвязанногоОбъекта Из ТипыСвязанныхОбъектов Цикл
Если Не ТипПараметраКоманды.СодержитТип(ТипСвязанногоОбъекта) Тогда
Индекс.Вставить(ТипСвязанногоОбъекта, Истина);
КонецЕсли;
КонецЦикла;
#КонецВставки
Возврат Индекс;
КонецФункции
Второй пример:
&ИзменениеИКонтроль("ИндексТиповСвязанныхОбъектов")
Функция Импро_ИндексТиповСвязанныхОбъектов()
Индекс = Новый Соответствие;
МетаданныеСвязанныхОбъектов = Метаданные.КритерииОтбора.СвязанныеДокументы;
ТипыСвязанныхОбъектов = МетаданныеСвязанныхОбъектов.Тип.Типы();
ТипПараметраКоманды = Метаданные.ОбщиеКоманды.СвязанныеДокументы.ТипПараметраКоманды;
Для Каждого ТипСвязанногоОбъекта Из ТипыСвязанныхОбъектов Цикл
Если Не ТипПараметраКоманды.СодержитТип(ТипСвязанногоОбъекта) Тогда
Индекс.Вставить(ТипСвязанногоОбъекта, Истина);
КонецЕсли;
КонецЦикла;
#Вставка
Индекс.Вставить(Тип("ДокументСсылка.КооректировкаЗаказаКлиента"), Истина);
#КонецВставки
Возврат Индекс;
КонецФункции
Надеюсь, эта статья-инструкция помогла вам найти ответ на вопрос и облегчила выполнение ТЗ. Хорошего всем дня и интересных ТЗ!