|
Програмно формирую отчет на скд, не работает расшифровка. | ☑ | ||
---|---|---|---|---|
0
Kain_wrath
17.07.15
✎
14:20
|
Код:
ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("ТаблицаЗначений", ТаблицаЗначений); ДанныеРасшифровкиСКД = Новый ДанныеРасшифровкиКомпоновкиДанных; СхемаКомпоновкиДанных = ПолучитьМакет("Макет"); Настройки = КомпоновщикНастроек.Настройки; ДанныеРасшифровкиСКД.Настройки = Настройки; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровкиСКД); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровкиСКД); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); В уже сформированном отчете, при двойном щелчке на ячейку вместо выпадающего списка, появляется сообщение с номером ячейки. В форме отчета, через событие ОбработкаРасшифровки, в отладчике смотрел значение реквизита отчета ДанныеРасшифровки, но оно пустое. Куда копать? |
|||
1
GRAF_84
17.07.15
✎
14:24
|
Передавай ДанныеРасшифровки из формы отчета, а не
ДанныеРасшифровкиСКД = Новый ДанныеРасшифровкиКомпоновкиДанных |
|||
2
Kain_wrath
17.07.15
✎
14:25
|
(1) это как ?
|
|||
3
GRAF_84
17.07.15
✎
14:29
|
В модуле формы
Процедура СформироватьФормыДействие(Кнопка) Сформировать(ДанныеРасшифровки); КонецПроцедуры А в модуле объекта Процедура Сформировать(ДанныеРасшифровки) Экспорт ... МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки); ... КонецПроцедуры |
|||
4
fisher
17.07.15
✎
14:33
|
(0) У расширения формы отчета уже есть свойство "ДанныеРасшифровки", которое и должно использоваться для стандартной расшифровки стандартного отчета. А ты эту схему "сломал". Тебе выдаёт не номер ячейки, а индекс элемента данных расшифровки - так и должно быть, если компоновка выполняется не в отчете.
|
|||
5
Kain_wrath
17.07.15
✎
14:36
|
(3) Ну так у меня код из топика формируется в модуле объекта в процедуре ПриКомпоновкеРезультата. В обработчиках формы так и не нашел процедуру СформироватьФормыДействие или как то связанную с кнопкой сформировать.
|
|||
6
Kain_wrath
17.07.15
✎
14:36
|
(4) ну если я не передаю данные расшифровки ДанныеРасшифровкиСКД = Новый ДанныеРасшифровкиКомпоновкиДанных;
то при двойном клике на ячейке вообще никаких действий не выполняется |
|||
7
Kyon8
17.07.15
✎
14:40
|
(5)
ОтчетОбъект.<Имя отчета> (ReportObject.<Имя отчета>) ПриКомпоновкеРезультата (OnComposeResult) Синтаксис: ПриКомпоновкеРезультата(<ДокументРезультат>, <ДанныеРасшифровки>, <СтандартнаяОбработка>) |
|||
8
Kain_wrath
17.07.15
✎
14:47
|
Всем спасибо, после (7) понял (4), в процедуре ПриКомпоновкеРезультата я вместо использования стандартного параметра функции ДанныеРасшифровки, зачем то создавал новую переменную ДанныеРасшифровкиСКД.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |