Ir para conteúdo
  • Cadastre-se

dev botao

NFSe trunk2


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

Recommended Posts

Boa noite!

Antes de atualizar para o Trunk2 eu fazia os seguintes passos:

Alimentava o componente e envia com o método Enviar, depois pegava o numero da nota e salvava o XML definitivo (Validado, Assinado e Autorizado).

No Trunk2 faço os mesmo procedimento só que não consigo pegar o numero da nota e nem obter o XML (Final).

Só pra informação uso no Rio de janeiro - RJ

Preciso de ajuda ou uma luz para resolver esse problema.

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Mauricio,

Veja a rotina referente ao botão [Gerar e Enviar Lote] do programa exemplo.

(...)

 ACBrNFSe1.Enviar(vNumLote);

 for i := 0 to iQtde -1 do
 begin
   MemoDados.Lines.Add('Nome XML: '+ACBrNFSe1.NotasFiscais.Items[ i ].NomeArq);
   MemoDados.Lines.Add('Nota Numero: '+ACBrNFSe1.NotasFiscais.Items[ i ].NFSe.Numero);
   MemoDados.Lines.Add('Código de Verificação: '+ACBrNFSe1.NotasFiscais.Items[ i ].NFSe.CodigoVerificacao);
 end;

(...)

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

Italo, meus fontes estao atualizados para data de hoje 18/02 trunk 2.

Minhas linhas de envio estão conforme sua descrição acima.

Configuração ACBrNFSe1.Configuracoes.Geral.ConsultaLoteAposEnvio:= true;

Está enviando, porem após envio ( ACBrNFSe1.Enviar(vNumLote)), está gerando um erro em branco nesta procedure:

procedure TACBrDFe.GerarException(const Msg: String; E: Exception);
var
  Tratado: Boolean;
  MsgErro: String;
begin
  MsgErro := Msg;
  if Assigned(E) then
    MsgErro := MsgErro + sLineBreak + E.Message;

  Tratado := False;
  FazerLog('ERRO: ' + MsgErro, Tratado);

  if not Tratado then
    raise EACBrDFeException.CreateDef(MsgErro);
end;
 

A partir daí pára a execução e não consigo pegar os retornos na sequencia.

for i := 0 to iQtde -1 do
 begin
   MemoDados.Lines.Add('Nome XML: '+ACBrNFSe1.NotasFiscais.Items[ i ].NomeArq);
   MemoDados.Lines.Add('Nota Numero: '+ACBrNFSe1.NotasFiscais.Items[ i ].NFSe.Numero);
   MemoDados.Lines.Add('Código de Verificação: '+ACBrNFSe1.NotasFiscais.Items[ i ].NFSe.CodigoVerificacao);
 end;

O provedor está recebendo, verifiquei.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Micheli,

O componente possui uma propriedade de configuração chamada: ConsultaLoteAposEnvio se atribuir o valor True ele realiza a consulta automaticamente.

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

Basicamente a exception  vem da consultaloteaposenvio, na acbrnfsewebservices, nesta linha:

 

 if (TACBrNFSe(FACBrNFSe).Configuracoes.Geral.ConsultaLoteAposEnvio) and (Result) then
  begin
    if (FConsSitLoteRPS.VersaoNFSe = ve100) or
       (TACBrNFSe(FACBrNFSe).Configuracoes.Geral.Provedor = proCONAM) then
    begin
      Result := FConsSitLoteRPS.Executar;

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

 

 

 

Italo, acho que tem a ver com esse post:

http://www.projetoacbr.com.br/forum/topic/25439-webservicesconssitloteprotocolo-no-trunk2/

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite Micheli,

É necessário configurar o componente no tange as propriedades de quantidade de tentativas e tempo entre uma e outra,

E essa configuração varia de um provedor para outro e mesmo sendo o mesmo provedor também pode variar de uma cidade para outra.

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

Sim concordo com vc e imagino que deve ser referente a tempo.

So que no trunk esta a mesma configuração do trunk2 e nao acusa o erro.

aguardarconsultaret 0

ajusta false

intervalo tentativas 1000

tentativas 5

timeout 5000.

 

Mais alguma idéia do que possa ser?

 

 

Editado por Micheli Martins
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Michele,

Quando migrei o componente ACBrNFSe para o Trunk2 os testes que realizei foi com o provedor Ginfes.

E semana passada fiz novos testes usando o programa exemplo e tudo foi executado sem nenhum problema e os tempos de esperas razoáveis na ordem de 2 a 3 segundos.

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

  • 4 meses depois ...
On 22/02/2016 at 4:28 PM, Micheli Martins said:

Sim concordo com vc e imagino que deve ser referente a tempo.

So que no trunk esta a mesma configuração do trunk2 e nao acusa o erro.

aguardarconsultaret 0

ajusta false

intervalo tentativas 1000

tentativas 5

timeout 5000.

 

Mais alguma idéia do que possa ser?

 

 

Estou com o mesmo problema que você, o erro "em branco" na hora de consultar a RPS. Você conseguiu resolver?

Link para o comentário
Compartilhar em outros sites

On 22/02/2016 at 4:46 PM, Italo Jurisato Junior said:

Boa tarde Michele,

Quando migrei o componente ACBrNFSe para o Trunk2 os testes que realizei foi com o provedor Ginfes.

E semana passada fiz novos testes usando o programa exemplo e tudo foi executado sem nenhum problema e os tempos de esperas razoáveis na ordem de 2 a 3 segundos.

 

 

 

Desculpe o post duplo mas descobri que o erro acontece quando o retorno não possui notas processadas. No meu caso na resposta do webservice só voltaram os erros da nota, como componente gera um exception, não consigo apenas tratar o erro e mostrar os problemas com a RPS . 

Preciso acertar algum parâmetro para que isto não ocorra? Ou altero o fonte do componente para pular este problema?

Meu provedor é ISSDSF

A linha "Result := TratarResposta" volta false, daí ele gera o exception.

function TDFeWebService.Executar: Boolean;
var
  ErroMsg: String;
begin
  { Sobrescrever apenas se realmente necessário }

  InicializarServico;
  try
    DefinirDadosMsg;
    DefinirEnvelopeSoap;
    SalvarEnvio;

    try
      EnviarDados;
      Result := TratarResposta;
      FazerLog(GerarMsgLog, True);
      SalvarResposta;
    except
      on E: Exception do
      begin
        Result := False;
        ErroMsg := GerarMsgErro(E);
        GerarException(ErroMsg, E);
      end;
    end;
  finally
    FinalizarServico;
  end;
end;

 

Abaixo ele volta 0 notas 

Quote

function TNFSeConsultarLoteRPS.TratarResposta: Boolean;
begin
  FPMsg := '';
  FaMsg := '';
  FPRetWS := ExtrairRetorno;
  Result := ExtrairNotasRetorno;
  FPRetWS := ExtrairGrupoMsgRet(FPConfiguracoesNFSe.Geral.ConfigGrupoMsgRet.ConsLote);
end;

 

Editado por marcelinoap
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

Bom dia,

Estou com este problema no provedor BHISS, como foi resolvido?

O retorno volta falso para "Result := FConsSitLoteRPS.Executar;" e "FConsSitLoteRPS.GerarException( FConsSitLoteRPS.Msg );" retorna vazio.

como aumento as tentativas e o tempo de espera?

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia,

O componente possui várias propriedades de configuração.

Por exemplo, no seu caso temos:

IntervaloTentativas e Tentativas.

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