Ir para conteúdo
  • Cadastre-se

dev botao

Mensagens de erro nao capturados pelo componente ACBrNFSeX


Solivan
Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 296 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

bom dia, 

estou tendo alguns problemas ao enviar NFS-e de serviço no modo Assincrono. Pois o componente não está capturando as mensagens geradas no arquivo de retorno do metodo "Enviar".

apesar do arquivo com as mensagens de erros estarem sendo geradas o componente na propriedade Emite.Erros.Count retorna "0", o componente deve estar substituindo as mensagens de erro através do metodo de consulta, então não tem como eu exibir para o usuário fazer as correções, pois essa propriedade é chave para que eu possa continuar para o proximo passo da emissão que é a consulta do RPS.

vou anexar os arquivos aqui, para análise. Provedor ISSIntel, cidade Xinguara, Pará! o erro acontece nos dois ambientes.

os erros estão no arquivo 7da411db6e31990c3785-lista-nfse-con-lot.xml, mas não estão sendo capturados pelo componentes!

 

000000002-env-lot.xml 000000002-env-lot-soap.xml 000000002-rec.xml 000000002-rec-soap.xml 7da411db6e31990c3785-con-lot.xml 7da411db6e31990c3785-con-lot-soap.xml 7da411db6e31990c3785-con-sit.xml 7da411db6e31990c3785-con-sit-soap.xml 7da411db6e31990c3785-lista-nfse-con-lot.xml 7da411db6e31990c3785-lista-nfse-con-lot-soap.xml 7da411db6e31990c3785-sit.xml 7da411db6e31990c3785-sit-soap.xml 801-comp-nfse.xml 801-comp-nfse-soap.xml 801-con-nfse-rps.xml 801-con-nfse-rps-soap.xml

Sistema de Automação Comercial para diversos segmentos
NF-e, NFC-e, SPED Fiscal - www.arenasoft.com.br

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Solivan,

Por favor substitua a unit por esta em anexo.

Reinstale o ACBr e faça novos testes.

ACBrNFSeXProviderABRASFv1.pas

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

boa tarde Italo, e obrigado pela ajuda!

Fiz a substituição do arquivo do anexo acima e recebi uma mensagem erro. Diz que o tipo TNFSeConsultarSeqRpsResponse não foi declarado, fiz uma busca nas units do ACBr e não encontrei esse tipo em nenhum arquivo pas

procedure PrepararConsultarSeqRps(Response: TNFSeConsultarSeqRpsResponse); override;

Sistema de Automação Comercial para diversos segmentos
NF-e, NFC-e, SPED Fiscal - www.arenasoft.com.br

Link para o comentário
Compartilhar em outros sites

bom dia Italo,

Fiz os teste aqui e continua passando para a consulta sem exibir os erros, só dar certo se a NFS-e estiver preenchida corretamente, caso tenha um campo em desacordo os erros do metodo "Emitir" não são exibidos! mesmo que o arquivo xml com os erros do WS estejam na pasta, não estão sendo capturados pelo componente.

 

Sistema de Automação Comercial para diversos segmentos
NF-e, NFC-e, SPED Fiscal - www.arenasoft.com.br

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Solivan,

Eu não tenho como testar pois o webservice acusa que o certificado que estou usando não esta autorizado, logo me retorna um erro de conexão: S04.

Por favor abra a unit ACBrNFSeXProviderABRASFv1 e coloque um ponto de parada no inicio da procedure: TratarRetornoConsultaLoteRps

      Document.LoadFromXml(Response.ArquivoRetorno);

      ProcessarMensagemErros(Document.Root, Response);

      Response.Sucesso := (Response.Erros.Count = 0);

Nesse fragmento de código da procedure, a primeira linha faz a leitura do XML de retorno;

A segunda linha faz a leitura da lista de erros.

Por fim a terceira recebe o valor True se a lista de erros estiver vazia.

Se no XML retornado contem a lista de erros e mesmo assim o valor de Sucesso é True, vai ser necessário colocar um ponto de parada na procedure: ProcessarMensagemErros para descobrir o porque ele não esta lendo a lista.

Faça os testes usando o programa 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

