|
СКД. Не срабатывает отбор при программном выводе отчета | ☑ | ||
---|---|---|---|---|
0
Ахмадинежад
26.07.13
✎
12:40
|
Есть отчет на СКД. Пока он был "безкодовым" - всё ок отрабатывало. Но стоило добавить форму, по кнопке на форме вставить текст:
<code> //Получаем схему из макета СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); //Из схемы возьмем настройки по умолчанию Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; //Помещаем в переменную данные о расшифровке данных ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; //Формируем макет, с помощью компоновщика макета КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; //Передаем в макет компоновки схему, настройки и данные расшифровки МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); //Выполним компоновку с помощью процессора компоновки ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки); //Очищаем поле табличного документа Результат = ЭлементыФормы.Результат; Результат.Очистить(); //Выводим результат в табличный документ ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); </code> Перестал срабатывать отбор.. Я так понимаю, что в самом коде он где-то "затирается" ? |
|||
1
Cube
26.07.13
✎
12:46
|
(0) Всё не читал. Предполагаю, что ты где-то затер настройки. Почитай тут: v8: Своё поведение кнопки Сформировать. СКД.
|
|||
2
olegves
26.07.13
✎
12:46
|
(0) отбор устанавливается на форме (Отчета), а где происходит программный вывод?
|
|||
3
olegves
26.07.13
✎
12:50
|
кури НастройкиКомпоновкиДанных
|
|||
4
Ахмадинежад
26.07.13
✎
12:54
|
(1) cпасибо
(2) отбор устанавливается по кнопке "Настройки" (хотя и на форме отчета тоже), вывод происходит по кнопке, расположенной на форме.. (3)эгэж |
|||
5
Zerg80
26.07.13
✎
12:54
|
(4) Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию - вот тут и затер
|
|||
6
Ахмадинежад
26.07.13
✎
12:57
|
(5) думал про это, но если эти настройки не передавать компоновщику - ругнётся на незаполненость обязательного параметра. Получается, нужно передавать, но какие настройки? Где их взять ?
|
|||
7
Zerg80
26.07.13
✎
12:59
|
Настройки = КомпоновщикНастроек.Настройки;
|
|||
8
Zerg80
26.07.13
✎
13:00
|
Т.е. это те, которые юзер установил
|
|||
9
sunson
26.07.13
✎
13:06
|
Посмотрите Разработка сложных отчетов в 1С:Предприятие 8
Е.Ю. Хрусталевой стр.476 |
|||
10
sunson
26.07.13
✎
13:15
|
Настройки = ОбъектОтчета.КомпоновщикНастроек.Настройки;
ЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Номенклатура"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии; ЭлементОбора.ПравоеЗначение = ... ПараметрВывода = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьОтбор")); ПараметрВывода.Использование = Истина; |
|||
11
Ахмадинежад
26.07.13
✎
14:13
|
(7)Благодарю! Оно.
|
|||
12
Ахмадинежад
26.07.13
✎
14:15
|
(10) да, да. именно что компоновщик настроек
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |