5
правок
Admin (обсуждение | вклад) |
(совместимость при обновлении до 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--> |
правок