Добрый день я сделал отчет в СКД который получает остаток из базы и также добавил данные из excel в ОсновнаяСхемаКомпоновкиДанных добавил НаборДанных1 и ДанныеExcel. у меня выходит ошибка
Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
Ошибка при вызове метода контекста (Выполнить)
{ВнешнийОтчет.ВнешнийОтчет1.МодульОбъекта(27)}:МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, Неопределено, ВнешниеНаборыДанных);
[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Несоответствие типов (параметр номер '5')
[ОшибкаИспользованияВстроенногоЯзыка]
вот код
отчет тоже приложил.
давно не делал отчет на СКД)) не могу понять где проблема))
Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
Ошибка при вызове метода контекста (Выполнить)
{ВнешнийОтчет.ВнешнийОтчет1.МодульОбъекта(27)}:МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, Неопределено, ВнешниеНаборыДанных);
[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Несоответствие типов (параметр номер '5')
[ОшибкаИспользованияВстроенногоЯзыка]
вот код
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Экспорт
СтандартнаяОбработка = Ложь;
// --- ИСПРАВЛЕНИЕ ЗДЕСЬ ---
// Эта функция СРАЗУ возвращает объект типа "СхемаКомпоновкиДанных"
СхемаКомпоновкиДанных = ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
// Строка "СхемаКомпоновкиДанных = МакетСКД.СхемаКомпоновкиДанных;" УДАЛЕНА
// --- КОНЕЦ ИСПРАВЛЕНИЯ ---
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
ВнешниеНаборыДанных = Новый Структура;
Если ЗначениеЗаполнено(АдресДанныхExcel) Тогда
ТаблицаExcel = ПолучитьИзВременногоХранилища(АдресДанныхExcel);
Если ТаблицаExcel <> Неопределено Тогда
ВнешниеНаборыДанных.Вставить("ДанныеExcel", ТаблицаExcel);
КонецЕсли;
КонецЕсли;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
// Теперь вызов "Выполнить" получает правильный тип в 1-м параметре
Если ВнешниеНаборыДанных.Количество() > 0 Тогда
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, Неопределено, ВнешниеНаборыДанных);
Иначе
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, Неопределено);
КонецЕсли;
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);
ДокументРезультат.Очистить();
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры Показатьотчет тоже приложил.
давно не делал отчет на СКД)) не могу понять где проблема))
Прикрепленные файлы:
Консигнация — V3.erf
По теме из базы знаний
- Редактирование табличной части объекта с помощью СКД
- Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов
- Управляемая консоль отчетов – новый функциональный инструмент для работы с запросами и СКД в управляемых формах
- Универсальная загрузка данных формата Excel
- Приемы работы с СКД: выгрузка данных справочников и документов в линейном виде в табличный документ
Найденные решения
(1)
КомпоновщикМакетаКомпоновкиДанных (DataCompositionTemplateComposer)
Выполнить (Execute)
Синтаксис:
Выполнить(<Схема>, <Настройки>, <ДанныеРасшифровки>, <МакетОформления>, <ТипГенератора>, <ПроверятьДоступностьПолей>, <ПараметрыФункциональныхОпций>)
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, Неопределено, ВнешниеНаборыДанных);
КомпоновщикМакетаКомпоновкиДанных (DataCompositionTemplateComposer)
Выполнить (Execute)
Синтаксис:
Выполнить(<Схема>, <Настройки>, <ДанныеРасшифровки>, <МакетОформления>, <ТипГенератора>, <ПроверятьДоступностьПолей>, <ПараметрыФункциональныхОпций>)
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
КомпоновщикМакетаКомпоновкиДанных (DataCompositionTemplateComposer)
Выполнить (Execute)
Синтаксис:
Выполнить(<Схема>, <Настройки>, <ДанныеРасшифровки>, <МакетОформления>, <ТипГенератора>, <ПроверятьДоступностьПолей>, <ПараметрыФункциональныхОпций>)
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, Неопределено, ВнешниеНаборыДанных);
КомпоновщикМакетаКомпоновкиДанных (DataCompositionTemplateComposer)
Выполнить (Execute)
Синтаксис:
Выполнить(<Схема>, <Настройки>, <ДанныеРасшифровки>, <МакетОформления>, <ТипГенератора>, <ПроверятьДоступностьПолей>, <ПараметрыФункциональныхОпций>)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот