Ir para conteúdo
  • Cadastre-se

dev botao

XML CFe sem UTF8 - SAT


GSN
  • Este tópico foi criado há 3144 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

boa tarde !

 

Na geração do XML do CFe não está gerando a primeira linha do UTF8.

<?xml version="1.0" encoding="UTF-8"?>

no código em delphi 7 estou fazendo assim:     Config.EhUTF8             := true;

teria algum outra propriedade que devo alterar. Já tentei de tudo

se não gerar o UTF8 ocorre erro no SAT da Dimep.

Ja estou usando em produção

Obrigado

 

 

GSN / SP

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

O XML retornado é exatamente como o SAT devolve ele...

para inserir essa Tag estaríamos alterando o mesmo... Não sei se isso é uma coisa boa...

essa propriedade só tem sentido se o SAT usar UTF8... E tem mais efeito na exibição de mensagens e erros... Nem todos modelos suportam UTF8

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Daniel Simões

boa tarde !

Estava debugando e percebi que no fonte não entra no IF UNICODE, por isso não gera a primeira linha do XML, como faço pra entrar no IFDEF UNICODE para gerar a linha: <?xml version="1.0" encoding="UTF-8"?> ?

Estou usando o Dimep e nele suporta o UTF8 , pois alterei manualmente o XML e no Software da Dimep carregou sem erros.

function TCFeW.GerarXml(ApenasTagsAplicacao: Boolean): boolean;
var
  Gerar: boolean;
  Grupo: String;
begin
  FApenasTagsAplicacao := ApenasTagsAplicacao;
  Gerador.LayoutArquivoTXT.Clear;

  {$IFDEF UNICODE}
   Gerador.ArquivoFormatoXML := '<'+ENCODING_UTF8+'>';
   if Gerador.Opcoes.IdentarXML then
     Gerador.ArquivoFormatoXML := Gerador.ArquivoFormatoXML + #13#10 ;
  {$ELSE}
   Gerador.ArquivoFormatoXML := '';
  {$ENDIF}

 

Obrigado !

GSN / SP
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Vamos por partes... imaginei que você estivesse falando do XML de retorno, mas aparentemente é o XML de envio....

Qual é o passo a passo para gerar o mesmo no SATTeste.exe ? Como ele deve estar configurado ?

O que exatamente é o problema ? Como está e como deveria estar ?

Já tentou editar o XML e envia-lo para o SAT ? o que ocorre ?

{$IFDEFs} são resolvidos apenas em tempo de compilação...

Acho que compreendi o que você diz...  o método TCFeW.GerarXml, apenas irá adicionar a Tag com o tipo UTF8, se a IDE suportar UTF8 de forma nativa... isso indica que o XML não precisará ser convertido antes do envio (pois já está em UTF8)

Porém observe em: TACBrSAT.EnviarDadosVenda, que o XML é convertido para UTF8 (se necessário)... Ou seja, o componente mantém o XML na codificação nativa da IDE... isso permite que você possa manipulá-lo e lê-lo de forma tranquila (pois usa o mesmo encoding de sua IDE)

Porém, antes do envio, ele converte o mesmo para UTF8, que é o que determina a Especificação técnica do SAT

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Daniel,

boa tarde !

Entendi em partes, porém tenho uma dúvida:

no Exemplo SATTeste.exe é gerado a linha no XML UTF8 normalmente, quando faço na aplicação na gera a linha UTF8, e o código é extamente identico.

Eu uso o Delphi 7, onde devo configurar no meu código fonte para quando for compilar, entender que precisa usar o UNICODE?

Quando envio o XML para SAT sem a linha: <?xml version="1.0" encoding="UTF-8"?> ? ocorre o seguinte erro: Erro não identificado

 

 

Segue arquivo de teste gerado no computador do cliente

 

 

Obrigado

 

GSN/SP

20150917165048-903912-cfe-env.xml

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3144 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.