Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 14:46

Отчет СКД в ERP

Автор illyaromanenko, 08 апр 2024, 16:25

0 Пользователей и 1 гость просматривают эту тему.

illyaromanenko

Делаю отчёт. Выгружаю таблицу значений в СКД. В таблице значений все поля присутствуют. В ней есть составное поле СсылкаНаДокумент, которое состоит из нескольких типов документов. Это поле скд не видит, когда пытаюсь вывести его в общей группировке, ничего не происходит. Когда пытаюсь вывести это поле отдельной группировкой - выдаёт ошибку:

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

по причине:
Ошибка компоновки макета
по причине:
Поле не найдено "СсылкаНаДокумент"

Типы этого поля описаны и в таблице значений, с помощью ОписанияТипов, и в скд. Что может быть не так?


fruitella

Процедуру при компановке результата желательно увидеть бы

illyaromanenko

Цитата: fruitella от 08 апр 2024, 16:43Процедуру при компановке результата желательно увидеть бы
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
   
   СтандартнаяОбработка = Ложь;
   ДокументВладелец = Новый Массив;
   ДокументВладелец.Добавить(ЭтотОбъект.ДокументОснование);
   ДанныеДляПечати = ПолучитьДанныеДляПечатнойФормыИНВ19(ДокументВладелец);
   
   
   
   //получаем таблицу значений с данными для отчета   
   ТаблицаРезультата = ПолучитьТаблицуРезультатаИНВ19(ДанныеДляПечати);
   
   //получаем схемку компановки данных
   СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   
   Настройки = КомпоновщикНастроек.ПолучитьНастройки();
 
   ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
 
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;   
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);   
   
   ВнешнийНаборДанных = Новый Структура("ТаблицаТоваровРезультат", ТаблицаРезультата);
   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных, ДанныеРасшифровки, Истина);    
   ДокументРезультат.Очистить();
   
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);


КонецПроцедуры

fruitella

Вроде все ок, но надо глянуть отладкой ТаблицаРезультата как правильно у тебя там реквизит называется. Затем проверь как у тебя поле в наборе данных называется. Оно обязательно должно совпадать, путь тоже проверь.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск