Ir para conteúdo
  • Cadastre-se

dev botao

Gerar XML da Carta de Correção


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

Recommended Posts

Tente assim:


 

          try
            try
              nCorr:=TabellaNFeXml.FieldByName('Numero_correzioni').AsInteger;
            except
              nCorr:=0;
            end;

            inc(nCorr);

            ACBrNFe1.EventoNFe.Evento.Clear;
            if TabellaDocumentoScontrinoFiscale2.asInteger=55 then
              ACBrNFe1.Configuracoes.Geral.ModeloDF := moNFe
            else
            if TabellaDocumentoScontrinoFiscale2.asInteger=65 then
              ACBrNFe1.Configuracoes.Geral.ModeloDF := moNFCe
            else
              ACBrNFe1.Configuracoes.Geral.ModeloDF := moNFe;
            with ACBrNFe1.EventoNFe.Evento.Add do
              begin
                OldTimeSeparator:=FormatSettings.TimeSeparator;
                TimeSeparator:=':';
                infEvento.chNFe := TabellaNFeXMLChave_Acesso.asString;
                if TabellaDocumentoCodFIvaNe.asString<>'' then
                  infEvento.CNPJ     := TabellaDocumentoCodFIvaNe.asString
                else
                  infEvento.CNPJ     := TabellaDocumentoCodFIvaAz.asString;
                infEvento.dhEvento := now;
                infEvento.tpEvento := teCCe;
                infEvento.nSeqEvento := nCorr;
                infEvento.detEvento.xCorrecao := Justificativa;
              end;
            Numero_lote:=ModuloDatabaseAll.IniProgressivi.IncLongint('NFE','Lote');
            ACBrNFe1.EnviarEvento(numero_lote);
            id:=ACBrNFe1.EventoNFe.Evento[0].InfEvento.id;
            delete(id,1,2);
          finally
            FormatSettings.TimeSeparator:=OldTimeSeparator;
          end;


          if ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat=135 then
            begin
              TabellaNfeXml.Edit;
              TabellaNfeXml.FieldByNAme('Numero_correzioni').asInteger:=nCorr;
              TabellaNfeXml.FieldByNAme('id_evento').asString:=id;
              TabellaNfeXml.Post;
              salva_xml(path_tmp+id+'-procEventoNFe.xml',5);
              sMessageDlg('Evento: '+ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo+#13#10+
                                     ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.xEvento,mtInformation,[mbok],0);
              ACBrNFeDANFEFR1.MostrarPreview:=true;
              nomefile:=path_tmp+id+'-procEventoNFe.xml';
              ACBrNFe1.EventoNFe.Evento.Clear;
              ACBrNFe1.EventoNFe.LerXML(nomefile);
              ACBrNFeDanfeFR1.FastFileEvento:=path_stampe+'Documenti\EVENTOS.fr3';
              ACBrNFe1.ImprimirEvento;
            end
          else
            sMessageDlg('Evento: '+ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo+#13#10+
                                   ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.xEvento,mtInformation,[mbok],0);

 

Link para o comentário
Compartilhar em outros sites

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