|   |   | 
| 
 | Не работает расшифровка в объединении схем компоновке в модуле объект отчета | ☑ | ||
|---|---|---|---|---|
| 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) Подскажи как это сделать?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |