Ir para conteúdo
  • Cadastre-se

dev botao

Sequencia para envio NFS-e ( Ginfes ) padrao Abrasf v1


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

Recommended Posts

Bom dia 
se poderem ajudar no entendimento do melhor forma de envio

1-Alimenta o componente
2-faz envio: ACBrNFSe1.Enviar(Lote, false);
3-Consultar Situação:  ACBrNFSe1.ConsultarSituacao(Protocolo,Lote);  aqui tenho o retorno da situacao 1,2,3 e 4

Minha pergunta seria aqui qual o procedimento tomar para cada tipo de situacao acima:

Obrigado

Link para o comentário
Compartilhar em outros sites

Bom dia,

No meu caso quando esta configurado para consultar após envio, eu leio as notas de retorno e trato assim :

          for i := 0 to ACBrNFSe1.NotasFiscais.Count -1 do
          begin

              if ACBrNFSe1.NotasFiscais.Items[i].Confirmada then
 

Nesse caso gerou a NFSe, atualizo os dados no banco de dados.

 

Quando consulto o Lote

    try
      if ACBrNFSe1.ConsultarSituacao(qryNFSeNFSE_PROTOCOLO.AsString, IntToStr(qryNFSeNFE_NUMERO_DO_LOTE.AsInteger)) then
      begin
        if ACBrNFSe1.WebServices.ConsSitLoteRPS.RetSitLote.InfSit.Situacao = '3' then
        begin

 

se for 3==> Processada com Erro

Se for 4 ==> Nota processada com sucesso, ai atualizo o banco de dados.

 

Basicamente são os tratamentos que faço, também tenho a opção de consultar o RPS, aonde faço o tratamento.

 

Dercide Alvarez

Editado por Dercide Alvarez
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

2 horas atrás, Dercide Alvarez disse:

Bom dia,

No meu caso quando esta configurado para consultar após envio, eu leio as notas de retorno e trato assim :

          for i := 0 to ACBrNFSe1.NotasFiscais.Count -1 do
          begin

              if ACBrNFSe1.NotasFiscais.Items[i].Confirmada then
 

Nesse caso gerou a NFSe, atualizo os dados no banco de dados.

 

Quando consulto o Lote

    try
      if ACBrNFSe1.ConsultarSituacao(qryNFSeNFSE_PROTOCOLO.AsString, IntToStr(qryNFSeNFE_NUMERO_DO_LOTE.AsInteger)) then
      begin
        if ACBrNFSe1.WebServices.ConsSitLoteRPS.RetSitLote.InfSit.Situacao = '3' then
        begin

 

se for 3==> Processada com Erro

Se for 4 ==> Nota processada com sucesso, ai atualizo o banco de dados.

 

Basicamente são os tratamentos que faço, também tenho a opção de consultar o RPS, aonde faço o tratamento.

 

Dercide Alvarez

Obrigado, por responder 

nessa parte quando esta com Situacao = 3 como vc posso recuperar o motivo do erro para mostrar para o usuario

      begin
        if ACBrNFSe1.WebServices.ConsSitLoteRPS.RetSitLote.InfSit.Situacao = '3' then
        begin
             AQUI COMO POSSO PEGAR MOTIVO DO ERRO 
       end;

Link para o comentário
Compartilhar em outros sites

1 hora atrás, walter faria disse:

Obrigado, por responder 

nessa parte quando esta com Situacao = 3 como vc posso recuperar o motivo do erro para mostrar para o usuario

      begin
        if ACBrNFSe1.WebServices.ConsSitLoteRPS.RetSitLote.InfSit.Situacao = '3' then
        begin
             AQUI COMO POSSO PEGAR MOTIVO DO ERRO 
       end;

Quando a mensagem de erro é mostrada na tela,  geralmente já aparece o motivo do erro.

Erro-NFSe.png

Link para o comentário
Compartilhar em outros sites

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