Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Estou usando o DELPHI 7 ainda . e agora quando o xml retorna com a rejeição - "Uso Denegado: Irregularidade fiscal do destinatário" , ao tentar carregar o XML dentro do componente , ele me retorna o

erro de "List index of Bounds(0)" erro_ao_carregar_nfe.png, entendo que nao foi carregado o item pra dentro da NFe ..

vi que a funcao function TNotasFiscais.LoadFromString(AXMLString: String;  AGerarNFe: Boolean = True): Boolean; , nao esta carregando o arquivo xml . Vi que dentro desse LoadFromString

ao executar o procedimento XMLStr := ConverteXMLtoNativeString(AXMLString); , ele retorna Varzio .

No browser aponta justamente para a palavra "DESTINATÁRIO" , nao sei se eu estou fazendo algo errado e ao gravar o arquivo Blob dentro do banco . esta gravando como Ansi . mais ta dando a entender que

por isso que nao carrega . conforme imagens em anexo .

erro_para_Carregar_no_browser.png

Percebi que se eu entrar no Notepad e pedir pra alterar para o tipo de arquivo para UTF8 ., ele abre normalmente dai no browser e também consigo carregar ele no AcbrNFe.

Para Gravar no banco de dados estou usando essa função

procedure GRAVA_XML_BANCO(aQCAD:TZQuery;aID_NFS:Integer;aNFE:TACBRNFe);
var
 aXML_ARQ:TStringStream;
begin
  try
   aXML_ARQ := TStringStream.Create('');

   //===> Rotina Incluida para Ver se campo nNF esta vazio ou não...
   if aNFE.Notasfiscais.Items[0].NFe.Ide.nNF = 0 then
    if trim(aNFE.Notasfiscais.Items[0].XML) <> '' then
     begin
      aXML_ARQ.WriteString(trim(aNFE.Notasfiscais.Items[0].XML));
      aNFE.NotasFiscais.clear;
      aNFE.Notasfiscais.LoadFromStream(aXML_ARQ);
     end;

   aNFE.NotasFiscais.Items[0].GravarStream(aXML_ARQ);
   if aNFE.Notasfiscais.Items[0].NFe.Ide.nNF <> 0 then
    begin
     aQCAD.Close;
     aQCAD.SQL.CLEAR;
     aQCAD.SQL.ADD('UPDATE OR INSERT INTO FATNFSXML (ID_NFS,XMLNFE,DATA) VALUES (:ID_NFS,:XMLNFE,:DATA) MATCHING (ID_NFS)');
     aQCAD.ParamByName('ID_NFS').asinteger := aID_NFS;
     aQCAD.ParamByName('XMLNFE').LoadFromStream(aXML_ARQ,ftBlob);
     aQCAD.ParamByName('DATA').AsDateTime := now;
     aQCAD.EXECSQL;
    end;
  finally
   FreeAndNil(aXML_ARQ);
  end;
end;

 

Para recuperar faço somente o comando

   AcbrNfe.NotasFiscais.clear ;
   AcbrNfe.NotasFiscais.LoadFromString(qry1.fieldbyname('XMLNFE').Value);

Agora minha Duvida . é alguma coisa que estou fazendo de errado . ou tem algum problema no Acbr que não ta convertendo da forma correta o arquivo , pois esse problema so começou a dar de um mes pra ca após fazer uma atualização no acbr  .

Vou deixar tambem o arquivo xml copiado do banco pra dentro de um arquivo criado pelo NOTEPAD com extensao XML pra analise . se alguem puder me ajudar .

 

 

.

nf_51491_c_erro.xml

Postado

Pra resolver o problema consegui usando o seguinte funcao - UTF8Encode .  e agora parou de dar problema . So queria ver com vc´s se isso seria o correto ou nao ? lembrando que ainda estou no DELPHI7 ;

 

AcbrNfe.NotasFiscais.LoadFromString(UTF8Encode(qry1.fieldbyname('XMLNFE').Value));

Sem mais,

 

Adilson Pazzini

  • Este tópico foi criado há 3021 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.

The popup will be closed in 10 segundos...