Сборка Algo предназначена для работы с расширением «Алгоритмы расчёта». Программирование на Fore с использованием данной сборки заключается в последовательной настройке алгоритма расчёта.
Перед началом работы с алгоритмом расчёта:
Убедитесь, что установлено расширение «Алгоритмы расчёта».
В среде разработки добавьте ссылки на системную сборку Algo и пользовательскую сборку «Ядро алгоритма расчёта», которая содержится в компоненте «Алгоритмы расчёта»:
После выполнения действий будут доступны классы и прикладные функции пользовательской сборки «Ядро алгоритма расчёта» для начала работы с алгоритмом расчёта.
Для начала работы с алгоритмом расчёта:
Получите объект репозитория типа «Алгоритм расчёта показателей» с помощью класса CalcObjectFactory и прикладной функции CreateCalcObject, которые реализованы в пользовательской сборке «Ядро алгоритма расчёта».
Синтаксис функции CreateCalcObject:
CreateCalcObject(descr: IMetabaseObjectDescriptor, [OpenForEdit: Boolean = true]): ICalcObject;
Параметры:
descr. Объект репозитория;
OpenForEdit. Разрешение или запрет редактирования объекта репозитория.
Приведите полученный объект к интерфейсу ICalcAlgorithm.
Пример получения алгоритма расчёта с идентификатором ALGORITHM на редактирование:
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObjectDescriptor;
Algo: ICalcObject;
CalcAlgo: ICalcAlgorithm;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemById("ALGORITHM");
Algo := CalcObjectFactory.CreateCalcObject(MObj, True);
CalcAlgo := Algo As ICalcAlgorithm;
//...
End Sub UserProc;
В процессе настройки алгоритма расчёта участвуют следующие объекты:
Блок расчёта. Используется для выполнения расчётов по заданным параметрам. Для работы с блоком расчёта предназначен интерфейс ICalcBlock;
Блок агрегации. Используется для выполнения агрегации по заданным параметрам. Для работы с блоком агрегации предназначен интерфейс ICalcAggr;
Блок функций. Используется для расчёта прикладной функции. Для работы с блоком функций предназначен интерфейс ICalcFunc;
Блок линейной оптимизации. Используется для решения задачи оптимального использования ограниченных ресурсов. Для работы с блоком линейной оптимизации предназначен интерфейс ICalcLinearOptimizationBlock;
Блок контроля. Используется для проверки вводимых данных в расширении «Интерактивные формы ввода данных». Для работы с блоком контроля предназначен интерфейс ICalcValidationBlock;
Готовый алгоритм расчёта. Используется для расчёта существующего алгоритма расчёта в текущем расчёте. Для работы с готовым алгоритмом расчёта предназначен интерфейс ICalcAlgorithm.
Настройка алгоритма расчёта осуществляется по схеме:
Для получения подробной информации о взаимодействии интерфейсов сборки обратитесь к разделу «Иерархия сборки Algo».
См. также:
Введение в сборку Algo | Интерфейсы сборки Algo | Перечисления сборки Algo