JavaScript интерпретатор ======================== Введение -------- **JavaScript интерпретатор** (далее просто «интерпретатор») - внешний модуль, предоставляющий возможность написать server-side скрипт на JavaScript с использованием объектов платформы. На данный момент использовать интерпретатор можно для обработки в блокирующем процессе. Поддерживаемые объекты: формы, личные карточки. С помощью интерпретатора есть возможность решать такие задачи, как арифметические действия с числовыми полями, с датами, производить необходимые расчеты в динамических таблиц и т.д. Интерфейс модуля ---------------- При переходе к модулю «Интерпретатор» открывается следующее окно: .. figure:: _static/img/interpreter/interpreter_gui_1.png В данном окне отображается список скриптов, которые можно редактировать и удалять, нажав соответствующую кнопку. Чтобы вставить новый скрипт, необходимо нажать кнопку «Добавить». Открывается окно: .. figure:: _static/img/interpreter/interpreter_gui_2.png Данное окно делится на две области: метаданные и код. Метаданные: * Название — название скрипта в формате ``event.blocking.interpreter.%название_скрипта%``; * Описание; * Комментарий по умолчанию; * Авторизация. В окне кода прописывается сам скрипт. Скрипт может обращаться к параметрам авторизации, которые указаны в интерпретаторе, с помощью строковых переменных ``login``, ``password`` и ``key``. .. attention:: Не забудьте сохранить написанный скрипт! Запуск скрипта -------------- Написанный скрипт можно запустить непосредственно из интерпретатора с помощью кнопки "Запустить" или нажатием клавиш ``Ctrl+S``. При первом запуске скрипта открывается окно "Конфигурация выполнения скрипта", где можно ввести значения параметров ``dataUUID``, ``documentID`` и ``executionID`` - эти параметры передаются скрипту интерпретатора при его запуске в блокирующем процессе Synergy: .. figure:: _static/img/interpreter/interpreter_gui_3.png Конфигурация выполнения скрипта .. note:: Формально эти параметры не обязательны для запуска скрипта, но выполнение скрипта без них может приводить к ошибкам. Если флаг "Открывать конфиг при запуске" установлен, то это окно будет отображаться при каждом запуске скрипта, иначе - по нажатию на кнопку |interpreter_gui_config| . .. |interpreter_gui_config| image:: _static/img/interpreter/interpreter_gui_config.png Результат выполнения скрипта отображается в виде всплывающего сообщения в нижней правой части экрана: .. figure:: _static/img/interpreter/interpreter_gui_console_success.png Успешное завершение выполнения скрипта Если при выполнении возникли ошибки, то они также отображаются во всплывающем сообщении: .. figure:: _static/img/interpreter/interpreter_gui_console_error.png Ошибка при выполнении скрипта Авторизация ----------- Так как API ARTA Synergy работает только с авторизацией модуль интерпретатор предоставляет возможность настраивать для каждого скрипта параметры авторизации: * Логин и пароль пользователя, от имени которого должен работать скрипт; * Ключ :ref:`key_auth`. Завершение процесса ------------------- Блокирующий процесс может завершиться как успешно так и неуспешно. В обоих случаях необходимо передавать комментарий, говорящий о результате завершения процесса. Модуль предоставляет возможность в скрипте указать как должен завершиться процесс и с каким комментарием. Для этого необходимо при завершении скрипта взять из него значения переменных: * ``result`` - результат: * *true* (по умолчанию) — успешно завершено; * *false* — не успешно завершено. * ``message`` — комментарий завершения; значение по-умолчанию вводится в метаданных скрипта. Отладить скрипт возможно на стадии разработки, см. описание `Запуск скрипта`_ Примеры скриптов ---------------- .. toctree:: :maxdepth: 2 :numbered: interpreter/examples Справочник API -------------- .. toctree:: :maxdepth: 2 :numbered: interpreter/api