![]() |
|
Расшифровка данных в СКД | ☑ | ||
---|---|---|---|---|
0
Zoopst
22.08.17
✎
16:54
|
Всем привет!
Помогите разобраться Есть отчет, в котором используются 2 СКД Результат выводится в на форму в 2 ПоляТабличногоРезультата. //ВЫВОД Отчета1 СхемаКомпоновки = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); ВнешниеНаборыДанных.Вставить("Отчет1",ТЗ1); КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных; Настройки=КомпоновщикНастроек.ПолучитьНастройки(); МакетКомпоновки=КомпоновщикМакета.Выполнить(СхемаКомпоновки,Настройки,ДанныеРасшифровки); ПроцессорКомпоновки=Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных,ДанныеРасшифровки); ДокументРезультат=ЭлементыФормы.Результат; ПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); //ВЫВОД Отчета2 СхемаКомпоновки = ПолучитьМакет("СКД2"); ВнешниеНаборыДанных.Вставить("Отчет2",ТЗ2); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, Настройки,ДанныеРасшифровки); ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных,ДанныеРасшифровки); ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат1); ПроцессорВывода.Вывести(ПроцессорКомпоновки); Надо сделать расшифровку данных для каждой таблицы В обработчикесобытий для ПоляТабличногоРезультата прописываю функцию Процедура РезультатОбработкаРасшифровки1(Элемент, Расшифровка, СтандартнаяОбработка) СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); СтандартнаяОбработка = Ложь; ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных) ); МассивДоступныхДействий = Новый Массив; МассивДоступныхДействий.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение); НастройкиРасшифровки = ОбработкаРасшифровки.Выполнить(Расшифровка,, МассивДоступныхДействий); КонецПроцедуры Процедура РезультатОбработкаРасшифровки1(Элемент, Расшифровка, СтандартнаяОбработка) СхемаКомпоновкиДанных = ПолучитьМакет("СКД2"); СтандартнаяОбработка = Ложь; ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных) ); МассивДоступныхДействий = Новый Массив; МассивДоступныхДействий.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение); НастройкиРасшифровки = ОбработкаРасшифровки.Выполнить(Расшифровка,, МассивДоступныхДействий); КонецПроцедуры Но в результате расшифровка отрабатывает только для второго отчета. А при расшифровке первого отчета данные берутся из второго. Где надо подправить, чтобы все работало нормально |
|||
1
vicof
22.08.17
✎
17:02
|
Две процедуры с одинаковым наименованием?
|
|||
2
Zoopst
22.08.17
✎
17:11
|
разные, просто здесь ошибка
|
|||
3
Zoopst
22.08.17
✎
17:12
|
Процедура РезультатОбработкаРасшифровки2(Элемент, Расшифровка, СтандартнаяОбработка)
СхемаКомпоновкиДанных = ПолучитьМакет("СКД2"); СтандартнаяОбработка = Ложь; ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных) ); МассивДоступныхДействий = Новый Массив; МассивДоступныхДействий.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение); НастройкиРасшифровки = ОбработкаРасшифровки.Выполнить(Расшифровка,, МассивДоступныхДействий); КонецПроцедуры |
|||
4
vicof
22.08.17
✎
17:12
|
ДанныеРасшифровки разные должны быть для каждого отчета
|
|||
5
Zoopst
22.08.17
✎
17:14
|
а как это сделать
|
|||
6
mehfk
22.08.17
✎
17:21
|
||||
7
Zoopst
22.08.17
✎
17:21
|
все получилось,
спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |