Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Olá, boa tarde Italo.
Com as alterações em pnfsLerListaNFSe.pas e pnfsNFSeR.pas o método EnviaSincrono está retornando false, e uma exception é lançada.
Ainda assim o protocolo não é retornado após leitura das mensagens.
 

function TWebServices.EnviaSincrono(ALote: String): Boolean;
begin
  FEnviarSincrono.FNumeroLote := ALote;
  Result := FEnviarSincrono.Executar;  //Retornando false **1
  if not (Result) then
    FEnviarSincrono.GerarException( FEnviarSincrono.Msg );
  // Alguns provedores requerem que sejam feitas as consultas para obter o XML
  // da NFS-e
  FConsSitLoteRPS.FProtocolo  := FEnviarSincrono.Protocolo;
  FConsSitLoteRPS.FNumeroLote := FEnviarSincrono.NumeroLote;
  FConsLote.FProtocolo := FEnviarSincrono.Protocolo; // .Protocolo deveria estar preenchido com o protocolo da primeira chamada.
  if (TACBrNFSe(FACBrNFSe).Configuracoes.Geral.ConsultaLoteAposEnvio) and (Result) then
  begin
    if ProvedorToVersaoNFSe(TACBrNFSe(FACBrNFSe).Configuracoes.Geral.Provedor) = ve100 then
    begin
      Result := FConsSitLoteRPS.Executar;
      if not (Result) then
        FConsSitLoteRPS.GerarException( FConsSitLoteRPS.Msg );
    end;
    if TACBrNFSe(FACBrNFSe).Configuracoes.Geral.Provedor = proInfisc then
      Result := True
    else
      Result := FConsLote.Executar;
    if not (Result) then
      FConsLote.GerarException( FConsLote.Msg );
  end;
end;
Postado

Olá, agora no final da tarde consegui fazer algumas modificações seguindo um pouco mais sua linha de raciocinio.

Para que funcione com o Tecnos segue então as sugestões.

~Baseando-se
-Leitura da datahora recebimento na consulta do lote enviado, sem isto o metodo extrair notas retorno vai retornar False no Result := FEnviarSincrono.Executar;
-
Atribuição da propriedade Protocolo durante o metodo ExtrairNotasRetorno no modo LayNfseConsultaLote;
 (Na segunda execução - retorno das informações da nota) (já que LayNFSeRecepcaoLoteSincrono nunca ocorrerá para o servidor Tecnos);

/ Retorno do GerarNfse e ConsultarLoteRps
    if FPLayout in [LayNFSeGerar, LayNfseConsultaLote] then
      FNotasFiscais.Items[ii].NFSe.Situacao  := FRetornoNFSe.ListaNFSe.CompNFSe.Items.NFSe.Situacao;
      FNotasFiscais.Items[ii].NFSe.Protocolo := FProtocolo;
    end;

ACBrNFSeWebServices.pas

pnfsLerListaNFSe.pas

Postado

Olá, agora sim, com este novo TNFSeEnviarSincrono.TratarResposta ficou bom demais.

Estava com suspeitas de por não existir a tag no xml ela voltasse a ficar em branco, já que o .protocolo estava sendo ajustado no index certo antes de receber os dados da nota, mas ficou ok.

Autorização para tecnos Ok.

OBS para quem estiver começando agora.

Tecnos requer:
FNotaServicoWebService.ACBr.Configuracoes.Geral.ConsultaLoteAposEnvio := True;

OBS 2

Vou continuar vendo o restante e grito assim que surgir algum detalhe.

Lembrando que a unit ACBrNFSeDANFSeFR.pas ainda precisa de ajustes. (estou anexando novamente para que alguem possa avaliar com calma)

Danfse também precisa de ajustes no layout, assim que possível farei isto e disponibilizarei aqui.

ACBrNFSeDANFSeFR.pas

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