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

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

Автор Анжела, 11 июн 2020, 05:13

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

Анжела

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

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

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

    КонецЕсли;
   
КонецПроцедуры

У Меня отдельная форма для расшифровки. В ней год.
В новой схеме компоновки 3 параметра  Начало, Конец периода и вагон.

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Анжела


LexaK

Анжела, если выложите CF-ник или ДТ-шник базы и ваши отчеты, тогда можно будет найти и справить вашу ошибку.
если помогло нажмите: Спасибо!

Анжела

Цитата: LexaK от 15 июн 2020, 09:53
Анжела, если выложите CF-ник или ДТ-шник базы и ваши отчеты, тогда можно будет найти и справить вашу ошибку.
Разобралась уже.
Праметры заполнять нужно в "РасшифровкаНастройки"

Теги: скд 

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

Рейтинг@Mail.ru

Поиск