Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Estamos utilizando a ACBR NSEX1 para enviar NFSe para Brasília (ISSNET). Ocorre que estamos recebendo constantemente o erro XMLNode não pode ser nulo. Há um porém. Se enviarmos debugando a aplicação, o erro não ocorre. Basta debugar, nem precisa utilizar o step-by-step do debug. O executável gerado está na mesma pasta de produção quando utilizamos o debug. Estamos com a seguinte configuração da LIB

image.png.7e6fbb2b1034e484dba5d3e72535ba30.png

Se abrimos a aplicação com os fontes e apenas rodamos via

Postado

Se abrimos a aplicação com os fontes e executamos via F5, flui sem erro. 

Utilizamos os mesmos trecho do exemplo fornecido pela ACBR e adequamos na parte de alimentação. 

 ACBrNFSeX1.Configuracoes.Geral.Provedor := proISSNet;
   Sleep(2000);

   ACBrNFSeX1.Emitir(iLote, meUnitario, true);
   Sleep(2000);
   dtmdlNFSe.ObterResposta( tmRecepcionar);
   Sleep(2000);

Colocamos uma pausa de 2 segundos apenas por precaução. Executando sem debugar não dá para saber em qual das duas linhas efetivamente o erro ocorre. Debugando, passa sem erro.

Na função ObterResposta temos: 


Function TdtmdlNFSe.ObterResposta( aMetodo: TMetodo) : TStringList;
var
  i: Integer;
  sLote : string;
  sNumero : string;

