JEXL-скрипты в Global ERP#

JEXL-скрипты используются в Global ERP для настройки и автоматизации прикладной логики без разработки отдельного программного модуля. С их помощью можно выполнять небольшие служебные операции, донастраивать поведение интерфейса, проверять условия, вызывать методы API, обрабатывать данные и автоматизировать повторяющиеся действия.

Эта статья дает общее представление о назначении JEXL-скриптов и типовых сценариях их применения. Подробное описание синтаксиса, редактора, библиотеки скриптов, особенностей выполнения и практических примеров приведено в отдельной методике: Методика работы с JEXL.

JEXL применяется как встроенный язык сценариев. Скрипт выполняется в контексте системы и может обращаться к доступным объектам, параметрам текущей формы, API-классам, пакетам бизнес-логики, SQL-запросам и служебным функциям платформы.

Для чего используются JEXL-скрипты#

JEXL-скрипты применяются в разных прикладных сценариях:

  • запуск служебных и разовых операций из интерфейса;

  • автоматизация действий пользователя;

  • настройка операций, кнопок и точек расширения;

  • проверка условий при изменении состояния объектов;

  • назначение участников маршрутов согласования;

  • формирование параметров печатных форм и имен файлов;

  • массовая обработка и корректировка данных;

  • обработка файлов, в том числе XLSX;

  • настройка автонумерации, интерфейсных сценариев и служебных правил;

  • диагностика, восстановление и сопровождение данных.

JEXL удобен там, где требуется быстро реализовать прикладную логику на уровне настройки или выполнить ограниченную служебную операцию без полноценной доработки серверного кода.

Где применяются JEXL-скрипты#

JEXL-скрипты используются в настраиваемых точках системы, где требуется выполнить прикладную логику без отдельной серверной доработки.

Они могут применяться:

  • в операциях пользовательского интерфейса;

  • в точках расширения API и выборок;

  • в процедурах маршрутов согласования;

  • в настройках печатных форм и автонумерации;

  • в служебных сценариях обработки и корректировки данных.

Доступные переменные и объекты зависят от места выполнения скрипта. Например, в интерфейсной операции может быть доступен контекст выборки, в процедуре изменения состояния — текущий объект, а в маршруте согласования — параметры процесса.

Отличие от SQL и серверной разработки#

JEXL-скрипт не является обычным SQL-скриптом. SQL-запросы могут использоваться внутри JEXL для поиска или отбора данных, но сам сценарий выполняется в контексте Global ERP и может вызывать API-методы, работать с объектами системы, выполнять проверки и управлять логикой обработки.

Также JEXL не заменяет полноценную серверную разработку. Если требуется сложная, повторно используемая или критичная бизнес-логика, ее лучше реализовывать в API/Pkg-классах прикладного модуля. JEXL подходит для настроечных сценариев, точечных расширений, служебных операций и шаблонов автоматизации.

Рекомендации по использованию#

При разработке JEXL-скриптов рекомендуется:

  • проверять место выполнения и доступный контекст;

  • не использовать жестко заданные идентификаторы без необходимости;

  • по возможности получать объекты по мнемокодам или системным именам;

  • тестировать скрипты на отдельной среде перед применением в продуктивном контуре;

  • учитывать права пользователя, от имени которого выполняется скрипт;

  • осторожно использовать прямые SQL-обновления;

  • фиксировать назначение скрипта и условия его применения.