Сложные расчеты на сервере
Трехзвенная архитектура позволяет возложить на серверное приложение ответственность за проведение сложной обработки данных локально по отношению к базе данных. Примером таких сложных вычислений может служить формирование различных отчетов или расчет зарплаты.
Платформа предоставляет два способа хранения исполнимого кода программ на сервере. Во первых, исполнимый код может сохраняться в базе данных, в свойствах типа "алгоритм" служебного объекта аналитики. Во вторых, на сервере могут располагаться файлы исполнимого кода *.ibx, которые могут быть запущены по запросу клиента.
Для запуска программы на сервере с клиента используется функция ВЫПОЛНИТЬ_СЕРВ:
// запуск из файла ВЫПОЛНИТЬ_СЕРВ({"СерверныйРасчет.ibx"}) // запуск из базы данных ВЫПОЛНИТЬ_СЕРВ(["СЛУЖ/АЛГ/РАСЧЕТЫ", "ОтчетПоОплатам"])
Результаты работы программы на сервере могут быть переданы клиентскому приложению с помощью выходных параметров или сохранены где-то (в файле, базе данных и т.п.) для последующего использования.
Еще один способ выполнения кода из файлов на стороне сервера предоставляет механизм прикладных событий.