Дополнительные справочные материалы > Создание формул и выражений > Вставка функций и операторов > Подключение пользовательских функций
Пользовательские функции и методы позволяют расширить возможности выражения за счёт использования пользовательских методик расчёта. Пользовательские функции доступны для использования в:
методах расчёта вычисляемых рядов в инструменте «Анализ временных рядов»;
методах расчёта моделей в инструменте «Моделирование и прогнозирование»;
мастере функций в инструменте «Отчёты»;
редакторе формул в инструменте «Алгоритмы расчёта».
По умолчанию пользовательские функции не подключены к инструментам и для их использования их каждый раз надо вводить в выражение вручную. Продукт «Форсайт. Аналитическая платформа» позволяет подключить пользовательские функции к системным функциям одновременно во всех вышеперечисленных инструментах.
Примечание. Подключение пользовательских функций доступно только в настольном приложении.
Например, в редакторе выражения они будут отображаться на панели функций в категории «Пользовательские функции»:
Для подключения пользовательских функций используйте вкладку «Методы» в разделе «Пользовательские метаданные» диалога «Параметры». Все методы, добавленные на данной вкладке, будут подключены в раздел пользовательских функций в инструментах продукта «Форсайт. Аналитическая платформа».
На вкладке содержатся пользовательские функции, разделённые по папкам. Папки - это категории, предназначенные для упорядочения и группировки функций. Пользовательские функции, сгруппированные по категориям, отображаются в инструментах «Анализ временных рядов» и «Моделирование и прогнозирование». В редакторе выражения и в инструментах «Алгоритмы расчёта» и «Отчёты» пользовательские функции отображаются без разделения на категории.
Требования, предъявляемые к пользовательским функциям:
функции должны быть написаны на языке Fore или Fore.NET, иметь модификатор Public и сохранены в текущем репозитории в виде формы, модуля Fore, сборки Fore или сборки Fore.NET;
если в расчёте используются ряды данных или переменные моделирования, то они должны быть типа ITimeSeries. Для возврата значений, рассчитанных функцией, также должны использоваться данные типа ITimeSeries.
Переименование
метода или категории
Настройка порядка
следования метода или категории
В качестве пользовательской функции можно использовать и функции, и методы.
Пользовательский метод. Синтаксис:
Fore:
Sub MyFunc(Factor1, Factor2: ITimeSeries; Var Output: ITimeSeries; Coef1: Double; Coef2: Double);
Begin
...
End Sub MyFunc;
Fore.NET:
Public Shared Sub MyFunc(Factor1, Factor2: ITimeSeries; Var Output: ITimeSeries; Coef1: Double; Coef2: Double);
Begin
...
End Sub;
Параметры метода:
Factor1, Factor2. Данные;
Output. Данные, которые будут изменены и возвращены по результатам расчёта;
Coef1, Coef2. Параметры, имеющие вещественное значение.
Пользовательская функция. Синтаксис:
Fore:
Function MyFunc(Input, Input1: ITimeSeries; Coef: Double): ITimeSeries;
Var
Output: ITimeSeries;
Begin
...
Return Output;
End Function MyFunc;
Fore.NET:
Public Shared Function MyFunc(Input, Input1: ITimeSeries; Coef: Double): ITimeSeries:
Var
Output: ITimeSeries;
Begin
...
Return Output;
End Function;
Параметры функции:
Input, Input1. Данные;
Coef. Параметр, имеющий вещественное значение;
Output. Переменная, возвращающая результат расчёта функции.
См. также: