Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - Backoffice (Linha Protheus) - SIGAEST - JSON value could not be converted to system string B1_DESC

O erro "The JSON value could not be converted to System.String. Path: $[0].B1_DESC" ocorre ao gerar relatórios SmartView no Protheus (release 12.1.2310) devido a registros inconsistentes no campo B1_DESC, como valores nulos ou caracteres especiais. Para resolver, isole o produto com problema, corrija o campo descrição no módulo SIGAEST ou via consulta SQL, removendo caracteres inválidos para garantir a correta serialização JSON.

time.png Tempo aproximado para leitura: 00:02:00 min

Ocorrência
Ao tentar gerar qualquer relatorio SmartView, dependendo do filtro utilizado, ocorre o erro: "The JSON value could not be converted to System.String. Path: $[0].B1_DESC", impossibilitando a emissão do documento.

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - SIGAEST - A partir da release 12.1.2310

Causa 
Isso ocorre devido a algum produto possuir registros inconsistentes dentro do campo B1_DESC.

Solução
O erro ocorre porque a nova interface do relatório consome dados no formato JSON via API. 

O componente espera receber um texto simples (String) no campo de descrição do produto (B1_DESC). 

Caso o banco de dados retorne um valor nulo mal formatado, caracteres especiais invisíveis (como quebras de linha ou tabulações) ou caracteres corrompidos, a serialização do JSON é interrompida.

 

Passos

  1. Refine os parâmetros de geração do relatório por meio de intervalos menores de filiais ou códigos de produtos. Ao gerar o relatório em lotes reduzidos, identifica-se em qual intervalo o erro ocorre até isolar o produto específico que possui a inconsistência no cadastro.

  2. Com o código do produto identificado, acesse o módulo de Estoque e Custos (SIGAEST), vá em Atualizações > Cadastros > Produto (MATA010), localize o item e altere o campo Descrição (B1_DESC), removendo qualquer caractere especial, aspas ou espaços excessivos e salve o registro.

  3. Para o seu analista DBA: Caso o ajuste pela rotina não corrija o comportamento, execute uma consulta (Query) diretamente na tabela SB1 via banco de dados (SQL Server) para o produto afetado. Avalie se o campo B1_DESC contém valores do tipo NULL ou caracteres de controle invisíveis e realize a devida correção via rotina.

 

Exemplos de validação em SQL.

Cenário 1: Buscar quebras de linha e tabulações (Mais Comum)

Geralmente, o JSON quebra quando o usuário aperta "Enter" ou "Tab" sem querer dentro do campo de descrição no Protheus.

-- Busca caracteres invisíveis de controle (Quebra de linha e Tab)
SELECT B1_FILIAL, B1_COD, B1_DESC 
FROM SB1010 WITH (NOLOCK)
WHERE D_E_L_E_T_ = ' '
  AND (
       B1_DESC LIKE '%' + CHAR(10) + '%' -- Line Feed (Enter)
    OR B1_DESC LIKE '%' + CHAR(13) + '%' -- Carriage Return (Enter)
    OR B1_DESC LIKE '%' + CHAR(9) + '%'  -- Horizontal Tab
  );

 

Cenário 2: Abordagem "Lista Branca"

Esta consulta lista qualquer produto que tenha qualquer caractere fora do alfabeto, números, espaços e acentuação básica. para achar símbolos "estranhos" (como ^, ~ isolados, emojis ou caracteres corrompidos).

-- Lista tudo o que NÃO FOR letra, número, espaço ou acento padrão
SELECT B1_FILIAL, B1_COD, B1_DESC 
FROM SB1010 WITH (NOLOCK)
WHERE D_E_L_E_T_ = ' '
  AND B1_DESC COLLATE Latin1_General_BIN LIKE '%[^ a-zA-Z0-9áéíóúâêîôûãõçÁÉÍÓÚÂÊÎÔÛÃÕÇ-]%';

 

Cenário 3: Buscar Espaço Invisível (Copiar/Colar da Web)

Muito comum quando o usuário copia a descrição de um site e cola no Protheus. O espaço do fim da frase não é um espaço normal (ASCII 32), mas sim um caractere especial (ASCII 160) que o serializador JSON rejeita.

-- Busca o caractere "Non-Breaking Space" (Espaço obtido via Web)
SELECT B1_FILIAL, B1_COD, B1_DESC 
FROM SB1010 WITH (NOLOCK)
WHERE D_E_L_E_T_ = ' '
  AND B1_DESC LIKE '%' + CHAR(160) + '%';

📌 (Dica ao Analista/DBA): > Ao identificar o registro problemático através de uma das consultas acima, a correção deve ser feita preferencialmente via rotina do Protheus (MATA010), limpando o campo e digitando-o novamente para que o sistema atualize os índices e tabelas relacionais corretamente.

 

Saiba mais:

Como configurar o SmartView

Clique aqui e veja mais artigos sobre Relatórios SmartView do Estoque Custos

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _