4. JavaScript интерпретатор¶
4.1. Введение¶
JavaScript интерпретатор (далее просто «интерпретатор») - внешний модуль, предоставляющий возможность написать server-side скрипт на JavaScript с использованием объектов платформы. На данный момент использовать интерпретатор можно для обработки в блокирующем процессе. Поддерживаемые объекты: формы, личные карточки. С помощью интерпретатора есть возможность решать такие задачи, как арифметические действия с числовыми полями, с датами, производить необходимые расчеты в динамических таблиц и т.д.
4.2. Интерфейс модуля¶
При переходе к модулю «Интерпретатор» открывается следующее окно:
В данном окне отображается список скриптов, которые можно редактировать и удалять, нажав соответствующую кнопку. Чтобы вставить новый скрипт, необходимо нажать кнопку «Добавить». Открывается окно:
Данное окно делится на две области: метаданные и код.
Метаданные:
- Название — название скрипта в формате
event.blocking.interpreter.%название_скрипта%
; - Описание;
- Комментарий по умолчанию;
- Авторизация.
В окне кода прописывается сам скрипт.
Скрипт может обращаться к параметрам авторизации, которые
указаны в интерпретаторе, с помощью строковых переменных
login
, password
и key
.
Внимание
Не забудьте сохранить написанный скрипт!
4.3. Запуск скрипта¶
Написанный скрипт можно запустить непосредственно из интерпретатора
с помощью кнопки “Запустить” или нажатием клавиш Ctrl+S
.
При первом запуске скрипта открывается окно “Конфигурация выполнения
скрипта”, где можно ввести значения параметров dataUUID
,
documentID
и executionID
- эти параметры передаются
скрипту интерпретатора при его запуске в блокирующем процессе Synergy:
Примечание
Формально эти параметры не обязательны для запуска скрипта, но выполнение скрипта без них может приводить к ошибкам.
Если флаг “Открывать конфиг при запуске” установлен, то это окно будет отображаться при каждом запуске скрипта, иначе - по нажатию на кнопку .
Результат выполнения скрипта отображается в виде всплывающего сообщения в нижней правой части экрана:
Если при выполнении возникли ошибки, то они также отображаются во всплывающем сообщении:
4.4. Авторизация¶
Так как API ARTA Synergy работает только с авторизацией модуль интерпретатор предоставляет возможность настраивать для каждого скрипта параметры авторизации:
- Логин и пароль пользователя, от имени которого должен работать скрипт;
- Ключ Авторизация по ключам.
4.5. Завершение процесса¶
Блокирующий процесс может завершиться как успешно так и неуспешно. В обоих случаях необходимо передавать комментарий, говорящий о результате завершения процесса.
Модуль предоставляет возможность в скрипте указать как должен завершиться процесс и с каким комментарием. Для этого необходимо при завершении скрипта взять из него значения переменных:
result
- результат:- true (по умолчанию) — успешно завершено;
- false — не успешно завершено.
message
— комментарий завершения; значение по-умолчанию вводится в метаданных скрипта.
Отладить скрипт возможно на стадии разработки, см. описание Запуск скрипта
4.6. Примеры скриптов¶
- 4.6.1. Сумма двух чисел внутри одной формы
- 4.6.2. Запись значения(текст) в поле определенной личной карточки пользователя, указанного в форме
- 4.6.3. Запись суммы двух компонентов формы в поле определенной личной карточки пользователя, указанного в форме
- 4.6.4. Разница между датой в форме и конкретным числом (количество полных дней)
- 4.6.5. Разница между двумя датами в личной карточке (количество полных дней)
- 4.6.6. Количество строк в дин. таблице и сумма значений компонентов дин.таблицы
- 4.6.7. Успешное и неуспешное завершение процесса
- 4.6.8. Использование REST API Synergy