Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Расшифровка поля отчета другим отчетом (обычные формы)

Расшифровка поля отчета другим отчетом (обычные формы)
Я
   yyyuuu
 
11.06.20 - 07:36
Всем привет друзья. Сталкнулся с проблемой и не могу понять как сделать правильно.
Задача:
Сделать расшифровку поля другим отчетом, запрос такой же лишь Меняются параметры. Пользуясь гуглом и собирая код из разных частей сделал так
Приведу код ниже.

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

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

    КонецЕсли;



/////////////////////////////////////////////////////////////////

Вывод отчета

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

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

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

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

Может кто делал подобное на обычных формах и может поделиться опытом?
В расшифровку должны попасть 3 параметра, НАчало и конец даты + номер вагона по которому делается расшифровка
Форма отчета и макет компановки данных для расшифровски создан отдельно
   yyyuuu
 
1 - 14.06.20 - 13:46
Вопрос открыт ребята
   yyyuuu
 
2 - 17.06.20 - 10:27
Вопрос закрыт
   yyyuuu
 
3 - 17.06.20 - 10:28
Для потомков параметры заполняются в РасшифровкаНастройки

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.