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

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

Функция ВЫПОЛНИТЬ запускает алгоритм на клиентском месте (виртуальной машиной клиентского приложения).

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

Параметры

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

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

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

Пример:

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

ВЫПОЛНИТЬ ( ["balance.ibx"] )

Асинхронный запуск серверного алгоритма без параметров (не надо ждать завершения его работы, параллельно могут выполняться другие процессы):

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

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

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

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

ВЫЧИСЛИТЬ
  ПЕРЕМ ЦЕЛОЕ: х
  х = 5
  ВЫПОЛНИТЬ(["квадрат.ibx"] (ПЕРЕМ х), ДА)
  СООБЩЕНИЕ(СТР(х)) //25
КОНЕЦ
квадрат.ibx
ВЫЧИСЛИТЬ(ПЕРЕМ ЦЕЛОЕ: х)
  х = х * х
КОНЕЦ

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

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

См. также: