Commit b3c2a9f4 authored by Valentin Skripnikov's avatar Valentin Skripnikov

-

parent f3aa442a
...@@ -74,7 +74,6 @@ ...@@ -74,7 +74,6 @@
то рекомендуется использовать следующее: то рекомендуется использовать следующее:
.. code-block:: js .. code-block:: js
:linenos:
if (!model.inited) { if (!model.inited) {
//манипулирование моделями //манипулирование моделями
...@@ -92,7 +91,7 @@ ...@@ -92,7 +91,7 @@
.. warning:: Если код скрипта содержит конструкции, не соответствующие стандарту ES5, то они не будут выполняться. Это не является ошибкой Synergy. .. warning:: Если код скрипта содержит конструкции, не соответствующие стандарту ES5, то они не будут выполняться. Это не является ошибкой Synergy.
Пользовательский компонент Пользовательский компонент
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
......
...@@ -14,3 +14,4 @@ ...@@ -14,3 +14,4 @@
intro intro
dev_process dev_process
form_scripting form_scripting
interpreter
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 работает только с авторизацией
модуль интерпретатор предоставляет возможность
настраивать для каждого скрипта параметры авторизации:
* Логин и пароль пользователя, от имени которого должен
работать скрипт;
* `Ключ`_ (для авторизации по ключам).
Завершение процесса
-------------------
Блокирующий процесс может завершиться как успешно так и
неуспешно. В обоих случаях необходимо передавать комментарий,
говорящий о результате завершения процесса.
Модуль предоставляет возможность в скрипте указать
как должен завершиться процесс и с каким комментарием. Для
этого необходимо при завершении скрипта взять из него
значения переменных:
* ``result`` - результат:
* *true* (по умолчанию) — успешно завершено;
* *false* — не успешно завершено.
* ``message`` — комментарий завершения; значение по-умолчанию
вводится в метаданных скрипта.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment