Alguém pode me explicar este erro?


#1

Estou criando uma lógica em um data source meta, e quando a executo o Scada até trava com incontáveis mensagens com este erro:

’Teste Hidrantes Meta’: Erro de script no data point “SaidaDSM_1”: Não foi possível converter resultado “org.mozilla.javascript.Undefined@f7aa8a” para Numérico


#2

A sua função ou possui um return que não informa um valor numérico ou o não possui um return.

Provavelmente deve haver um problema de lógica no seu script. Corrigindo o problema o erro sumirá.

Caso você queira testar: procure comentar o código de seu script e substituí-lo apenas por uma linha contendo return 123;. O valor deverá ficar fixo em 123; se o erro continuar ocorrendo, aí pode ser um problema mais sério.


#4

@Celso, então, continuou com o erro, porém, em minha lógica havia dois “if’s”, e quando retirei um deles o resulto saiu correto. O Data source meta não aceita um if dentro de outro?


#5

Em tese aceita todo código válido para a biblioteca Rhino (é uma mistura de Javascript com Java), então deveria aceitar sim. Se você puder mandar um print/trecho do código fica mais fácil de analisar se existe algum erro de sintaxe.


#6

Segue print do código que produzia este erro. Mas como comentei, após incrementar um if dentro do outro ele funciona perfeitamente.


#7

A propósito, tem algum arquivo ou tutorial, sei la, que pudesse me auxiliar no estudo dessa “linguagem”?


#8

No começo eu sofri para achar a documentação porque o site da Rhino é confuso e alguns links que eu procurei estavam quebrados. Mas finalmente achei esse site com a documentação (em inglês):