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

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 Сейчас в теме
Разбей запрос на части. Выполняй каждую часть по отдельности и анализируй результат.
Оставьте свое сообщение
Вакансии
Программист 1С
Кемерово
зарплата от 200 000 руб.
Полный день

Программист 1С
Киров (Кировская обл.)
зарплата от 100 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 150 000 руб.
Полный день

Архитектор 1С
Москва
зарплата от 250 000 руб.
Полный день

1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день