Неактивная расшифровка в отчете СКД.
☑
0
unknown181538
20.02.13
✎
18:27
Программно формируется отчет:
ОтчетОбъект = Отчеты.РасчетыСКонтрагентами.Создать();
ПараметрСКД = ОтчетОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.
Элементы.Найти("НачалоПериода") ;
ПараметрСКД.Использование = Истина;
ПараметрСКД.Значение = НачалоМесяца(ТекущаяДата());
ПараметрСКД = ОтчетОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.
Элементы.Найти("Контрагент") ;
ПараметрСКД.Использование = Истина;
ПараметрСКД.Значение = Ссылка;
Форма = ОтчетОбъект.ПолучитьФорму();
Форма.Открыть();
ОтчетОбъект.СкомпоноватьРезультат(Форма.ЭлементыФормы.Результат);
После этого в отчете не активна расшифровка (не появляется лупа при наведении).
Однако, если в форме отчета нажать после этого "Сформировать", то все становится нормально.
Платформа 8.1
Может кто-нибудь подсказать что-нибудь?
1
vicof
20.02.13
✎
18:29
ОтчетОбъект.<Имя отчета>.СкомпоноватьРезультат (ReportObject.<Имя отчета>.ComposeResult)
ОтчетОбъект.<Имя отчета> (ReportObject.<Имя отчета>)
СкомпоноватьРезультат (ComposeResult)
Синтаксис:
СкомпоноватьРезультат(<Результат>, <ИнформацияРасшифровки>)
Параметры:
<Результат> (обязательный)
Тип: ТабличныйДокумент.
Табличный документ, в который будет выводиться результат.
<ИнформацияРасшифровки> (необязательный)
Переменная, в которую будет записана информация расшифровки.
Если не указано - расшифровка заполняться не будет.
Описание:
Выполняет компоновку.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Пользователь может при помощи комбинации клавиш Ctrl+Break прервать выполнение отчета. При этом будет вызвано исключение.
2
Kashemir
20.02.13
✎
18:29
Используешь нетиповой вывод - делай нетиповую обработку расшифровки.
3
unknown181538
20.02.13
✎
18:35
(1) а где нужно определять эту переменную?
Я определил в модуле объекта отчета, расшифровка стала доступна, но в обработке расшифровки ДанныеРасшифровки=неопределено
4
vicof
20.02.13
✎
18:39
(3)
5
unknown181538
20.02.13
✎
23:54
В обработке расшифровки у меня до этого срабатывало
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
ЗначениеРасшифровки = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Значение;
Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(ЗначениеРасшифровки)) Тогда
ОткрытьЗначение(ЗначениеРасшифровки);
СтандартнаяОбработка = Ложь;
КонецЕсли;
КонецПроцедуры
а теперь .Значение = null, и если возвращаю все обратно, то тоже....
6
unknown181538
20.02.13
✎
23:59
(5) а нет, не совсем так...
Короче, спасибо, с первым вопросом получилось)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший