Ошибка отчета СКД

1. art44 24.04.23 00:38 Сейчас в теме
Суть задачи такова: Есть обработка, которая получает по навигационной ссылке вариант отчета, а вернее его настройки и с эти все хорошо. После чего формирует вариант отчета и помещает его в таблицу значений. Вот тут возник вопрос...

Всего 4 отчета из которых 3 формируются и результат записывается нормально, а один возвращает пустой результат (в файле одна строка и та пустая) по отладчику видно что вся строка заполнена NULL и Неопределенно. Вопрос звучит в следующем: Почему он возвращает пустой результат и как исправить?

По отчету настройки все передаются из варианта отчета, группировок нет, структура - только <детальные записи> (все как и у тех которые формируются без проблем)

Ниже представлен код процедуры формирующей вариант отчета и собственно сохраняющей его в файл

Функция СформироватьВариантОтчета(НС, ВернутьТабличныйДокумент = Ложь)

	ВариантОтчета = ПолучитьСсылкуИзНавигационной(НС);

	ПараметрыОтчета = Новый Структура();
	ПараметрыОтчета.Вставить("СсылкаВарианта",ВариантОтчета);
	ПараметрыОтчета.Вставить("СсылкаОтчета",Неопределено);
	ПараметрыОтчета.Вставить("КлючВарианта",ВариантОтчета.КлючВарианта);
	ПараметрыОтчета.Вставить("ИдентификаторФормы",Неопределено);
	
	ДанныеОтчта = ВариантыОтчетов.СформироватьОтчет(ПараметрыОтчета, истина, Ложь);
	
	Возврат ?(ВернутьТабличныйДокумент,ДанныеОтчта.ТабличныйДокумент,ДанныеОтчта);
	
КонецФункции

Процедура СформироватьФайлНаСервере(ФайлСохранения, НавигационнаяСсылка, Период = неопределено)

	ВариантОтчета = ПолучитьСсылкуИзНавигационной(НавигационнаяСсылка);//Получаем вариант отчета
	Отчет = Отчеты[ВариантОтчета.Отчет.Имя].Создать();
	КомпоновщикНастроек = Отчет.КомпоновщикНастроек;
	СхемаКомпоновкиДанных = Отчет.СхемаКомпоновкиДанных;
    НастройкиВариантаОтчета = ВариантОтчета.Настройки.Получить();

	Если НЕ Период = Неопределено Тогда
		НастройкиВариантаОтчета.ПараметрыДанных.Элементы.Найти("Период").Значение = Период;
	КонецЕсли;   
	
	//Выгрузим результат отчета СКД в Таблицу Значений	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	
	ДанныеОтчета = СформироватьВариантОтчета(НавигационнаяСсылка); 
	                                                  
	МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(ДанныеОтчета.Объект.СхемаКомпоновкиДанных,НастройкиВариантаОтчета, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
	
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

	Попытка
		Если НЕ Период = Неопределено Тогда
			МакетКомпоновкиДанных.ЗначенияПараметров.Найти("Период").Значение = Период;
		Иначе
		КонецЕсли;
	Исключение
	КонецПопытки;
	
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,ДанныеРасшифровки,Истина);
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
	   
	ДанныеТЗ = Новый ТаблицаЗначений;
	ПроцессорВывода.УстановитьОбъект(ДанныеТЗ);
	
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);	 //Ошибка тут		
	
	//Выгрузим данные из Таблицы значений в Файл, запись данных в файл построчно
	Текст = Новый ЗаписьТекста(ФайлСохранения, КодировкаТекста.UTF8);
	
	//Формируем шапку документа
	ШапкаТаблицы = "";
	Для каждого Колонка из ДанныеТЗ.Колонки Цикл
		ШапкаТаблицы = ШапкаТаблицы + Колонка.Заголовок + РазделительПолей;	
	КонецЦикла;                               
	ШапкаТаблицы = ШапкаТаблицы + РазделительСтрок;
	Текст.ЗаписатьСтроку(ШапкаТаблицы);       
	//Конец записи и формирования шапки таблицы
	
	//Прохоим по всем строкам ТЧ и записываем данные в файл
	Для Каждого стр из ДанныеТЗ Цикл
		НоваяСтрока = "";
		Для каждого Колонка из ДанныеТЗ.Колонки Цикл
			
			НоваяСтрока = НоваяСтрока + стр[Колонка.Имя] + РазделительПолей;
			
		КонецЦикла;
		НоваяСтрока = НоваяСтрока + РазделительСтрок;
		Текст.ЗаписатьСтроку(НоваяСтрока); 
	КонецЦикла;
	Текст.Закрыть();
		
КонецПроцедуры 
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. 1segen1 33 24.04.23 07:22 Сейчас в теме
Надо смотреть какой запрос сформировался в МакетКомпоновкиДанных и какие отборы наложены.
3. art44 24.04.23 12:38 Сейчас в теме
(2) Тогда прошу помощи ибо я расковырял этот отчет но в упор не вижу в чем ошибка и почему запрос возвращает пустоту
Прикрепленные файлы:
ЗапросОтчета.q1c
4. 1segen1 33 24.04.23 20:55 Сейчас в теме
Разбей запрос на части. Выполняй каждую часть по отдельности и анализируй результат.
Оставьте свое сообщение

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