Добрый день! Имеется справочник "АналогиНоменклатура", который содержит Эталон и Аналоги(элементы которые, аналогичны Эталону, содержатся в табличной части). Пытаюсь реализовать возможность, чтобы при выводе на печать табличнй части "ИсходныеКомплектующие" справочника "СпецификацииНоменклатуры", исключались аналоги, если они есть.
Написал часть кода, проверки только на Эталон, выдает на печать пустой документ.
Код 1C v 8.х Функция ПроверкаНаЭталон(Эталон)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийЭлемент", ЭтотОбъект.Ссылка);
Запрос.Текст = "ВЫБРАТЬ
| АналогиНоменклатура.Эталон,
| СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура
|ИЗ
| Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие,
| Справочник.АналогиНоменклатура КАК АналогиНоменклатура
|ГДЕ
| СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура = АналогиНоменклатура.Эталон
| ИЛИ СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура = АналогиНоменклатура.Аналоги.Аналог";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() = Истина Цикл
Эталон = Выборка.Эталон;
Прервать;
КонецЦикла;
Возврат Эталон
КонецФункции
Функция ПечатьБезАналогов()
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_БезАналогов";
Макет = ПолучитьМакет("БезАналогов");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаб");
ОбластьСтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаб");
ОбластьШапка.Параметры.НаименованиеСпецификации = Наименование;
ОбластьШапка.Параметры.КодСпецификации = Код;
ТабДокумент.Вывести(ОбластьШапка);
ТабДокумент.Вывести(ОбластьШапкаТаблицы);
Для Каждого СтрокаИсходныеКомпл Из ИсходныеКомплектующие Цикл
Если ПроверкаНаЭталон(СтрокаИсходныеКомпл.Номенклатура)= Истина Тогда
ОбластьСтрокаТаблицы.Параметры.Номенклатура = СтрокаИсходныеКомпл.Номенклатура;
ОбластьСтрокаТаблицы.Параметры.Код = СтрокаИсходныеКомпл.Номенклатура.Артикул;
ОбластьСтрокаТаблицы.Параметры.Наименование = СтрокаИсходныеКомпл.Номенклатура.Наименование;
ОбластьСтрокаТаблицы.Параметры.КолВИзд = СтрокаИсходныеКомпл.Количество;
ОбластьСтрокаТаблицы.Параметры.ПоНорме = СтрокаИсходныеКомпл.Норма;
ОбластьСтрокаТаблицы.Параметры.ЕдИзм = СтрокаИсходныеКомпл.ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Наименование;
ТабДокумент.Вывести(ОбластьСтрокаТаблицы);
Иначе
КонецЕсли;
КонецЦикла;
Возврат ТабДокумент;
КонецФункции