0
D_E_S_131
18.04.16
✎
12:10
|
Платформа 8.2.19.130.
Хочу получить результат отчета в дерево значений. Выполняю код
&НаСервере
Процедура СохранитьРезультатОтчетаСервер()
ТекОтчет = РеквизитФормыВЗначение("Отчет");
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(ТекОтчет.СхемаКомпоновкиДанных, Отчет.КомпоновщикНастроек.Настройки,,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ДЗ = Новый ДеревоЗначений;
ПроцессорВывода.УстановитьОбъект(ДЗ);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры
Выходит ошибка
{ОбщаяФорма.ФормаОтчетаУпрСКД.Форма(101)}: Ошибка при вызове метода контекста (Инициализировать)
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
по причине:
Ошибка компоновки данных
по причине:
Ошибка инициализации
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка "СервисОтчетов.ПолучитьСсылочноеЗначение"
В схеме один из параметров отчета (справочник ссылка) определяется вызовом функции общего модуля "СервисОтчетов".
У модуля установлены флаги "Клиент", "Сервер", "Вызов сервера".
Если заменить выражение Параметра на предопределенное значение, то все работает.
Неужели при программном выполнении отчета нельзя использовать вызов функций общих модулей?
|
|
1
D_E_S_131
18.04.16
✎
13:01
|
Проверил на 8.3 - такая же проблема.
При чем, если в выражении написать какую-нибудь функцию платформы (напр. ТекущаяДата()), то ошибки не происходит, а если вызов функции общего модуля, то ошибка.
|
|
2
V01tk2010
18.04.16
✎
13:23
|
ПроцессорКомпоновкиДанных.Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>)
Последний параметр
|
|