PDA

Просмотр полной версии : Расшифровка поля отчета другим отчетом обычные формы.



Akbar11
11.06.2020, 08:48
Всем привет друзья. Сталкнулся с проблемой и не могу понять как сделать правильно.
Задача:
Сделать расшифровку поля другим отчетом, запрос такой же лишь Меняются параметры. ПОльзуясь гуглом и собирая код из разных частей сделал так


Процедура РезультатОбработкаРасшифр овки(Элемент, Расшифровка, СтандартнаяОбработка)

Поле = ДанныеРасшифровки.Элемент� �[Расшифровка].ПолучитьПоля()[0];
ТипРасшифровки = Поле.Поле;

Если ТипРасшифровки = "Вагон" Тогда

//ОчиститьСообщения();

СтандартнаяОбработка = Ложь;
СтруктураРасшифровки = Новый Структура;

//Значения всех вышестоящих группировок
ВывестиЗначениеГруппировк и(Расшифровка, СтруктураРасшифровки);

ФормаРасшифровки = ПолучитьФорму("ФормаРасшифровки");
ФормаРасшифровки.Открыть();
ФормаРасшифровки.Сформиро� �атьОтчетРасшифровки("СхемаКомпоновкиДанныхРасш ифровки",
СтруктураРасшифровки,
"Расшифровка ячейки """ + ТипРасшифровки + """");

ИначеЕсли ТипРасшифровки = "Справочник" Тогда

СтандартнаяОбработка = Ложь;
ОткрытьЗначение(Поле.Значе ние);

КонецЕсли;

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

Вывод отчета


Процедура СформироватьОтчетРасшифро вки(ИмяМакета, СтруктураРасшифровки, Заголовок = "Расшифровка ячейки") Экспорт

Результат = ЭлементыФормы.Результат;
Результат.Очистить();

РасшифровкаСхемаКомпоновк иДанных = ПолучитьМакет(ИмяМакета);

//Отборы
Для Каждого Значение ИЗ СтруктураРасшифровки Цикл
ДобавитьЗначениеОтбораРас шифровки(Значение.Ключ, Значение.Значение, , ВидСравненияКомпоновкиДан ных.ВИерархии);
КонецЦикла;

//Параметры
ДобавитьЗначениеПараметра Расшифровки("НачалоПериода",НачалоДня(НачалоПериода));
ДобавитьЗначениеПараметра Расшифровки("КонецПериода",КонецДня(КонецПериода));

//Заголовок
ДобавитьЗначениеПараметра ВыводаРасшифровки("Заголовок",Заголовок);

//Получаем оформление из макета
МакетОформленияКомпоновки Данных = ПолучитьМакет("МакетОформленияКомпоновки ДанныхПесок");

РасшифровкаДанныеРасшифро вки = Новый ДанныеРасшифровкиКомпонов киДанных;
РасшифровкаНастройки = РасшифровкаСхемаКомпоновк иДанных.НастройкиПоУмолча� �ию;

РасшифровкаКомпоновщикМак ета = Новый КомпоновщикМакетаКомпонов киДанных;
РасшифровкаМакетКомпоновк и = РасшифровкаКомпоновщикМак ета.Выполнить(РасшифровкаС хемаКомпоновкиДанных, РасшифровкаНастройки, РасшифровкаДанныеРасшифро вки, МакетОформленияКомпоновки Данных);

РасшифровкаПроцессорКомпо новкиДанных = Новый ПроцессорКомпоновкиДанных ;
РасшифровкаПроцессорКомпо новкиДанных.Инициализиров� �ть(РасшифровкаМакетКомпон овки, , РасшифровкаДанныеРасшифро вки);

РасшифровкаПроцессорВывод а = Новый ПроцессорВыводаРезультата КомпоновкиДанныхВТабличны йДокумент;
РасшифровкаПроцессорВывод а.УстановитьДокумент(Резул ьтат);
РасшифровкаПроцессорВывод а.Вывести(РасшифровкаПроце ссорКомпоновкиДанных);

Результат.Защита = Истина;

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


Ошибка :

Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(15, 55)}: Не задано значение параметра "КонецПериода"
ЖДНакладнаяВагоны.Ссылка.Д ата МЕЖДУ &НачалоПериода И <<?>>&КонецПериода
Может кто делал подобное на обычных формах и может поделиться опытом?
В расшифровку должны попасть 3 параметра, НАчало и конец даты + номер вагона по которому делается расшифровка

Akbar11
17.06.2020, 12:29
Вопрос закрыт. Параметры заполнять надо в "РасшифровкаНастройки"

Akbar11
17.06.2020, 12:31
Решено