begin

  lstResposta.Clear;

  lstResposta.Add('Requisição');
  lstResposta.Add('Ambiente: '  + TpAmbToStr(ACBrNFSeX1.Configuracoes.WebServices.Ambiente));
  lstResposta.Add('Cidade: '    + ACBrNFSeX1.Configuracoes.Geral.xMunicipio +
                  ' UF: '       + ACBrNFSeX1.Configuracoes.Geral.xUF +
                  ' Provedor: ' + ACBrNFSeX1.Configuracoes.Geral.xProvedor +
                  ' Versão: '   + VersaoNFSeToStr(ACBrNFSeX1.Configuracoes.Geral.Versao));

  with ACBrNFSeX1.WebService do
  begin
    case aMetodo of
      tmRecepcionar,
      tmTeste:
        begin
          with Emite do
          begin
            sLote := Emite.Lote;
            lstResposta.Add('Método Executado:  ' + ModoEnvioToStr(Emite.ModoEnvio));
            lstResposta.Add('Número do Lote: '    + Emite.Lote +
                            ' Data de Envio: '    + DateToStr(Emite.Data) +
                            ' Protocolo: '        + Emite.Protocolo +
                            ' NroNota: '          + Emite.NumeroNota);
            lstResposta.Add('Link: '              + Emite.Link);
            lstResposta.Add('CodRetorno: '        + Emite.CodVerificacao +
                            ' Sucesso: '          + BoolToStr(Emite.Sucesso, True));


            if Erros.Count > 0 then
            begin
              lstResposta.Add(' ');
              lstResposta.Add('Erro:');
              for i := 0 to Erros.Count -1 do
              begin
                lstResposta.Add('Codigo: '    + Erros[i].Codigo +
                 ' > Mensagem: ' + Erros[i].Descricao +
                 ' > Correção: ' + Erros[i].Correcao );
              end;
            end;

            if Alertas.Count > 0 then
            begin
              lstResposta.Add('Alerta(s) Lote: ');
              for i := 0 to Alertas.Count -1 do
              begin
                lstResposta.Add('Codigo: ' + Alertas[i].Codigo +
                ' > Mensagem: ' + Alertas[i].Descricao +
                ' > Correção: ' + Alertas[i].Correcao);
              end;
            end;
          end;

          if ACBrNFSeX1.Configuracoes.Geral.ConsultaLoteAposEnvio and
             ((Emite.Protocolo <> '') or (Emite.Lote <> '')) then
          begin
            if ACBrNFSeX1.Provider.ConfigGeral.ConsultaSitLote then
            begin
              with ConsultaSituacao do
              begin
                lstResposta.Add('Situação do Lote: ');
                lstResposta.Add(' > Método Executado|' + MetodoToStr(tmConsultarSituacao ) +
                ' > Numero do Prot|' + Protocolo +
                ' > Numero do Lote|' + Lote +
                ' > Situação Lote|' + Situacao +
                ' > Sucesso| ' + BoolToStr(Sucesso, True));

                if Erros.Count > 0 then
                begin
                  lstResposta.Add('Erro(s) Lote:');
                  for i := 0 to Erros.Count -1 do
                  begin
                    lstResposta.Add('Código  : ' + Erros[i].Codigo +
                    ' > Mensagem: ' + Erros[i].Descricao +
                    ' > Correção: ' + Erros[i].Correcao);
                  end;
                end;

                if Alertas.Count > 0 then
                begin
                  lstResposta.Add(' ');
                  lstResposta.Add('Alerta(s) Lote:');
                  for i := 0 to Alertas.Count -1 do
                  begin
                    lstResposta.Add('Código  : ' + Alertas[i].Codigo +
                       ' > Mensagem: ' + Alertas[i].Descricao +
                       ' > Correção: ' + Alertas[i].Correcao);
                  end;
                end;
              end;
            end;

            if ACBrNFSeX1.Provider.ConfigGeral.ConsultaLote then
            begin
              with ConsultaLoteRps do
              begin
                lstResposta.Add(' ');
                lstResposta.Add('Consulta Lote');
                lstResposta.Add('Método Executado| ' + MetodoToStr(tmConsultarLote) +
                                ' > Numero do Prot| ' + Protocolo +
                                ' > Numero do Lote| ' + Lote  +
                                ' > Situação Lote | ' + Situacao +
                                ' > Sucesso| ' + BoolToStr(Sucesso, True));

                if Resumos.Count > 0 then
                begin
                  lstResposta.Add('Resumo(s):');
                  for i := 0 to Resumos.Count -1 do
                  begin
                    lstResposta.Add('Numero Nota| ' + Resumos[i].NumeroNota +
                                    ' > Código Verificação: ' + Resumos[i].CodigoVerificacao +
                                    ' > Numero Rps        : ' + Resumos[i].NumeroRps +
                                    ' > Série Rps         : ' + Resumos[i].SerieRps);
                  end;
                end;

                if Erros.Count > 0 then
                begin
                  lstResposta.Add('Erro(s):');
                  for i := 0 to Erros.Count -1 do
                  begin
                    lstResposta.Add('Código| ' + Erros[i].Codigo +
                                    ' > Mensagem| ' + Erros[i].Descricao +
                                    ' > Correção|: ' + Erros[i].Correcao );
                  end;
                end;

                if Alertas.Count > 0 then
                begin
                  lstResposta.Add('Alerta(s):');
                  for i := 0 to Alertas.Count -1 do
                  begin
                    lstResposta.Add('Código| ' + Alertas[i].Codigo +
                                    ' > Mensagem| ' + Alertas[i].Descricao +
                                    ' > Correção| ' + Alertas[i].Correcao);
                  end;
                end;
              end;
            end;
          end;
        end;

      tmRecepcionarSincrono,
      tmGerar:
        begin
          with Emite do
          begin

            lstResposta.Add('Método Executado|' + ModoEnvioToStr(Emite.ModoEnvio));
            lstResposta.Add('Numero do Lote|' + Emite.Lote);
            lstResposta.Add('Data de Envio |' + DateToStr(Emite.Data));
            lstResposta.Add('Protocolo|' + Emite.Protocolo);
            lstResposta.Add('NroNota|' + Emite.NumeroNota);
            lstResposta.Add('Link|' + Emite.Link);
            lstResposta.Add('CodRetorno|' + Emite.CodVerificacao);
            lstResposta.Add('Sucesso|' + BoolToStr(Emite.Sucesso, True));

            if Erros.Count > 0 then
                begin
                  lstResposta.Add('Erro(s)|');
                  for i := 0 to Erros.Count -1 do
                  begin
                    lstResposta.Add('Código| ' + Erros[i].Codigo +
                                    ' > Mensagem| ' + Erros[i].Descricao +
                                    ' > Correção|| ' + Erros[i].Correcao );
                  end;
                end;

                if Alertas.Count > 0 then
                begin
                  lstResposta.Add('Alerta(s)|');
                  for i := 0 to Alertas.Count -1 do
                  begin
                    lstResposta.Add('Código| ' + Alertas[i].Codigo +
                                    ' > Mensagem| ' + Alertas[i].Descricao +
                                    ' > Correção| ' + Alertas[i].Correcao);
                  end;
                end;
          end;
        end;

      tmConsultarSituacao:
        begin
          with ConsultaSituacao do
          begin
            lstResposta.Add('Método Executado| ' + MetodoToStr(tmConsultarSituacao));
            lstResposta.Add('Numero do Prot| ' + Protocolo);
            lstResposta.Add('Numero do Lote| ' + Lote);
            lstResposta.Add('Situação Lote| ' + Situacao);
            lstResposta.Add('Sucesso|| ' + BoolToStr(Sucesso, True));

            if Erros.Count > 0 then
                begin
                  lstResposta.Add('Erro(s)|');
                  for i := 0 to Erros.Count -1 do
                  begin
                    lstResposta.Add('Código| ' + Erros[i].Codigo +
                                    ' > Mensagem| ' + Erros[i].Descricao +
                                    ' > Correção|| ' + Erros[i].Correcao );
                  end;
                end;

                if Alertas.Count > 0 then
                begin
                  lstResposta.Add('Alerta(s)|');
                  for i := 0 to Alertas.Count -1 do
                  begin
                    lstResposta.Add('Código| ' + Alertas[i].Codigo +
                                    ' > Mensagem| ' + Alertas[i].Descricao +
                                    ' > Correção| ' + Alertas[i].Correcao);
                  end;
                end;
          end;
        end;

      tmConsultarLote:
        begin
          with ConsultaLoteRps do
          begin
            lstResposta.Add('Método Executado| ' + MetodoToStr(tmConsultarLote));
            lstResposta.Add('Numero do Prot| ' + Protocolo);
            lstResposta.Add('Numero do Lote| ' + Lote);
            lstResposta.Add('Situação Lote| ' + Situacao);
            lstResposta.Add('Sucesso|| ' + BoolToStr(Sucesso, True));

            if Erros.Count > 0 then
                begin
                  lstResposta.Add('Erro(s)|');
                  for i := 0 to Erros.Count -1 do
                  begin
                    lstResposta.Add('Código| ' + Erros[i].Codigo +
                                    ' > Mensagem| ' + Erros[i].Descricao +
                                    ' > Correção|| ' + Erros[i].Correcao );
                  end;
                end;

                if Alertas.Count > 0 then
                begin
                  lstResposta.Add('Alerta(s)|');
                  for i := 0 to Alertas.Count -1 do
                  begin
                    lstResposta.Add('Código| ' + Alertas[i].Codigo +
                                    ' > Mensagem| ' + Alertas[i].Descricao +
                                    ' > Correção| ' + Alertas[i].Correcao);
                  end;
                end;
          end;
        end;

      tmConsultarNFSePorRps:
        begin
          with ConsultaNFSeporRps do
          begin
            lstResposta.Add('Método Executado| ' + MetodoToStr(tmConsultarNFSePorRps));
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Envio');
            lstResposta.Add('Numero do Rps | ' + NumRPS);
            lstResposta.Add('Série do Rps  | ' + Serie);
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Retorno');
            lstResposta.Add('Numero do Lote| ' + Lote);
            lstResposta.Add('Numero do Prot| ' + Protocolo);
            lstResposta.Add('Situação      | ' + Situacao);
            lstResposta.Add('Data          | ' + DateToStr(Data));
            lstResposta.Add('Desc. Situação| ' + DescSituacao);
            lstResposta.Add('ID Nota       | ' + idNota);
            lstResposta.Add('Link          | ' + Link);
            lstResposta.Add('Sucesso       | ' + BoolToStr(Sucesso, True));
            lstResposta.Add('Método Executado| ' + MetodoToStr(tmConsultarSituacao));

            if Erros.Count > 0 then
                begin
                  lstResposta.Add('Erro(s)|');
                  for i := 0 to Erros.Count -1 do
                  begin
                    lstResposta.Add('Código| ' + Erros[i].Codigo +
                                    ' > Mensagem| ' + Erros[i].Descricao +
                                    ' > Correção|| ' + Erros[i].Correcao );
                  end;
                end;

                if Alertas.Count > 0 then
                begin
                  lstResposta.Add('Alerta(s)|');
                  for i := 0 to Alertas.Count -1 do
                  begin
                    lstResposta.Add('Código| ' + Alertas[i].Codigo +
                                    ' > Mensagem| ' + Alertas[i].Descricao +
                                    ' > Correção| ' + Alertas[i].Correcao);
                  end;
                end;
          end;
      end;

      tmConsultarNFSe,
      tmConsultarNFSePorFaixa,
      tmConsultarNFSeServicoPrestado,
      tmConsultarNFSeServicoTomado:
        begin
          with ConsultaNFSe do
          begin
            lstResposta.Add('Método Executado| ' + MetodoToStr(Metodo));
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Envio');
            lstResposta.Add('Num. Ini. NFSe| ' + InfConsultaNFSe.NumeroIniNFSe);
            lstResposta.Add('Num. Fin. NFSe| ' + InfConsultaNFSe.NumeroFinNFSe);
            lstResposta.Add('Data Inicial  | ' + DateToStr(InfConsultaNFSe.DataInicial));
            lstResposta.Add('Data Final    | ' + DateToStr(InfConsultaNFSe.DataFinal));
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Retorno');
            lstResposta.Add('Sucesso       | ' + BoolToStr(Sucesso, True));

            if Erros.Count > 0 then
                begin
                  lstResposta.Add('Erro(s)|');
                  for i := 0 to Erros.Count -1 do
                  begin
                    lstResposta.Add('Código| ' + Erros[i].Codigo +
                                    ' > Mensagem| ' + Erros[i].Descricao +
                                    ' > Correção|| ' + Erros[i].Correcao );
                  end;
                end;

                if Alertas.Count > 0 then
                begin
                  lstResposta.Add('Alerta(s)|');
                  for i := 0 to Alertas.Count -1 do
                  begin
                    lstResposta.Add('Código| ' + Alertas[i].Codigo +
                                    ' > Mensagem| ' + Alertas[i].Descricao +
                                    ' > Correção| ' + Alertas[i].Correcao);
                  end;
                end;
          end;
        end;

      tmCancelarNFSe:
        begin
          with CancelaNFSe do
          begin
            lstResposta.Add('Método Executado| ' + MetodoToStr(tmCancelarNFSe));
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Envio');
            lstResposta.Add('Numero da NFSe| ' + InfCancelamento.NumeroNFSe);
            lstResposta.Add('Série da NFSe | ' + InfCancelamento.SerieNFSe);
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Retorno');
            lstResposta.Add('Situação| ' + Situacao);
            lstResposta.Add('Link    | ' + Link);
            lstResposta.Add('Sucesso | ' + BoolToStr(Sucesso, True));
            lstResposta.Add(' ');
            lstResposta.Add('Retorno do Pedido de Cancelamento|');
            lstResposta.Add('Situação | ' + RetCancelamento.Situacao);
            lstResposta.Add('Data/Hora| ' + DateToStr(RetCancelamento.DataHora));
            lstResposta.Add('Mensagem | ' + RetCancelamento.MsgCanc);
            lstResposta.Add('Sucesso  | ' + RetCancelamento.Sucesso);
            lstResposta.Add('Link     | ' + RetCancelamento.Link);

          end;

          if ACBrNFSeX1.Configuracoes.Geral.ConsultaAposCancelar and
             ACBrNFSeX1.Provider.ConfigGeral.ConsultaNFSe then
          begin
            with ConsultaNFSe do
            begin
              lstResposta.Add(' ');
              lstResposta.Add(' ');
              lstResposta.Add('Método Executado| ' + MetodoToStr(Metodo));
              lstResposta.Add('Parâmetros de Envio');
              lstResposta.Add('Num. Ini. NFSe| ' + InfConsultaNFSe.NumeroIniNFSe);
              lstResposta.Add('Num. Fin. NFSe| ' + InfConsultaNFSe.NumeroFinNFSe);
              lstResposta.Add(' ');
              lstResposta.Add('Parâmetros de Retorno');
              lstResposta.Add('Sucesso       | ' + BoolToStr(Sucesso, True));

            end;
          end;
        end;

      tmSubstituirNFSe:
        begin
          with SubstituiNFSe do
          begin
            lstResposta.Add('Método Executado| ' + MetodoToStr(tmSubstituirNFSe));
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Envio');
            lstResposta.Add('Numero da NFSe| ' + InfCancelamento.NumeroNFSe);
            lstResposta.Add('Série da NFSe | ' + InfCancelamento.SerieNFSe);
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Retorno');
            lstResposta.Add('Situação| ' + Situacao);
            lstResposta.Add('Link    | ' + Link);
            lstResposta.Add('Sucesso | ' + BoolToStr(Sucesso, True));
            lstResposta.Add('Numero da NFSe Substituida  | ' + NumNotaSubstituida);
            lstResposta.Add('Numero da NFSe Substituidora| ' + NumNotaSubstituidora);
            lstResposta.Add(' ');
            lstResposta.Add('Retorno do Pedido de Cancelamento|');
            lstResposta.Add('Situação | ' + RetCancelamento.Situacao);
            lstResposta.Add('Data/Hora| ' + DateToStr(RetCancelamento.DataHora));
            lstResposta.Add('Mensagem | ' + RetCancelamento.MsgCanc);
            lstResposta.Add('Sucesso  | ' + RetCancelamento.Sucesso);
            lstResposta.Add('Link     | ' + RetCancelamento.Link);

          end;
        end;

      tmGerarLote:
        begin
          with Gerar do
          begin
            lstResposta.Add('Método Executado| ' + ModoEnvioToStr(ModoEnvio));
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Envio');
            lstResposta.Add('Numero do Lote| ' + Lote);
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Retorno');
            lstResposta.Add('Nome Arquivo | ' + NomeArq);
            if Erros.Count > 0 then
                begin
                  lstResposta.Add('Erro(s)|');
                  for i := 0 to Erros.Count -1 do
                  begin
                    lstResposta.Add('Código| ' + Erros[i].Codigo +
                                    ' > Mensagem| ' + Erros[i].Descricao +
                                    ' > Correção|| ' + Erros[i].Correcao );
                  end;
                end;

                if Alertas.Count > 0 then
                begin
                  lstResposta.Add('Alerta(s)|');
                  for i := 0 to Alertas.Count -1 do
                  begin
                    lstResposta.Add('Código| ' + Alertas[i].Codigo +
                                    ' > Mensagem| ' + Alertas[i].Descricao +
                                    ' > Correção| ' + Alertas[i].Correcao);
                  end;
                end;
            end;
        end;

      tmGerarToken:
        begin
          with GerarToken do
          begin
            lstResposta.Add(' ');
            lstResposta.Add(' ');
            lstResposta.Add('Método Executado| ' + MetodoToStr(tmGerarToken));
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Envio');
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Retorno');
            lstResposta.Add('Token         | ' + Token);
            lstResposta.Add('Data Expiracao| ' + DateTimeToStr(DataExpiracao));

            lstResposta.Add('Sucesso       | ' + BoolToStr(Sucesso, True));

            if Erros.Count > 0 then
            begin
              lstResposta.Add(' ');
              lstResposta.Add('Erro(s)|');
              for i := 0 to Erros.Count -1 do
              begin
                lstResposta.Add('Código  | ' + Erros[i].Codigo);
                lstResposta.Add('Mensagem| ' + Erros[i].Descricao);
                lstResposta.Add('Correção| ' + Erros[i].Correcao);
              end;
            end;

            if Alertas.Count > 0 then
            begin
              lstResposta.Add(' ');
              lstResposta.Add('Alerta(s)|');
              for i := 0 to Alertas.Count -1 do
              begin
                lstResposta.Add('Código  | ' + Alertas[i].Codigo);
                lstResposta.Add('Mensagem| ' + Alertas[i].Descricao);
                lstResposta.Add('Correção| ' + Alertas[i].Correcao);
              end;
            end;
          end;
        end;

      tmAbrirSessao:
        begin
        end;

      tmFecharSessao:
        begin
        end;

      tmEnviarEvento:
        begin
          with EnviarEvento do
          begin
            lstResposta.Add('Método Executado| ' + MetodoToStr(tmEnviarEvento));
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Envio');
            with InfEvento.pedRegEvento do
            begin
              lstResposta.Add('Chave NFSe | ' + chNFSe);
              lstResposta.Add('Evento     | ' + tpEventoToDesc(tpEvento));
            end;
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Retorno');
            lstResposta.Add('Chave NFSe      | ' + idNota);
            lstResposta.Add('Data            | ' + DateToStr(Data));
            lstResposta.Add('Tipo Evento     | ' + tpEventoToDesc(tpEvento));
            lstResposta.Add('Num. Seq. Evento| ' + IntToStr(nSeqEvento));
            lstResposta.Add('ID do Evento    | ' + idEvento);
            lstResposta.Add('Sucesso         | ' + BoolToStr(Sucesso, True));

            if Erros.Count > 0 then
            begin
              lstResposta.Add(' ');
              lstResposta.Add('Erro(s)|');
              for i := 0 to Erros.Count -1 do
              begin
                lstResposta.Add('Código  | ' + Erros[i].Codigo);
                lstResposta.Add('Mensagem| ' + Erros[i].Descricao);
                lstResposta.Add('Correção| ' + Erros[i].Correcao);
              end;
            end;

            if Alertas.Count > 0 then
            begin
              lstResposta.Add(' ');
              lstResposta.Add('Alerta(s)|');
              for i := 0 to Alertas.Count -1 do
              begin
                lstResposta.Add('Código  | ' + Alertas[i].Codigo);
                lstResposta.Add('Mensagem| ' + Alertas[i].Descricao);
                lstResposta.Add('Correção| ' + Alertas[i].Correcao);
              end;
            end;
          end;
        end;

      tmConsultarEvento:
        begin
          with ConsultarEvento do
          begin
            lstResposta.Add('Método Executado| ' + MetodoToStr(tmConsultarEvento));
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Envio');
            lstResposta.Add('Chave NFSe      | ' + ChaveNFSe);
            lstResposta.Add('Evento          | ' + tpEventoToDesc(tpEvento));
            lstResposta.Add('Num. Seq. Evento| ' + IntToStr(nSeqEvento));
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Retorno');
            lstResposta.Add('Chave NFSe      | ' + idNota);
            lstResposta.Add('Data            | ' + DateToStr(Data));
            lstResposta.Add('Tipo Evento     | ' + tpEventoToDesc(tpEvento));
            lstResposta.Add('Num. Seq. Evento| ' + IntToStr(nSeqEvento));
            lstResposta.Add('ID do Evento    | ' + idEvento);
            lstResposta.Add('Sucesso         | ' + BoolToStr(Sucesso, True));


            if Erros.Count > 0 then
            begin
              lstResposta.Add(' ');
              lstResposta.Add('Erro(s)|');
              for i := 0 to Erros.Count -1 do
              begin
                lstResposta.Add('Código  | ' + Erros[i].Codigo);
                lstResposta.Add('Mensagem| ' + Erros[i].Descricao);
                lstResposta.Add('Correção| ' + Erros[i].Correcao);
              end;
            end;

            if Alertas.Count > 0 then
            begin
              lstResposta.Add(' ');
              lstResposta.Add('Alerta(s)|');
              for i :=  0 to Alertas.Count -1 do
              begin
                lstResposta.Add('Código  | ' + Alertas[i].Codigo);
                lstResposta.Add('Mensagem| ' + Alertas[i].Descricao);
                lstResposta.Add('Correção| ' + Alertas[i].Correcao);
              end;
            end;
          end;
        end;

      tmConsultarDFe:
        begin
          with ConsultarDFe do
          begin
            lstResposta.Add('Método Executado| ' + MetodoToStr(tmConsultarDFe));
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Envio');
            lstResposta.Add('Chave NFSe     | ' + ChaveNFSe);
            lstResposta.Add('Num. Seq. Unico| ' + IntToStr(NSU));
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Retorno');
            lstResposta.Add('Data   | ' + DateToStr(Data));
            lstResposta.Add('Sucesso| ' + BoolToStr(Sucesso, True));

            if Resumos.Count > 0 then
            begin
              lstResposta.Add(' ');
              lstResposta.Add('Resumo(s)|');
              for i := 0 to Resumos.Count -1 do
              begin
                lstResposta.Add('NSU      | ' + IntToStr(Resumos[i].NSU));
                lstResposta.Add('Chave DFe| ' + Resumos[i].ChaveDFe);
                lstResposta.Add('Tipo Doc.| ' + Resumos[i].TipoDoc);
              end;
            end;


            if Erros.Count > 0 then
            begin
              lstResposta.Add(' ');
              lstResposta.Add('Erro(s)|');
              for i := 0 to Erros.Count -1 do
              begin
                lstResposta.Add('Código  | ' + Erros[i].Codigo);
                lstResposta.Add('Mensagem| ' + Erros[i].Descricao);
                lstResposta.Add('Correção| ' + Erros[i].Correcao);
              end;
            end;

            if Alertas.Count > 0 then
            begin
              lstResposta.Add(' ');
              lstResposta.Add('Alerta(s)|');
              for i := 0 to Alertas.Count -1 do
              begin
                lstResposta.Add('Código  | ' + Alertas[i].Codigo);
                lstResposta.Add('Mensagem| ' + Alertas[i].Descricao);
                lstResposta.Add('Correção| ' + Alertas[i].Correcao);
              end;
            end;
          end;
        end;

      tmConsultarParam:
        begin
          with ConsultarParam do
          begin
            lstResposta.Add('Método Executado| ' + MetodoToStr(tmConsultarParam));
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Envio');
            lstResposta.Add('Tipo Parâmetro  | ' + ParamMunicToStr(tpParamMunic));
            lstResposta.Add('Código Municipío| ' + IntToStr(CodigoMunic));
            lstResposta.Add('Código Serviço  | ' + CodigoServico);
            lstResposta.Add('Competencia     | ' + DateToStr(Competencia));
            lstResposta.Add('Numero Beneficio| ' + NumeroBeneficio);
            lstResposta.Add(' ');
            lstResposta.Add('Parâmetros de Retorno');
            lstResposta.Add('Data      | ' + DateTimeToStr(Data));
            lstResposta.Add('Sucesso   | ' + BoolToStr(Sucesso, True));

            if Parametros.Count > 0 then
            begin
              lstResposta.Add(' ');
              lstResposta.Add('Parâmetros(s)|');
              for i := 0 to Parametros.Count -1 do
              begin
                lstResposta.Add(Parametros[i]);
              end;
            end;

            if Resumos.Count > 0 then
            begin
              lstResposta.Add(' ');
              lstResposta.Add('Resumo(s)|');
              for i := 0 to Resumos.Count -1 do
              begin
                lstResposta.Add('NSU      | ' + IntToStr(Resumos[i].NSU));
                lstResposta.Add('Chave DFe| ' + Resumos[i].ChaveDFe);
                lstResposta.Add('Tipo Doc.| ' + Resumos[i].TipoDoc);
              end;
            end;


            if Erros.Count > 0 then
            begin
              lstResposta.Add(' ');
              lstResposta.Add('Erro(s)|');
              for i := 0 to Erros.Count -1 do
              begin
                lstResposta.Add('Código  | ' + Erros[i].Codigo);
                lstResposta.Add('Mensagem| ' + Erros[i].Descricao);
                lstResposta.Add('Correção| ' + Erros[i].Correcao);

              end;
            end;

            if Alertas.Count > 0 then
            begin
              lstResposta.Add(' ');
              lstResposta.Add('Alerta(s)|');
              for i := 0 to Alertas.Count -1 do
              begin
                lstResposta.Add('Código  | ' + Alertas[i].Codigo);
                lstResposta.Add('Mensagem| ' + Alertas[i].Descricao);
                lstResposta.Add('Correção| ' + Alertas[i].Correcao);

              end;
            end;
          end;
        end;
    end;
  end;

  for i := 0 to ACBrNFSeX1.NotasFiscais.Count -1 do
  begin
    lstResposta.Add(' ');
    lstResposta.Add('NFS-e Numero....: ' + ACBrNFSeX1.NotasFiscais.Items[i].NFSe.Numero);
    lstResposta.Add('Cod. Verificacao: ' + ACBrNFSeX1.NotasFiscais.Items[i].NFSe.CodigoVerificacao);
    lstResposta.Add('Prestador.......: ' + ACBrNFSeX1.NotasFiscais.Items[i].NFSe.Prestador.RazaoSocial);
    lstResposta.Add('Tomador.........: ' + ACBrNFSeX1.NotasFiscais.Items[i].NFSe.Tomador.RazaoSocial);

    if ACBrNFSeX1.NotasFiscais.Items[i].NFSe.SituacaoNfse = ACBrNFSeXConversao.snCancelado then
      lstResposta.Add('A Nota encontra-se Cancelada.');

    if ACBrNFSeX1.NotasFiscais.Items[i].NomeArq <> '' then
    begin
      lstResposta.Add('Nome do arquivo.: ' + ACBrNFSeX1.Configuracoes.Arquivos.GetPathNFSe() + '\' +
                                               ACBrNFSeX1.NotasFiscais.Items[i].NomeArq);
      if ACBrNFSeX1.Configuracoes.Arquivos.Salvar then
        lstResposta.Add('==> Xml da nota salvo na pasta e com o nome informado acima.')
      else
        lstResposta.Add('==> Xml da nota não salvo em disco.');

         sNumero := ACBrNFSeX1.NotasFiscais.Items[i].NFSe.Numero;

         if sNumero <> '' then
         begin

            mtbNFSe.Locate( 'numero', sNumero, []);
            mtbNFSE.Edit;
            mtbNFSeNumero.AsString := ACBrNFSeX1.NotasFiscais.Items[i].NFSe.Numero;
            mtbNFSeprotocolo.Value := ACBrNFSeX1.NotasFiscais.Items[i].NFSe.CodigoVerificacao;
            mtbNFSenomeXML.Value   := ACBrNFSeX1.NotasFiscais.Items[i].NomeArq;
            mtbNFSelote.AsString   := sLote;

            mtbNFSe.Post;

            GravaNroLoteOperacao( mtbNFSebordero.AsInteger, strToInt( sLote ),
                       mtbNFSEnumero.value,
                      '', mtbNFSeprotocolo.Value, mtbNFSenomeXML.Value );

            pEnviarEMail( i,  mtbNFSenomeXML.Value);
         end;


    end;
  end;
  result := lstResposta;

  • 2 semanas depois ...
  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 647 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.