Problema com constraint e valores mistos no dataset

Estou com um problema no fluig referente a constraints em dataset autogerado (interno) de um formulário personalizado.

No dataset existe um campo (codigoSubclasse) que ficam salvos valores numéricos (100, 120, 1050,...) e strings (100.1, 120.5, naoUsa,...), quando tento fazer uma consulta via constraint passando o valor numérico:

var c16 = DatasetFactory.createConstraint("codigoSubclasse", '12', '12', ConstraintType.MUST, false); var dsFormTemporalidadeGeral = DatasetFactory.getDataset('dsFormTemporalidadeGeral', null, [c16], null);

O retorno do dataset é um objeto vazio {} e no log é apresentado um erro:

ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-166) Error converting data type varchar to bigint.

ERROR [com.datasul.technology.webdesk.lists.dao.MetaListRecordDAORDBMS] (default task-166) fieldList:[id, ...

ERROR [com.datasul.technology.webdesk.lists.dao.MetaListRecordDAORDBMS] (default task-166) query:SELECT ML001829.id, ...

ERROR [com.datasul.technology.webdesk.lists.dao.MetaListRecordDAORDBMS] (default task-166) error executing work: org.hibernate.exception.SQLGrammarException: error executing work

Porém se adiciono o like na constraint o problema se resolve, mas aparecem outros pois existem códigos que em algum momento vão retornar de forma errônea (ex: 100 e 1001 se a constraint for pro 100) e no reloadZoomFilterValues não tenho como passar like (e o problema também acontece).

O fluig está na versão 1.6.5-200819 726, na base teste que está desatualizada o problema não ocorre. Alguém tem alguma ideia de como proceder?

Felipe, normalmente os datasets interno de metalistas são carregados com todos os campos como string no banco. QUando você tem um dataset offline, você pode definir no "defineStructure" a tipagem onde poderia ser armazenado como número.

Pelo erro: "Error converting data type varchar to bigint." parece que seu campo foi armazenado como número, ao invés de string, no exemplo de código, sua constraint aparece como '12' que é um string. Tente passar diretamente como 12.