|
как выбрать вариант отчета программно | ☑ | ||
---|---|---|---|---|
0
aleksejafonkin
06.12.17
✎
14:50
|
Процедура ПриКомпоновкеРезультата(ДокументРезультат,
ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки); //////////////////// ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); КонецПроцедуры Я понимаю что варианты находятся тут СхемаКомпоновкиДанных.ВариантыНастроек , но не понимаю как выбрать нужный. Подскажите пожалуйста и просьба пишите по делу. |
|||
1
Mankubus
06.12.17
✎
15:37
|
(0) взять нужный вариатн из схемы, тем более уже знаешь где это. Выгрузить его настройки. Загрузить их в компоновщик
|
|||
2
Гипервизор
06.12.17
✎
15:52
|
Процедура УстановитьВариантыНастроек()
лКомПанель = ЭлементыФормы.ДействияФормы; лНоваяКнопка = лКомПанель.Кнопки.Вставить(0, "ВариантыОтчетов", ТипКнопкиКоманднойПанели.Подменю, "Варианты отчетов"); лНовоеДействие = Новый Действие("СменаВариантаНастройки"); Для каждого лНастройка Из СхемаКомпоновкиДанных.ВариантыНастроек Цикл лНастройка = СхемаКомпоновкиДанных.ВариантыНастроек[Сч]; лНоваяКнопка = лКомПанель.Кнопки.ВариантыОтчетов.Кнопки.Добавить("Вариант" + Строка(Сч), ТипКнопкиКоманднойПанели.Действие, лНастройка.Представление, лНовоеДействие); Сч = Сч + 1; КонецЦикла; КонецПроцедуры Процедура СменаВариантаНастройки(Элемент) Для каждого лНастройка Из СхемаКомпоновкиДанных.ВариантыНастроек Цикл Если Элемент.Текст = лНастройка.Представление Тогда КомпоновщикНастроек.ЗагрузитьНастройки(лНастройка.Настройки); Заголовок = Элемент.Текст; Прервать; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
3
Franchiser
гуру
06.12.17
✎
15:54
|
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.ВариантыНастроек.Найти("ТвойВариант").Настройки);
|
|||
4
aleksejafonkin
06.12.17
✎
16:03
|
(1) (2) (3) Спасибо! Сейчас прожую и сделаю
|
|||
5
aleksejafonkin
06.12.17
✎
16:19
|
(3) (1)
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки(); Для Каждого ВариантОтчета из СхемаКомпоновкиДанных.ВариантыНастроек Цикл Если НастройкиОтчета.ПараметрыДанных.Элементы[0].Значение = Перечисления.РазделыУчета_ПлатежиПоступлений.КредитПоступление Тогда Если ВариантОтчета.Имя = "КредитнаяЛиния" Тогда лкВариантОтчета = СхемаКомпоновкиДанных.ВариантыНастроек.Найти("КредитнаяЛиния"); КомпоновщикНастроек.ЗагрузитьНастройки(лкВариантОтчета.Настройки); КонецЕсли; ИначеЕсли НастройкиОтчета.ПараметрыДанных.Элементы[0].Значение = Перечисления.РазделыУчета_ПлатежиСписаний.Кредит Тогда Если ВариантОтчета.Имя = "ВозвратКредитов" Тогда лкВариантОтчета = СхемаКомпоновкиДанных.ВариантыНастроек.Найти("ВозвратКредитов"); КомпоновщикНастроек.ЗагрузитьНастройки(лкВариантОтчета.Настройки); КонецЕсли; КонецЕсли; КонецЦикла; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); КонецПроцедуры Что я делаю не так? лкВариантОтчета = СхемаКомпоновкиДанных.ВариантыНастроек.Найти("КредитнаяЛиния"); КомпоновщикНастроек.ЗагрузитьНастройки(лкВариантОтчета.Настройки); тут всё хорошо, а тут КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки); берет он так же первый вариант отчете "ВозвратКредитов" не понимаю... |
|||
6
Franchiser
гуру
06.12.17
✎
16:33
|
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);
Где тут твои новые настройки? |
|||
7
Franchiser
гуру
06.12.17
✎
16:35
|
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);
Или так: МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, лкВариантОтчета.Настройки, ДанныеРасшифровки); |
|||
8
aleksejafonkin
06.12.17
✎
16:39
|
(7) огромное тебе спасибо!
|
|||
9
Franchiser
гуру
06.12.17
✎
16:57
|
(8) в 1-м случае только КомпоновщикНастроек.ПолучитьНастройки() а не Настройки
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |