Ir para conteúdo
  • Cadastre-se

dev botao

Erro de Access Violation ao executar ConsultarLoteRps


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

Recommended Posts

Quando tento executar o método ConsultarLoteRps quando a nota ainda não está processada, o componente gera um Access Violation. Porém, quando a nota está processada, este erro não acontece. Não consigo debugar o problema pois meu cliente utiliza certificado A3. Alguém sabe como corrigir isso?

Segue os dados da cidade:

[1721000]
Nome=Palmas
UF=TO
Provedor=WebISS
NomeURL_H=palmasto
NomeURL_P=palmasto

Erro na função: function ConsultarLoteRps(ANumLote, AProtocolo: string): Boolean;

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Fernando,

O provedor WebISS segue a versão 1 do layout da ABRASF.

Sendo assim após o envio devemos executar o método ConsultarSituacao e não ConsultarLoteRPS.

O método ConsultarSituacao vai nos informar a situação do lote enviado que pode ser:

1 - Lote não recebido, isso significa que passamos o numero do lote errado.

2 - Lote  em processamento, isso significa que devemos aguardar mais alguns segundos e tentar novamente, ou seja fazer uma nova consulta.

3 - Lote processado com falha, isso significa que o lote foi processado mas existem informações erradas, logo o RPS não foi aceito.

4 - Lote processado com sucesso, isso significa que o lote foi processado e o RPS foi convertido em NFS-e.

Sendo assim só devemos executar o método ConsultarLoteRps se a situação for 3 ou 4, pois se for 3 teremos como resposta a lista de erros, que deveremos corrigir e enviar o RPS novamente, por outro lado se foi 4 teremos como resposta o XML da NFS-e, XML este que será salvo separadamente em disco e é este XML que devemos carregar para poder imprimir o DANFSE.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia,

Isso depende, pois um provedor que segue a versão 1 do layout da ABRASF, essa informação temos através do retorno da Consulta a Situação do Lote, já os provedores que seguem a versão 2 do layout, essa informação é retornada na Consulta ao Lote que acaba alimentando o campo Situação conforme o seu exemplo.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Em 20/05/2018 at 09:29, systronic disse:

Pronto já entendi segue a resposta caso alguém também fique na duvida..obrigado;

  if NFSe.NotasFiscais.Items[0].NFSe.Situacao = '4' then

Eu ajustei dessa maneira:

     ACBrNFSe1.ConsultarSituacao(protocolo, Lote);
     {
     // 1 = Não Recebido
     // 2 = Não Processado
     // 3 = Processado com Erro
     // 4 = Processado com Sucesso
     }
     if (ACBrNFSe1.WebServices.ConsSitLoteRPS.RetSitLote.InfSit.Situacao = '3') or
        (ACBrNFSe1.WebServices.ConsSitLoteRPS.RetSitLote.InfSit.Situacao = '4') then
     begin
       ACBrNFSe1.ConsultarLoteRps(Lote, protocolo);
     end;

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia a todos,

Fernando, isso funciona porque o provedor em questão se utiliza da versão 1 do layout da ABRASF.

Se amanhã mudar o provedor e este usa a versão 2, o método ConsultarSituação vai falhar, pois como dito os provedores que seguem a versão 2 do layout da ABRASF não implementaram o método Consultar a Situação do Lote.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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