Файлы скриптов правил - особенности использования

Добрый день! В видеоролике про написание правил объяснено, что файлы правил обрабатываются последовательно. Не уверен, правда, что видел в документации информацию об этом. Но у меня другой вопрос, который ранее задавал в другой ветке про документацию.

Речь о том, что в имеющейся документации нет в явном виде информации о том, будет доступен ли условный идентификатор “var RelayId = 34” (и его значение), объявленный в rules1.js, при исполнении следующего скрипта rules2.js.

Возможно, также есть иные особенности


Добрый день!

Начиная с версии wb-rules 1.7, локальные переменные и функции, объявленные в файле сценария не видны в других сценариях. Таким образом, каждый сценарий может определять свои функции и переменные без риска изменить поведение других сценариев.

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

В текущей версии такого инструмента нет — файлы специально изолировали для удобства.
Предлагаю использовать существующие глобальные MQTT-объекты, доступные правилам: одни правила будут вычислять значения и записывать их в эти объекты, а другие — использовать уже готовые результаты. При необходимости это можно оформить через виртуальные устройства.

Как вариант, но некоторое нагромождение получается. Предлагаю рассмотреть вариант организации поддержки директивы require при развитии движка. Или переключатель изоляции идентификаторов внедрить куда-то.

Добавил в список предложений.