Разработка решений на платформе ELMA365 / Глобальные константы в скриптах

Глобальные константы в скриптах

Глобальные константы Global, Namespace и Imports можно использовать в скриптах виджетов, бизнес‑процессов и модулей. Они позволяют получить доступ:

  • Global — ко всем разделам, а также к глобальным параметрам;
  • Namespace — ко всем приложениям, бизнес-процессам и другим компонентам на уровне раздела;
  • Imports — к выбранным разделам или модулям, с которыми в настройках скрипта установлена опциональная зависимость. Использование константы Imports в скрипте компонента не ограничивает его экспорт и импорт в другую компанию. Поэтому обращение к разделам или модулям через Imports подходит для разработки решений.

начало внимание

Опциональные зависимости и константа Imports по умолчанию доступны в поставке SaaS, а также On‑Premises, начиная с версии системы 2024.2. В более ранних версиях администратору системы нужно включить фича-флаг allowScriptImportsDependencies. Подробнее об этом читайте в статьях «Изменение параметров On-Premises Enterprise» и «Изменение параметров On-Premises Standard».

конец внимание

Для компонентов, созданных на уровне компании, в скриптах всегда доступна константа Global. В компонентах, созданных на уровне раздела или приложения, и в модулях доступ к константам Global, Namespace и Imports нужно разрешить в настройках скрипта.

Использование глобальных констант можно включить:

  • для виджетов — на вкладке Настройки дизайнера интерфейсов;
  • для бизнес-процессов — на вкладке Скрипты дизайнера бизнес-процессов;
  • в модулях — в управлении модулем, в настройках следующих объектов:
    • действие типа Скрипт — на вкладке Скрипты (доступны константы Global и Imports);
    • методы API — на вкладке Скрипты (доступны константы Global и Imports);
    • обработчик событий типа Запуск скрипта — на вкладке Скрипты (доступна только константа Imports).

Об использовании констант Global и Namespace читайте в справке ELMA365 TS SDK в статье «Глобальный контекст и изоляция». Использование константы Imports описано в статье «Опциональные зависимости».

Особенности экспорта при использовании глобальных констант

Обратите внимание, использование глобальных констант влияет на экспорт компонентов системы, а именно:

  1. Если скрипт содержит константу Global, выгрузка скрипта невозможна. Поэтому недоступен экспорт любого компонента системы (раздела, приложения, модуля), в котором этот скрипт применяется.
  2. Если скрипт содержит константу Namespace и используется на уровне приложения, то:
    • экспорт этого приложения недоступен;
    • экспорт раздела, в котором находится такое приложение, доступен. Исключением является экспорт системного раздела в составе решения. Такой экспорт выполняется на уровне приложений и поэтому недоступен.
  1. Если скрипт содержит константу Imports, при экспорте компонента, в котором он находится, отобразится некритичное предупреждение о наличии опциональной зависимости. Это означает, что для компонента установлена связь с определённым разделом или пользовательским модулем, но выгрузку можно успешно завершить.

global-constants-1

При импорте отобразится аналогичное предупреждение. Импорт можно завершить, даже если в компании отсутствует компонент, от которого установлена опциональная зависимость. Однако скрипты, в которых используется константа Imports, могут работать некорректно, если зависимость не найдена.

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

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

Важно: в версиях системы ниже 2023.11 константа Imports недоступна. О том, как сделать решение совместимым с более ранними версиями, читайте в статье «Опциональные зависимости».