Ir para conteúdo
  • Cadastre-se

Dulio

Membros
  • Total de ítens

    1
  • Registro em

  • Última visita

Tudo que Dulio postou

  1. Olá equipe SAC ACBR. Tudo bem com vocês? Preciso de ajuda com a emissão de NFS-e usando o provedor WebISS em Palmas – TO. Nós usamos um RPS por Lote. Nosso código de emissão de NFS-e funciona desde a fase de homologação do servidor. No entanto, de uns tempos para cá, aleatoriamente ocorre o seguinte erro ao Emitir NFS-e. (figura 1: Erro ao Emitir NFS-e) Um de nossos clientes relatou que em quase toda 1ª emissão de NFS-e do dia o erro ocorre. Após o erro, o protocolo do RPS não é gravado no BD, mesmo que o Lote\RPS tenha sido recebido pelo servidor WebISS. Neste momento, naturalmente, o registro da NFS-e permanece com o status 1 – NÃO ENVIADO no banco de dados. Analisando o Log implementado em meu executável, constatou-se que sempre que o referido erro ocorre, o Protocolo não é retornado\armazenado nos atributos: · dmNFSe.ACBrNFSe.NotasFiscais.Items[0].NFSe.Protocolo; · dmNFSe.ACBrNFSe.WebServices.ConsSitLoteRPS.Protocolo; Ou seja: os atributos que armazenam o Protocolo do RPS ficam em branco. Ao executar a mesma instrução de Envio novamente, aparece o erro “RPS JÁ INFORMADO”, pois estou tentando Emitir uma NFS-e com um RPS já associado a um protocolo anterior. (figura 2: Rps já informado) Nesses casos, minha equipe de suporte está sendo acionada e nós temos que procurar manualmente no site do webISS o número do protocolo associado ao RPS, para só então executar a função de Processar e atualizar o RPS. (figura 3: Consulta Protocolo por RPS no site WebISS) Durante os testes, foi identificado que a exceção “1 – O tempo limite da operação foi atingido” ocorre na linha 870 ao chamar a instrução dmNFSe.ACBrNFSe.Enviar( Lote ); (figura 4: método de envio de RPS da NFS-e) O código seguinte, de concluirNfse(), simplesmente salva o protocolo e situação retornados pelo objeto acbrNfse e os grava no BD. Segue o código para fins de avaliação: (figura 5: método concluirNFSe() ) Nós tentamos fazer algumas alterações para esse tipo de situação de contingência, mas não obtivemos sucesso. Nossa última tentativa foi disparar na exceção do método EnviarNFSe (figura 4) a instrução para recuperar o número do protocolo e o armazenar no BD em seguida. Tentamos utilizar a instrução dmNFSe.ACBrNFSe.ConsultarNFSeporRPS(...) para de alguma forma recuperar o Protocolo, mas não obtivemos êxito. (figura 6: método enviarNFSe() com contingência para recuperar o protocolo) Sempre que se forçava o delphi em debug a executar a exceção, nos era retornada a seguinte mensagem: (figura 7: erro ConsultarNFSePorRps) Temos algumas perguntas a fazer e gostaríamos que os senhores nos orientassem na melhor abordagem: 1_Há alguma forma de reproduzir a exceção “tempo limite a operação foi atingido” em modo de debug? Em quais situações ela costuma ocorrer? 2_Qual a instrução correta para gravar no BD o número do protocolo após o evento Enviar(Lote) ? · dmNFSe.ACBrNFSe.NotasFiscais.Items[0].NFSe.Protocolo; · dmNFSe.ACBrNFSe.WebServices.ConsSitLoteRPS.Protocolo; 3_Se no momento de disparar o método Enviar(Lote), ocorrer a exceção de “tempo limite da operação foi atingido”, como posso recuperar o número do protocolo na exceção logo em seguida? Qual seria a instrução para substituir a dmNFSe.ACBrNFSe.ConsultarNFSeporRPS(...) ? 4_Em um outro caso de contingência, onde a internet do emitente tenha caído, não seja possível recuperar o Protocolo de imediato e a NFS-e fique com o status 1 – Não processado no BD, como devo proceder para que o executável identifique que já houve uma tentativa de emissão desse RPS, acesse o servidor webISS, recupere o protocolo e Consulte a situação do lote ao mesmo tempo?! K Atenciosamente, Equipe Inorte Sistemas.
×
×
  • 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...