В выражениях системы компоновки данных можно использовать функции общих модулей.
Функция должна быть объявлена с ключевым словом Экспорт.
Функция МояФункция ( Параметр ) Экспорт
Возврат "МояФункция(" + Строка ( Параметр ) + ")" ;
КонецФункци
Синтаксис обращения к функциям общих модулей аналогичен вызову функции из встроенного языка.
Пример вызова функции:
МойОбщийМодуль . МояФункция ( ПолеТаблицы )
В этом примере "МойОбщийМодуль" это имя общего модуля, в котором расположена функция, а "МояФункция" это имя функции.
Если модуль является глобальным, то обращаться к функции можно без имени общего модуля. Пример:
Если компоновка данных выполняется при помощи стандартных средств объекта Отчет, то использование внешних функций разрешено. Если же компоновка данных осуществляется при помощи объектов системы компоновки данных, то, для того, чтобы разрешить использование внешних функций, необходимо в качестве значения параметра ВозможностьИспользованияВнешнихФункций функции Инициализировать объекта ПроцессорКомпоновкиДанных передать значение Истина. В противном случае использовать внешние функции не получится.
Пример инициализации процессора компоновки данных:
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных ;
ПроцессорКомпоновки . Инициализировать ( МакетКомпоновкиДанных , , ДанныеРасшифровки , Истина ) ;
В вычисляемых полях СКД можно использовать свои функции расчетов!
для этого необходимо добавить экспорнутю функцию в общий модуль:
Код 1C v 8.х
В скд на закладке вычисляемые поля добавляете поле:
указываете Путь к данными и пишете по аналогии с примером:
Первые шаги, Разное Ваш отзыв В закладки
Все просто. В СКД можно использовать функции глобальных и неглобальных общих модулей в вычисляемых полях при условии что функция объявлена как экспортная.
Есть только маленькая тонкость при программном формировании отчета СКД.
Обычно, при инициализации процессора компоновки данных делают так:
При таком формировании отчета вызова функций не произойдет. Что бы эту возможность включить нужно сделать так