Структура подчиненности (связанные объекты) » История » Версия 1
Версия 1/5
-
Следующее » -
Текущая версия
Всеволод Дорофеев, 15.09.2025 17:19
Структура подчиненности (связанные объекты)¶
Добавление Структура подчиненности (связанные документы) в расширении¶
При добавлении нового реквизита в объект (документ, справочник) может возникнуть задача вывода связанных документов.
Если добавлять в расширение КритерииОтбора.СвязанныеДокументы, тогда в расширение будут добавлены все участвующие объекты.
Можно решить иначе - добавлением кода:
1. Добавляем в расширение процедуру ОбщийМодуль.ВариантыОтчетовПереопределяемый.ОпределитьОбъектыСКомандамиОтчетов
&После("ОпределитьОбъектыСКомандамиОтчетов")
Процедура мн_ОпределитьОбъектыСКомандамиОтчетов(Объекты)
Объекты.Добавить(Метаданные.Документы.ОрдерНаОтражениеИзлишковТоваров);
Объекты.Добавить(Метаданные.Документы.ОрдерНаОтражениеНедостачТоваров);
КонецПроцедуры
2. Добавляем в расширение ОбщийМодуль.СтруктураПодчиненностиСлужебный.ИндексТиповСвязанныхОбъектов
&ИзменениеИКонтроль("ИндексТиповСвязанныхОбъектов")
Функция мн_ИндексТиповСвязанныхОбъектов()
Индекс = Новый Соответствие;
МетаданныеСвязанныхОбъектов = Метаданные.КритерииОтбора.СвязанныеДокументы;
ТипыСвязанныхОбъектов = МетаданныеСвязанныхОбъектов.Тип.Типы();
ТипПараметраКоманды = Метаданные.ОбщиеКоманды.СвязанныеДокументы.ТипПараметраКоманды;
Для Каждого ТипСвязанногоОбъекта Из ТипыСвязанныхОбъектов Цикл
Если Не ТипПараметраКоманды.СодержитТип(ТипСвязанногоОбъекта) Тогда
Индекс.Вставить(ТипСвязанногоОбъекта, Истина);
КонецЕсли;
КонецЦикла;
#Вставка
//{Проект
Индекс.Вставить(Тип("ДокументСсылка.ОрдерНаОтражениеНедостачТоваров"), Истина);
Индекс.Вставить(Тип("ДокументСсылка.ОрдерНаОтражениеИзлишковТоваров"), Истина);
// } Проект .
#КонецВставки
Возврат Индекс;
КонецФункции