Есть стандартный отчет с использованием СКД, в него нужно добавить колонку с данными. Данные получаю в запросе, запрос в общем модуле. В СКД добавляю новое вычисляемое поле и обращаюсь к функции, но ни чего не происходит, ни ошибок не выдает, не в модуль функции не заходит. Может кто подсказать, нужно ли еще что-то для работы данной конструкции?
По теме из базы знаний
- Использование функций внешнего отчета в вычисляемых полях системы компоновки данных. Добавлена поддержка расшифровки.
- СКД. Лайфхак №2. Собираем отчет еще удобнее
- Работа с СКД в продукте "Infostart Toolkit"
- Доработка типового отчета на СКД с помощью расширения
- Обработка результатов запроса произвольными вычисляемыми полями. Обзор некоторых новых функций СКД
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(6) Olie, Да, программно, но боюсь как раз тут и загвоздка, я не совсем понимаю, как и когда инициализировать параметр. Я его указала, в функции сформировать отчет, но когда выполняю через отладчик он на этой обработке выдает: Обращение к процедуре объекта как к функции (Инициализировать). Но при этом ни каких ошибок в пользовательском режиме нет, он просто игнорирует эту функцию и все.
Функция в общем модуле, экспортная, обращаюсь по названию модулю + название функции + передаю параметры, но она не работает, т.е. в саму функцию программа не заходит. Нашла то что нужно инициализировать возможности использования внешних функций, но не могу понять где ее и как применить. Может кто уже с этим работал и пояснит?
надергал из СП
компонуйте программно, инициализируйте параметр <ВозможностьИспользованияВнешнихФункций>
ПроцессорКомпоновкиДанных
Синтаксис:
Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>)
<ВозможностьИспользованияВнешнихФункций> (необязательный)
Тип: Булево.
Указывает возможность использования функции общих модулей конфигурации в выражениях компоновки данных.
Значение по умолчанию: Ложь
Синтаксис:
Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>)
<ВозможностьИспользованияВнешнихФункций> (необязательный)
Тип: Булево.
Указывает возможность использования функции общих модулей конфигурации в выражениях компоновки данных.
Значение по умолчанию: Ложь
компонуйте программно, инициализируйте параметр <ВозможностьИспользованияВнешнихФункций>
СтандартнаяОбработка=Истина;
СхемаКД=ЭтотОбъект.СхемаКомпоновкиДанных; //Можно без ЭтотОбъект т.к. процедура в модуле объекта.
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Настройки=ЭтотОбъект.КомпоновщикНастроек.Настройки; //
ПользовательскиеНастройки = ЭтотОбъект.КомпоновщикНастроек.ПользовательскиеНастройки;
МакетКомпоновки = КомпоновщикМакета.Выполнить(ЭтотОбъект.СхемаКомпоновкиДанных, ЭтотОбъект.КомпоновщикНастроек.Настройки, ДанныеРасшифровки,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений") );
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки,Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ТЗ=ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
ПоказатьВот код выполнения формирования отчет в процедуре ПриКомпоновкеРезультата. Что не так?(((
(19) platon_, да, я знаю, я имею ввиду в какой процедуре модуля программы это написать. При формировании ссылается на общий модуль, текст следующий
Этот код стандартный который выполняется при формировании отчета, находится в общем модуле
Результат.Очистить();
Настройки = ОтчетОбъект.КомпоновщикНастроек.ПолучитьНастройки();
ДоработатьТиповойОтчетПередВыводом(ОтчетОбъект);
ВыводЗаголовкаТиповогоОтчета(ОтчетОбъект, Результат, ВыводВФормуОтчета);
ОтчетОбъект.ДоработатьКомпоновщикПередВыводом();
ВывестиТиповойОтчет(ОтчетОбъект, Результат, ДанныеРасшифровки, ВыводВФормуОтчета, ВнешниеНаборыДанных, ВыводитьШапкуОтчетаНаВсехСтраницах);
ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
Этот код стандартный который выполняется при формировании отчета, находится в общем модуле
(20), в этой процедуре идет компоновка
но 4-й параметр там везде Истина.
Проверил у себя - внешняя функция в типовом отчете отрабатывает без допиливания.
ВывестиТиповойОтчет(ОтчетОбъект, Результат, ДанныеРасшифровки, ВыводВФормуОтчета, ВнешниеНаборыДанных, ВыводитьШапкуОтчетаНаВсехСтраницах);
но 4-й параметр там везде Истина.
Проверил у себя - внешняя функция в типовом отчете отрабатывает без допиливания.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот