![]() |
|
Не работает расшифровка в объединении схем компоновке в модуле объект отчета | ☑ | ||
---|---|---|---|---|
0
Королевский Тигр
14.06.24
✎
19:46
|
Добрый день дорогие друзья!
Извиняюсь за столь сложное название темы. Сейчас постараюсь подробнее описать проблему. Передо мной стоит задач в одном отчете показывать 2 других уже готовых отчета, которые есть в базе. Я подумал над вариантами решения задачи. 1) Засунуть через 2 схемы из готовых отчетов во вложенные схемы. Отмёл этот вариант потому,что не умею работать с вложенными схемами. 2) Сделать одну схему и там набор данных объединение. И в него запихать данные из двух готовых отчетов. Пока данный вариант не рассматриваю потому что долго. И вот решил пойти по простому пути №3. Делаю внешний отчет. Туда запихиваю Макет из первого и второго отчета. В модуле объекта моего отчета, в процедуре ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) вывожу сначала первый макет потом второй. Вот как это выглядит Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ИдентификаторПользовательскойНастройки = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаОтчета").ИдентификаторПользовательскойНастройки; ДатаОтчета = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ИдентификаторПользовательскойНастройки).Значение.Дата; ТаблицаПоказателей = ПолучитьТаблицуПоказателей(ДатаОтчета); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, Новый Структура("ТаблицаПоказателей", ТаблицаПоказателей), ДанныеРасшифровки, Истина); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина); //отчет с пустой областью, нужно что бы визуально было расстояние между первым и вторым отчетом Макет = ПолучитьМакет("Макет"); Область = Макет.ПолучитьОбласть("ПустаяСтрока"); ДокументРезультат.Вывести(Область); //Вывод 2 отчета Схема2 = ПолучитьМакет("Отчет2Схема"); КомпоновщикМакета2 = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки2 = КомпоновщикМакета2.Выполнить(Схема2, Схема2.НастройкиПоУмолчанию, ДанныеРасшифровки); ПроцессорКомпоновки2 = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки2.Инициализировать(МакетКомпоновки2, , ДанныеРасшифровки, Истина); ПроцессорВывода2 = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода2.УстановитьДокумент(ДокументРезультат); ПроцессорВывода2.Вывести(ПроцессорКомпоновки2, Истина); КонецПроцедуры Все выведется как надо. Сначала первый отчет и под ним второй. Но в схеме второго отчета на вкладке макеты была расшифровка с помощью Макета поля. И вот она перестала работать. Скажите, пожалуйста, можно ли что-то сделать в данной ситуации? Как то можно оживить ту расшифровку? |
|||
1
lEvGl
14.06.24
✎
20:02
|
можно, данные расшифровки переопределить надо для 2-го отчета, из второй схемы, кажется так
|
|||
2
Королевский Тигр
16.06.24
✎
20:39
|
(1) Подскажи как это сделать?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |