Tempo aproximado para leitura: 00:07:00 min
Dúvida
Ao processar consultas no Smart View Financeiro, é apresentada a seguinte mensagem de erro:
"Status: OK,The JSON value could not be converted to System.String. Path: $[1].NATUREZA_BAIXA | LineNumber: 0 | BytePositionInLine: XXXX."
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - Financeiro - A partir da versão 12.1.2210
Solução
A mensagem indica que, durante o processamento da consulta, o Smart View recebeu no campo NATUREZA_BAIXA um valor que não pôde ser convertido para o tipo String (System.String) esperado pela estrutura de retorno em JSON.
Em situações desse tipo, é importante validar o conteúdo efetivamente gravado no cadastro relacionado à natureza ou ao título, principalmente quando houver caracteres ou informações fora do padrão esperado para o campo.
Por exemplo, no cadastro de Natureza da tabela SED, o campo ED_CODIGO é do tipo caractere e pode conter códigos numéricos e alfa-numéricos, como 0001. Nesse caso, embora o conteúdo seja composto apenas por números, ele continua sendo tratado como uma informação do tipo caractere, pois o banco de dados o converte para '0001'
O problema pode ocorrer quando o valor armazenado ou retornado para NATUREZA_BAIXA contém informações incompatíveis com o formato esperado pelo objeto do Smart View, como caracteres especiais ou operadores lógicos inseridos indevidamente no conteúdo.
Como exemplo, devem ser verificados no conteúdo do campo, temos:
- %
- $
- |
- &
- *
- !
- +
- =
Passos para validação
- Identifique, por meio da mensagem de erro e dos registros envolvidos na consulta, a natureza ou o título relacionado ao campo NATUREZA_BAIXA.
- Acesse o cadastro correspondente no módulo Financeiro.
- Verifique o conteúdo gravado no campo relacionado à natureza, observando se existem caracteres especiais o
- Compare o registro que apresenta o erro com outros registros de natureza que são processados normalmente pelo Smart View.
- Caso sejam identificados caracteres especiais ou conteúdo incompatível com o padrão esperado para o campo, realize a correção do cadastro, removendo ou substituindo esses caracteres.
- Após o ajuste, execute novamente a consulta no Smart View e valide se o processamento ocorre normalmente.
Importante: caso o erro permaneça mesmo após a validação do conteúdo de NATUREZA_BAIXA, é necessário analisar o registro específico retornado pela consulta e as demais informações envolvidas no processamento, pois a mensagem indica uma incompatibilidade na conversão do conteúdo retornado e não permite concluir, isoladamente, que a causa seja exclusivamente um determinado caractere especial.
A mensagem indica que o sistema tentou converter o valor contido no campo NATUREZA_BAIXA para o tipo caractere (string), porém o conteúdo retornado é incompatível devido à presença de caracteres especiais ou operadores lógicos.
No dicionário de dados, campos configurados como caractere suportam valores numéricos:
Exemplo: Ao usar o campo de Natureza (tabela SED) com Código númerico (ED_CODIGO = 0001), o banco trata internamente a informação convertida como '0001'). Contudo, o erro ocorre quando a informação gravada possui operadores lógicos ou caracteres especiais que impedem a conversão automática durante a leitura da estrutura JSON.
Exemplos de caracteres não suportados nessa conversão:
%$|&*!+=
Observação:
- A mensagem apresentada está relacionada ao processo de conversão do conteúdo retornado para a estrutura JSON utilizada pelo Smart View. Dessa forma, a validação deve considerar principalmente o valor efetivamente retornado no campo
NATUREZA_BAIXA, e não apenas o tipo definido no dicionário de dados. - Não recomendamoa o uso de caracteres especiais nos cadastros do Protheus, pois isso pode ocasionar problemas na geração dos relatórios e outras funcionalidades.
Saiba Mais:
Cross Segmentos - Backoffice Linha Protheus - SIGAFIN - Uso de carácter especial nos cadastros
0 Comentários