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

Функция ВЫПОЛНИТЬ_СЕРВ

Для работы требуется соединение с базой данных.

Функция ВЫПОЛНИТЬ_СЕРВ позволяет с клиентского места запустить алгоритм на сервере. То есть запуск алгоритма, хранящегося на сервере, виртуальной машиной клиентского приложения инициирует создание виртуальной машины и запуск алгоритма на сервере.

ФУНКЦИЯ ЛОГИКА: ВЫПОЛНИТЬ_СЕРВ(<имя_файла>;
                          [(<список_параметров>)];
                          ЛОГИКА: режим_запуска = ДА)

Параметры

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

Возвращаемое значение

ДА – в случае успешного выполнения, НЕТ – в случае ошибки.

Пример:

Синхронный запуск файла алгоритма без параметров на сервере:

ВЫПОЛНИТЬ_СЕРВ ( {"balance.ibx"} )

Асинхронный запуск файла алгоритма без параметров на сервере:

ВЫПОЛНИТЬ_СЕРВ ( {"balance.ibx"}, НЕТ )

Асинхронный запуск на сервере алгоритма, хранящегося в базе данных:

ВЫПОЛНИТЬ_СЕРВ ( ["БЛ/ОТЧ/БАЛАНС", "старт"], НЕТ )

Синхронный запуск файла алгоритма сервер_запуск.ibx на сервере с параметром-переменной х :

ВЫЧИСЛИТЬ
  ПЕРЕМ ЦЕЛОЕ: х
  х = 5
  ВЫПОЛНИТЬ_СЕРВ({"сервер_запуск.ibx"} (ПЕРЕМ х), ДА)
  СООБЩЕНИЕ(СТР(х))//25
КОНЕЦ
сервер_запуск.ibx
ВЫЧИСЛИТЬ(ПЕРЕМ ЦЕЛОЕ: х)
  х = х * х
КОНЕЦ

Синхронный запуск файла алгоритма сервер_запуск.ibx на сервере с параметром-значением х и параметром-переменной рез :

ВЫЧИСЛИТЬ
  ПЕРЕМ ЦЕЛОЕ: х, рез
  х = 5
  ВЫПОЛНИТЬ_СЕРВ({"сервер_запуск.ibx"} (х, ПЕРЕМ рез), ДА)
  СООБЩЕНИЕ(СТР(рез)) //25
  СООБЩЕНИЕ(СТР(х)) //5
КОНЕЦ
сервер_запуск.ibx
ВЫЧИСЛИТЬ(ЦЕЛОЕ: х; ПЕРЕМ ЦЕЛОЕ: рез)
  рез = х * х
  х = х * х
КОНЕЦ

См. также: