Akbar11
11.06.2020, 08:48
Всем привет друзья. Сталкнулся с проблемой и не могу понять как сделать правильно.
Задача:
Сделать расшифровку поля другим отчетом, запрос такой же лишь Меняются параметры. ПОльзуясь гуглом и собирая код из разных частей сделал так
Процедура РезультатОбработкаРасшифр овки(Элемент, Расшифровка, СтандартнаяОбработка)
Поле = ДанныеРасшифровки.Элемент� �[Расшифровка].ПолучитьПоля()[0];
ТипРасшифровки = Поле.Поле;
Если ТипРасшифровки = "Вагон" Тогда
//ОчиститьСообщения();
СтандартнаяОбработка = Ложь;
СтруктураРасшифровки = Новый Структура;
//Значения всех вышестоящих группировок
ВывестиЗначениеГруппировк и(Расшифровка, СтруктураРасшифровки);
ФормаРасшифровки = ПолучитьФорму("ФормаРасшифровки");
ФормаРасшифровки.Открыть();
ФормаРасшифровки.Сформиро� �атьОтчетРасшифровки("СхемаКомпоновкиДанныхРасш ифровки",
СтруктураРасшифровки,
"Расшифровка ячейки """ + ТипРасшифровки + """");
ИначеЕсли ТипРасшифровки = "Справочник" Тогда
СтандартнаяОбработка = Ложь;
ОткрытьЗначение(Поле.Значе ние);
КонецЕсли;
КонецПроцедуры
Вывод отчета
Процедура СформироватьОтчетРасшифро вки(ИмяМакета, СтруктураРасшифровки, Заголовок = "Расшифровка ячейки") Экспорт
Результат = ЭлементыФормы.Результат;
Результат.Очистить();
РасшифровкаСхемаКомпоновк иДанных = ПолучитьМакет(ИмяМакета);
//Отборы
Для Каждого Значение ИЗ СтруктураРасшифровки Цикл
ДобавитьЗначениеОтбораРас шифровки(Значение.Ключ, Значение.Значение, , ВидСравненияКомпоновкиДан ных.ВИерархии);
КонецЦикла;
//Параметры
ДобавитьЗначениеПараметра Расшифровки("НачалоПериода",НачалоДня(НачалоПериода));
ДобавитьЗначениеПараметра Расшифровки("КонецПериода",КонецДня(КонецПериода));
//Заголовок
ДобавитьЗначениеПараметра ВыводаРасшифровки("Заголовок",Заголовок);
//Получаем оформление из макета
МакетОформленияКомпоновки Данных = ПолучитьМакет("МакетОформленияКомпоновки ДанныхПесок");
РасшифровкаДанныеРасшифро вки = Новый ДанныеРасшифровкиКомпонов киДанных;
РасшифровкаНастройки = РасшифровкаСхемаКомпоновк иДанных.НастройкиПоУмолча� �ию;
РасшифровкаКомпоновщикМак ета = Новый КомпоновщикМакетаКомпонов киДанных;
РасшифровкаМакетКомпоновк и = РасшифровкаКомпоновщикМак ета.Выполнить(РасшифровкаС хемаКомпоновкиДанных, РасшифровкаНастройки, РасшифровкаДанныеРасшифро вки, МакетОформленияКомпоновки Данных);
РасшифровкаПроцессорКомпо новкиДанных = Новый ПроцессорКомпоновкиДанных ;
РасшифровкаПроцессорКомпо новкиДанных.Инициализиров� �ть(РасшифровкаМакетКомпон овки, , РасшифровкаДанныеРасшифро вки);
РасшифровкаПроцессорВывод а = Новый ПроцессорВыводаРезультата КомпоновкиДанныхВТабличны йДокумент;
РасшифровкаПроцессорВывод а.УстановитьДокумент(Резул ьтат);
РасшифровкаПроцессорВывод а.Вывести(РасшифровкаПроце ссорКомпоновкиДанных);
Результат.Защита = Истина;
КонецПроцедуры
Ошибка :
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(15, 55)}: Не задано значение параметра "КонецПериода"
ЖДНакладнаяВагоны.Ссылка.Д ата МЕЖДУ &НачалоПериода И <<?>>&КонецПериода
Может кто делал подобное на обычных формах и может поделиться опытом?
В расшифровку должны попасть 3 параметра, НАчало и конец даты + номер вагона по которому делается расшифровка
Задача:
Сделать расшифровку поля другим отчетом, запрос такой же лишь Меняются параметры. ПОльзуясь гуглом и собирая код из разных частей сделал так
Процедура РезультатОбработкаРасшифр овки(Элемент, Расшифровка, СтандартнаяОбработка)
Поле = ДанныеРасшифровки.Элемент� �[Расшифровка].ПолучитьПоля()[0];
ТипРасшифровки = Поле.Поле;
Если ТипРасшифровки = "Вагон" Тогда
//ОчиститьСообщения();
СтандартнаяОбработка = Ложь;
СтруктураРасшифровки = Новый Структура;
//Значения всех вышестоящих группировок
ВывестиЗначениеГруппировк и(Расшифровка, СтруктураРасшифровки);
ФормаРасшифровки = ПолучитьФорму("ФормаРасшифровки");
ФормаРасшифровки.Открыть();
ФормаРасшифровки.Сформиро� �атьОтчетРасшифровки("СхемаКомпоновкиДанныхРасш ифровки",
СтруктураРасшифровки,
"Расшифровка ячейки """ + ТипРасшифровки + """");
ИначеЕсли ТипРасшифровки = "Справочник" Тогда
СтандартнаяОбработка = Ложь;
ОткрытьЗначение(Поле.Значе ние);
КонецЕсли;
КонецПроцедуры
Вывод отчета
Процедура СформироватьОтчетРасшифро вки(ИмяМакета, СтруктураРасшифровки, Заголовок = "Расшифровка ячейки") Экспорт
Результат = ЭлементыФормы.Результат;
Результат.Очистить();
РасшифровкаСхемаКомпоновк иДанных = ПолучитьМакет(ИмяМакета);
//Отборы
Для Каждого Значение ИЗ СтруктураРасшифровки Цикл
ДобавитьЗначениеОтбораРас шифровки(Значение.Ключ, Значение.Значение, , ВидСравненияКомпоновкиДан ных.ВИерархии);
КонецЦикла;
//Параметры
ДобавитьЗначениеПараметра Расшифровки("НачалоПериода",НачалоДня(НачалоПериода));
ДобавитьЗначениеПараметра Расшифровки("КонецПериода",КонецДня(КонецПериода));
//Заголовок
ДобавитьЗначениеПараметра ВыводаРасшифровки("Заголовок",Заголовок);
//Получаем оформление из макета
МакетОформленияКомпоновки Данных = ПолучитьМакет("МакетОформленияКомпоновки ДанныхПесок");
РасшифровкаДанныеРасшифро вки = Новый ДанныеРасшифровкиКомпонов киДанных;
РасшифровкаНастройки = РасшифровкаСхемаКомпоновк иДанных.НастройкиПоУмолча� �ию;
РасшифровкаКомпоновщикМак ета = Новый КомпоновщикМакетаКомпонов киДанных;
РасшифровкаМакетКомпоновк и = РасшифровкаКомпоновщикМак ета.Выполнить(РасшифровкаС хемаКомпоновкиДанных, РасшифровкаНастройки, РасшифровкаДанныеРасшифро вки, МакетОформленияКомпоновки Данных);
РасшифровкаПроцессорКомпо новкиДанных = Новый ПроцессорКомпоновкиДанных ;
РасшифровкаПроцессорКомпо новкиДанных.Инициализиров� �ть(РасшифровкаМакетКомпон овки, , РасшифровкаДанныеРасшифро вки);
РасшифровкаПроцессорВывод а = Новый ПроцессорВыводаРезультата КомпоновкиДанныхВТабличны йДокумент;
РасшифровкаПроцессорВывод а.УстановитьДокумент(Резул ьтат);
РасшифровкаПроцессорВывод а.Вывести(РасшифровкаПроце ссорКомпоновкиДанных);
Результат.Защита = Истина;
КонецПроцедуры
Ошибка :
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(15, 55)}: Не задано значение параметра "КонецПериода"
ЖДНакладнаяВагоны.Ссылка.Д ата МЕЖДУ &НачалоПериода И <<?>>&КонецПериода
Может кто делал подобное на обычных формах и может поделиться опытом?
В расшифровку должны попасть 3 параметра, НАчало и конец даты + номер вагона по которому делается расшифровка