14.04.2018

Использование внешних функций в 1С:СКД

Автор: Белозерских Евгений

Программное формирование отчета

   Важно отметить, что ошибка при использовании внешних функций, возникает только при программном формировании отчета на СКД

Ошибка при выполнении обработчика - «ПриКомпоновкеРезультата»
   В данном примере ошибка возникла, потому что мы явно не разрешили использовать внешние функции при формировании отчета. Теперь по порядку...

Экспортная функция в общем модуле

   В нашем примере функция выглядит таким образом:
Функция ПолучитьОписаниеТовара(Номенклатура) Экспорт 
	Возврат Строка(Номенклатура.Код) + ", " + Номенклатура.Наименование;
КонецФункции
   Функция обязательно должна быть экспортной, и располагаться в общем модуле, для которого установлен флаг «Сервер» (остальные флаги необязательны).

Программное формирование отчета

   Чтобы решить проблему с возникшей ошибкой, необходимо в процессоре компоновки данных явно разрешить использование внешних функций:

«ПроцессорКомпоновкиДанных» - список параметров

Программный код в модуле отчета

   С учетом наших изменений итоговый код модуля отчета будет выглядеть следующим образом:
Процедура ПриКомпоновкеРезультата(ДокументРезультат,ДанныеРасшифровки, СтандартнаяОбработка)
	СтандартнаяОбработка	= Ложь;
	
	КМ	= Новый КомпоновщикМакетаКомпоновкиДанных;
	Макет	= КМ.Выполнить(ЭтотОбъект.СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки);
	
	ПК	= Новый ПроцессорКомпоновкиДанных;
	ПК.Инициализировать(Макет, , , Истина);
	
	ПВ	= Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПВ.УстановитьДокумент(ДокументРезультат);
	
	ПВ.Вывести(ПК);
КонецПроцедуры
   Теперь внешние функции в нашем отчете могут использоваться без ограничений:

Пример отчета с использованием внешних функций в 1С:СКД

Другие статьи про СКД на нашем портале

   Другие статьи и программном формировании отчетов на СКД

Другие статьи

Макет в СКД: Макет ресурсов (или оформляем таблицу в отчете)

    Статья с описанием примера использования макета ресурсов при разработке отчета на 1С:СКД

Макет в СКД: Макет группировки

   Наглядная демонстрация использования вида макета «Макет группировки» в СКД

Создание простого отчета на 1С:СКД

    Пример простейшего отчета на 1С СКД

Инициализация компоновщика настроек СКД

    Пример того, как правильно инициализировать компоновщик настроек 1С:СКД

Автозаполнение в СКД

    Флаг «Автозаполнение» в СКД существенно влияет на поведение отчета. Давайте разберемся почему так происходит

Макет СКД. Произвольный подвал (или шапка)

    Немного о том, как в СКД реализовать вывод произвольной шапки или подвала отчета

Стандартный период в СКД 1С 8.3

    Пример использования поля "Стандартный период" в параметрах отчета 1С СКД

Использование таблицы значений в отчете СКД (набор данных "Объект")

   Рассмотрим пример использования набора данных "Объект" в СКД. С помощью него можно передать например таблицу значений которая ранее была подготовлена .

Программная установка заголовка отчета СКД

Для того, чтобы при формировании отчета на СКД вывести вверху произвольный заголовок, необходимо написать всего 3 (ТРИ) строчки )

Вывод логотипа (изображения) на СКД

Часто ставится задача вывести в отчет (печатную форму) графический объект (изображение, логотип, подписи и т.п.). Рассмотрим как можно это реализовать при помощи СКД

Программная установка параметров СКД

Краткий пример того, как можно установить параметры в отчете СКД

Вывод дополнительной строки итогов

В статье описан достаточно простой пример получения строки с дополнительным итогом, при выводе отчета в таблице

Макет в СКД. Просто о простом

Разработчики 1С очень часто пользуются системой компоновки данных при разработке отчетов. Но когда речь заходит о макетах в СКД, для многих это кажется сложным.