при формировании выдает такую картину:
Ошибка компоновки данных
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных "НД1"
по причине:
Не найден внешний набор данных "НД1"
в чем беда?
код:
Ошибка компоновки данных
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных "НД1"
по причине:
Не найден внешний набор данных "НД1"
в чем беда?
код:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
КомпоновщикНастроек.Настройки.Структура.Очистить();
МассПар=Новый Массив;
Для каждого Пункт Из ТабличныйПоиск Цикл
МассПар.Добавить(Пункт);
КонецЦикла;
СКД=Новый СхемаКомпоновкиДанных;
ИД = СКД.ИсточникиДанных.Добавить();
ИД.Имя = "СхемаСКД";
ИД.ТипИсточникаДанных = "Local";
НД=СКД.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных"));
НД.Имя="НД1";
НД.ИмяОбъекта="НД1";
НД.ИсточникДанных="СхемаСКД";
ПНД = НД.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
ПНД.Поле = "Наименование";
ПНД.ПутьКДанным = "Наименование";
ПНД.Заголовок = "Наименование";
ПНД2 = НД.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
ПНД2.Поле = "Комплектующие";
ПНД2.ПутьКДанным = "Комплектующие";
ПНД2.Заголовок = "Комплектующие";
НК=КомпоновщикНастроек.Настройки;
Если нк.Структура.Количество()=0 Тогда
Таб=НК.Структура.Добавить(Тип("ТаблицаКомпоновкиДанных"));
ГКД1 = Таб.Строки.Добавить();
ГКД1.Использование = Истина;
ПГКД1 = ГКД1.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
ПГКД1.Использование = Истина;
ПГКД1.Поле = Новый ПолеКомпоновкиДанных("Наименование");
ВП1=ГКД1.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
ВП1.Использование=Истина;
ГКД2 = ГКД1.Структура.Добавить();
ГКД2 = Таб.Колонки.Добавить();
ГКД2.Использование = Истина;
ПГКД2 = ГКД2.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
ПГКД2.Использование = Истина;
ПГКД2.Поле = Новый ПолеКомпоновкиДанных("Комплектующие");
ВП2=ГКД2.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
ВП2.Использование=Истина;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Комплектующее.Ссылка КАК Ссылка
|ПОМЕСТИТЬ втКомплект
|ИЗ
| Справочник.Комплектующее КАК Комплектующее
|ГДЕ
| Комплектующее.Ссылка В (&Комплект)
|;
|/////////////////////////
|ВЫБРАТЬ различные
| ИзделиеСостав.Ссылка КАК Ссылка
| ПОМЕСТИТЬ втИзделияСовпадающиеПоОднойСоставлящией
|ИЗ
| Справочник.Изделие.Состав КАК ИзделиеСостав
|ГДЕ
| ИзделиеСостав.Комплектующие В (&Комплектующие)
|;
|
|/////////////////////////
|
|ВЫБРАТЬ различные
| втИзделия.Ссылка КАК Ссылка
| ПОМЕСТИТЬ втИзделияСНедостающимЛибоЛишнимиКомплектующими
|ИЗ
| втИзделияСовпадающиеПоОднойСоставлящией как втИзделия
| Соединение Справочник.Изделие.Состав КАК ИзделиеСостав
| Полное Соединение втКомплект как втКомплект
| По ИзделиеСостав.Комплектующие = втКомплект.Ссылка
| По ИзделиеСостав.Ссылка = втИзделия.Ссылка
|ГДЕ
| ИзделиеСостав.Комплектующие is null
| Или втКомплект.Ссылка is null
|;
|/////////////////////////
|ВЫБРАТЬ
| ВсеИзделия.Ссылка КАК Ссылка
|
|ИЗ
| втИзделияСовпадающиеПоОднойСоставлящией Как ВсеИзделия
| Левое Соединение втИзделияСНедостающимЛибоЛишнимиКомплектующими Как ЛишниеИзделия
| По ВсеИзделия.Ссылка = ЛишниеИзделия.Ссылка
|ГДЕ
| ЛишниеИзделия.Ссылка is null
|";
Запрос.УстановитьПараметр("Комплект", МассПар);
Запрос.УстановитьПараметр("Комплектующие", МассПар);
РезЗап = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
ВнешНаб=Новый Структура("НД1",РезЗап);
КМ=Новый КомпоновщикМакетаКомпоновкиДанных;
МКМ=КМ.Выполнить(СКД,НК);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МКМ,ВнешНаб);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КонецПроцедуры
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот