Функция ВЫПОЛНИТЬ_СЕРВ
Для работы требуется соединение с базой данных.
Функция ВЫПОЛНИТЬ_СЕРВ позволяет с клиентского места запустить алгоритм на сервере. То есть запуск алгоритма, хранящегося на сервере, виртуальной машиной клиентского приложения инициирует создание виртуальной машины и запуск алгоритма на сервере.
ФУНКЦИЯ ЛОГИКА: ВЫПОЛНИТЬ_СЕРВ(<имя_файла>;
[(<список_параметров>)];
ЛОГИКА: режим_запуска = ДА)
Параметры
- имя_файла
-
Имя файла алгоритма. Синтаксис зависит от места хранения файла:
- Алгоритм хранится в файле. В этом случае имя файла берется в фигурные скобки: {<имя_файла_на_сервере>}. Поиск файла осуществляется по списку папок, заданному в конфигурационном файле сервера. По умолчанию принимается расширение файла *.ibx.
- Алгоритм хранится в базе данных (как свойство объекта аналитики). В квадратных скобках через запятую указывается код объекта аналитики и имя его свойства, которое содержит алгоритм: [<код_объекта_аналитики>, <имя_свойства_алгоритма>].
- список_параметров
- Параметры, передаваемые алгоритму при запуске. Список параметров должен соответствовать по количеству, типам и способу передачи параметров списку после ключевого слова ВЫЧИСЛИТЬ запускаемого алгоритма. Параметры-значения могут задаваться выражениями соответствующего типа, параметры-переменные обозначаются ключевым словом ПЕРЕМ, после которого следует имя переменной. В случае синхронного запуска алгоритма параметры-переменные могут изменить свои значения в результате работы запускаемого алгоритма. При асинхронном запуске параметры-переменные не изменяют свои значения, т.е. передаются подобно параметрам-значениям. Список параметров заключается в круглые скобки, а параметры разделяются запятыми.
- режим_запуска
- Определяет режим запуска алгоритма. ДА соответствует синхронному запуску, т.е. запуску с ожиданием результата, а значение НЕТ – асинхронному, когда результат работы запускаемого алгоритма не нужен запускающему алгоритму.
Возвращаемое значение
ДА – в случае успешного выполнения, НЕТ – в случае ошибки.
Пример:
Синхронный запуск файла алгоритма без параметров на сервере:
ВЫПОЛНИТЬ_СЕРВ ( {"balance.ibx"} )
Асинхронный запуск файла алгоритма без параметров на сервере:
ВЫПОЛНИТЬ_СЕРВ ( {"balance.ibx"}, НЕТ )
Асинхронный запуск на сервере алгоритма, хранящегося в базе данных:
ВЫПОЛНИТЬ_СЕРВ ( ["БЛ/ОТЧ/БАЛАНС", "старт"], НЕТ )
Синхронный запуск файла алгоритма сервер_запуск.ibx на сервере с параметром-переменной х :
ВЫЧИСЛИТЬ ПЕРЕМ ЦЕЛОЕ: х х = 5 ВЫПОЛНИТЬ_СЕРВ({"сервер_запуск.ibx"} (ПЕРЕМ х), ДА) СООБЩЕНИЕ(СТР(х))//25 КОНЕЦ
сервер_запуск.ibx
ВЫЧИСЛИТЬ(ПЕРЕМ ЦЕЛОЕ: х) х = х * х КОНЕЦ
Синхронный запуск файла алгоритма сервер_запуск.ibx на сервере с параметром-значением х и параметром-переменной рез :
ВЫЧИСЛИТЬ ПЕРЕМ ЦЕЛОЕ: х, рез х = 5 ВЫПОЛНИТЬ_СЕРВ({"сервер_запуск.ibx"} (х, ПЕРЕМ рез), ДА) СООБЩЕНИЕ(СТР(рез)) //25 СООБЩЕНИЕ(СТР(х)) //5 КОНЕЦ
сервер_запуск.ibx
ВЫЧИСЛИТЬ(ЦЕЛОЕ: х; ПЕРЕМ ЦЕЛОЕ: рез) рез = х * х х = х * х КОНЕЦ