Перейти к содержанию

Навигация

Движок правил wb-rules: различия между версиями

совместимость при обновлении до 2.2
(совместимость при обновлении до 2.2)
Строка 9: Строка 9:




== Совместимость скриптов при обновлении wb-rules ==
Предполагается, что при обновлении с предыдущей на следующую версию wb-rules и при соблюдении гайдлайнов при написании скриптов - все сценарии продолжат работать без каких-либо изменений.
Далее перечислены возможные проблемы в связи с изменением логики обработки скриптов новыми версиями движка.
=== Обновление до версии 2.2 ===
С версии 2.2 стали более строго проверяться типы устанавливаемых значений для контролов:
если для установления признака включено/выключено для контролов типа switch и клики по pushbutton применялась недокументировання возможность
использования для этой цели числовые значения (1, 0) в версии движка 2.2 операция присваивания не выполнится и завершится с ошибкой.
Корректный способ — устанавливать булевы значений (true/false)
Вместо:
<syntaxhighlight lang="ecmascript">
dev["wb-mr3_30"]["K1"] = 1 // включение
</syntaxhighlight>
Нужно:
<syntaxhighlight lang="ecmascript">
dev["wb-mr3_30"]["K1"] = true // включение
</syntaxhighlight>
При возникновении подобной проблемы в логах можно видеть подобные записи:
<pre>
ERROR: control wb-mr3_30/K1 SetValue() error: can't convert control value '1' (type float64) to datatype 'switch'
ERROR: control system/Reboot SetValue() error: can't convert control value '1' (type float64) to datatype 'pushbutton'
</pre>


== Как создавать и редактировать правила == <!--T:3-->
== Как создавать и редактировать правила == <!--T:3-->
5

правок