Ir para conteúdo
  • Cadastre-se

dev botao

Erro intermitente - NFS-e Curitiba


Ver Solução Respondido por Daniel Braz de Oliveira,
  • Este tópico foi criado há 1301 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Prezados, estou numa enracada.
Atualizei os componentes com data de segunda feira, portanto atualizados.
Quando gero uma transmissão para Pref Curitiba, tenho tido retornos diferentes.
Ora homologa, ora não homologa. Outras vezes dá erro de acesso do SSL e assim por diante. Fiz um debug, quase todas as vezes, gera a nota na prefeitura, o erro é no retorno.
Percebi que neste bloco, a aprtir da linha 5954 do AcbrNfseWebServices.pas é acontece algo estranho:
Eu marquei para ConsultarLoteAposEnvio, se não marcar, só devolve o protocolo e nada mais. Marquei em laranja abaixo, o que achei estranho à principio.

E assim vai, mando uma nota, homologa, mando outra, não.. meu cliente já está maluco e eu tb.
Configurei para usar
SSLLib=libWinCrypt
CryptLib=cryWinCrypt
HttpLib=httpWinHttp
XmlSignLib=xsLibXml2

Esta é a unica configuração que consigo fazer o envio. OpenSSL, recebo mensagem de erro ao carregar OpenSSL.

Na configuração da internet, segui os conselhos aqui do forum e do manual da pref de Curitiba.
Como disse, em 99% das vezes que dá erro, gera a nota na prefeitura, mas não devolve os dados.... gerando a exeção...

Agradeço já, as orientações...


 

  with TACBrNFSe(FACBrNFSe) do
  begin
    if (Configuracoes.Geral.ConsultaLoteAposEnvio) and (Result) then
    begin
      //==========================================================================
      // Provedores que seguem a versão 1.0 do layout da ABRASF devem primeiro
        // Consultar a Situação do Lote
      if ProvedorToVersaoNFSe(Configuracoes.Geral.Provedor) = ve100 then   ####### ele entra aqui!!!
      begin
        // Provedores cuja versão é 1.0 mas não possuem o método Consulta
        // a Situação do Lote devem ser relacionados no case abaixo.
        case Configuracoes.Geral.Provedor of
          proGoverna,
          proIPM,
          proIssDSF,
          proSmarapd,
          proSiat: Result := True
        else
          Result := FConsSitLoteRPS.Executar;
        end;

        if not (Result) then
          FConsSitLoteRPS.GerarException( FConsSitLoteRPS.Msg );
      end;

      // Provedores que não possuem o método Consultar o Lote devem ser
      // relacionados no case abaixo.
      case Configuracoes.Geral.Provedor of
        proGoverna,
        proIPM,
        proInfisc,
        proInfiscv11: Result := True
      else
        begin
          Sleep(Configuracoes.WebServices.AguardarConsultaRet);

          Result := FConsLote.Executar;

          // O código abaixo tem por objetivo repetir a consulta ao lote
          // quando no retorno constar que o lote ainda se encontra em processamento
          // não sabemos se vai funcionar como o esperado.
          //****************************************************************
          if ProvedorToVersaoNFSe(Configuracoes.Geral.Provedor) = ve200 then      #### e também aqui!!!
          begin
            try
              Tentativas := 0;
              IntervaloTentativas := max(Configuracoes.WebServices.IntervaloTentativas, 1000);

              while (FConsLote.FLoteNaoProc) and
                      (Tentativas < Configuracoes.WebServices.Tentativas) do
              begin
                Inc(Tentativas);
                sleep(IntervaloTentativas);

                Result := FConsLote.Executar;
              end;
            finally
              SetStatus(stNFSeIdle);
            end;
          end;
          //****************************************************************
        end;
      end;

      if not (Result) then
        FConsLote.GerarException( FConsLote.Msg );
    end;
  end;
end;
 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Daniel,

Por favor não poste fragmentos longos de código como texto da postagem.

Você não informou qual é o erro que ocorre, ou seja, a mensagem exata do erro.

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

  • Solution

Ítalo, bom dia.
Desculpe pelo ato falho. Queria destacar em qual parte do codigo que via o erro, através do debug.
Na verdade, meu problema é o de não conseguir homologar as notas do sentido completo: enviar, registrar e receber o retorno
A última parte, receber o retorno, retorna um erro não especificado, gerando um tela com 'x' da minha aplicação.
Fazendo o debug, era neste bloco de código que acontece a exceção.
Apesar do site da prefeitura informar que estão com problemas, agora a rotina me dá a mensagem que não encontrou o certificado digitar, embora ele esteja lá.
No componente consigo ler o numero de série, cnpj, emissor, tudo..
Vou aguardar a prefeitura resolver a parte deles e daí tentar descobrir com mais clareza o que está acontecendo.
Se tiver alguma sugestão, agradeço.

 

Link para o comentário
Compartilhar em outros sites

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