Ok Italo, obrigado pelo retorno, vou fazer os testes aqui, estou utilizando o ambiente de homologação! qualquer coisa posso lhe passar o certificado digital pra você testar melhor!

Sistema de Automação Comercial para diversos segmentos
NF-e, NFC-e, SPED Fiscal - www.arenasoft.com.br

Link para o comentário
Compartilhar em outros sites

boa tarde Italo

Fiz os testes aqui e percebi que o componentes não alimenta o metodo ACBrNFSeX1.WebService.Emite, por isso não estava conseguindo recuperar as mensagens, fiz o teste em 

ACBrNFSeX1.WebService.ConsultaSituacao e os erros estão todos lá ... não sei se é o correto para a emissão Assincrona, mas vou utilizar por enquanto dessa forma! se você tiver alguma sugestão?

    case LFormaEnvio of
      0: ACBrNFSeX1.Emitir(IntToStr(fsLote), meLoteSincrono, False);
      1: ACBrNFSeX1.Emitir(IntToStr(fsLote), meLoteAssincrono, False);
    end;

    ChecarResposta(tmRecepcionar);

    ShowMessage('Total de erros: ' +Inttostr(ACBrNFSeX1.WebService.ConsultaSituacao.Erros.Count));
    ShowMessage('Total de alertas: ' +Inttostr(ACBrNFSeX1.WebService.ConsultaSituacao.Erros.Count));
 

 

 

pra ser exato os erros são retornados no metodo abaixo:

ACBrNFSeX1.WebService.ConsultaLoteRps.

 

Sistema de Automação Comercial para diversos segmentos
NF-e, NFC-e, SPED Fiscal - www.arenasoft.com.br

Link para o comentário
Compartilhar em outros sites

  • Consultores

Solivan,

Você colocou os pontos de parada onde eu lhe pedi?

Fez um teste usando o programa exemplo?

Pra que isso?

case LFormaEnvio of
      0: ACBrNFSeX1.Emitir(IntToStr(fsLote), meLoteSincrono, False);
      1: ACBrNFSeX1.Emitir(IntToStr(fsLote), meLoteAssincrono, False);
end;

Sendo que você pode fazer assim:

ACBrNFSeX1.Emitir(IntToStr(fsLote), meAutomatico, False);

 

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

6 minutos atrás, Italo Giurizzato Junior disse:

Solivan,

Você colocou os pontos de parada onde eu lhe pedi?

Fez um teste usando o programa exemplo?

Pra que isso?

Sim fiz os pontos de parada, e está retornando os erro corretamente, porem não retorna no metodo "emitir" apenas em "ConsultarLotePorRPS", por isso eu não conseguida resolver o problema.

mas agora está tudo certo, obrigado!

Sistema de Automação Comercial para diversos segmentos
NF-e, NFC-e, SPED Fiscal - www.arenasoft.com.br

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Bom dia Solivan,

No retorno do Emitir não tem nenhuma lista de erros, é por isso que a lista de erros do Emitir esta vazia.

Veja o XML de retorno do Emitir:

<EnviarLoteRpsResposta>
	<NumeroLote>2</NumeroLote>
	<DataRecebimento>2023-07-05</DataRecebimento>
	<Protocolo>7da411db6e31990c3785</Protocolo>
	<ListaMensagemRetorno/>
</EnviarLoteRpsResposta>

Note que é retornado o numero do protocolo que atesta que o lote foi recebido com sucesso e se encontra na fila de processamento.

O grupo ListaMensagemRetorno que poderia conter algum erro esta vazio.

Ao consultar a situação do Lote temos o seguinte retorno:

<ConsultarSituacaoLoteRpsResposta>
	<NumeroLote>2</NumeroLote>
	<Situacao>2</Situacao>
	<ListaMensagemRetorno/>
</ConsultarSituacaoLoteRpsResposta>

Note que o código da situação é 2 indicando que o lote ainda esta na fila de processamento.

Você esta executando cada método separadamente ou configurou o componente para executar o ConsultarSituacao e o ConsultarLote automaticamente?

Como no retorno do ConsultarLote temos a lista de erros, no retorno do ConsultarSituacao o valor da tag Situacao tem que ser 3.

Mas pelos arquivos que você anexou esta tudo funcionando como previsto.

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á 296 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.