СКД внешний набор данных объект excel

1. 028k028 29.10.25 09:50 Сейчас в теме
Добрый день я сделал отчет в СКД который получает остаток из базы и также добавил данные из excel в ОсновнаяСхемаКомпоновкиДанных добавил НаборДанных1 и ДанныеExcel. у меня выходит ошибка
Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
Ошибка при вызове метода контекста (Выполнить)
{ВнешнийОтчет.ВнешнийОтчет1.МодульОбъекта(27)}:МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, Неопределено, ВнешниеНаборыДанных);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Несоответствие типов (параметр номер '5')
[ОшибкаИспользованияВстроенногоЯзыка]

вот код

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Экспорт
	
    СтандартнаяОбработка = Ложь; 
	
	// --- ИСПРАВЛЕНИЕ ЗДЕСЬ ---
	// Эта функция СРАЗУ возвращает объект типа "СхемаКомпоновкиДанных"
	СхемаКомпоновкиДанных = ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	
	// Строка "СхемаКомпоновкиДанных = МакетСКД.СхемаКомпоновкиДанных;" УДАЛЕНА
	// --- КОНЕЦ ИСПРАВЛЕНИЯ ---
	
	Настройки = КомпоновщикНастроек.ПолучитьНастройки();
	ВнешниеНаборыДанных = Новый Структура;
	
	Если ЗначениеЗаполнено(АдресДанныхExcel) Тогда
		ТаблицаExcel = ПолучитьИзВременногоХранилища(АдресДанныхExcel);
		Если ТаблицаExcel <> Неопределено Тогда
			ВнешниеНаборыДанных.Вставить("ДанныеExcel", ТаблицаExcel);
		КонецЕсли;
	КонецЕсли;
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	
	// Теперь вызов "Выполнить" получает правильный тип в 1-м параметре
	Если ВнешниеНаборыДанных.Количество() > 0 Тогда
		МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, Неопределено, ВнешниеНаборыДанных);
	Иначе
		МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, Неопределено);
	КонецЕсли;
	
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);
	ДокументРезультат.Очистить();
	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
	
КонецПроцедуры
Показать


отчет тоже приложил.
давно не делал отчет на СКД)) не могу понять где проблема))
Прикрепленные файлы:
Консигнация — V3.erf
По теме из базы знаний
Найденные решения
4. RustamZz 29.10.25 10:09 Сейчас в теме
(1)
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, Неопределено, ВнешниеНаборыДанных);


КомпоновщикМакетаКомпоновкиДанных (DataCompositionTemplateComposer)
Выполнить (Execute)

Синтаксис:
Выполнить(<Схема>, <Настройки>, <ДанныеРасшифровки>, <МакетОформления>, <ТипГенератора>, <ПроверятьДоступностьПолей>, <ПараметрыФункциональныхОпций>)
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user_1936660 29.10.25 09:55 Сейчас в теме
(1)
отчет тоже приложил
У нас, к сожалению, тоже не работает отладчик. Да и пользоваться мы им тоже не умеем.
4. RustamZz 29.10.25 10:09 Сейчас в теме
(1)
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, Неопределено, ВнешниеНаборыДанных);


КомпоновщикМакетаКомпоновкиДанных (DataCompositionTemplateComposer)
Выполнить (Execute)

Синтаксис:
Выполнить(<Схема>, <Настройки>, <ДанныеРасшифровки>, <МакетОформления>, <ТипГенератора>, <ПроверятьДоступностьПолей>, <ПараметрыФункциональныхОпций>)
3. 028k028 29.10.25 09:58 Сейчас в теме
отладчик показывает что ВнешниеНаборыДанных тип структура Структура в нем находятся данные из файла.
5. 028k028 31.10.25 15:13 Сейчас в теме
Вопрос закрыт благодарю
Для отправки сообщения требуется регистрация/авторизация

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот