Руководство разработчика

Сложные расчеты на сервере

Трехзвенная архитектура позволяет возложить на серверное приложение ответственность за проведение сложной обработки данных локально по отношению к базе данных. Примером таких сложных вычислений может служить формирование различных отчетов или расчет зарплаты.

Платформа предоставляет два способа хранения исполнимого кода программ на сервере. Во первых, исполнимый код может сохраняться в базе данных, в свойствах типа "алгоритм" служебного объекта аналитики. Во вторых, на сервере могут располагаться файлы исполнимого кода *.ibx, которые могут быть запущены по запросу клиента.

Для запуска программы на сервере с клиента используется функция ВЫПОЛНИТЬ_СЕРВ:

// запуск из файла
ВЫПОЛНИТЬ_СЕРВ({"СерверныйРасчет.ibx"})

// запуск из базы данных
ВЫПОЛНИТЬ_СЕРВ(["СЛУЖ/АЛГ/РАСЧЕТЫ", "ОтчетПоОплатам"])

Результаты работы программы на сервере могут быть переданы клиентскому приложению с помощью выходных параметров или сохранены где-то (в файле, базе данных и т.п.) для последующего использования.

Еще один способ выполнения кода из файлов на стороне сервера предоставляет механизм прикладных событий.