Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Consultores
Postado

Bom dia a todos,

O componente aborta o enviar se o lote possuir mais de 50 RPS isso se tratando dos métodos Enviar e EnviarSincrono, pois o método Gerar só é permitido o envio de um único RPS.

E a checagem com relação ao tamanho em Kbytes o componente também faz e aborta o envio caso o tamanho seja maior que 500 Kbytes.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • 2 meses depois ...
  • 7 meses depois ...
Postado

Italo, tudo bem?

Está certo a forma que estou enviando as notas fiscais por lotes?

Na qryNotas tem 500 registros para enviar.

Só dá timeout, já aumentei o tempo para 50000 e não resolveu;

***************************************************

  c := 0;

  vNumLote := StrToInt(_Numero_do_Lote);
  numeroRPS  := StrToIntDef(vNumNota, 1); // numero do RPS
  qryNotas.First;

  while not qryNotas.Eof do
    begin

      c := 1;
      dba.ACBrNFSe1.NotasFiscais.Clear;

      while not qryNotas.Eof and (c <= 50) do
        begin
          seqRPS := IntToStr(numeroRPS);
          AlimentaComponente(seqRPS);
          inc(numeroRPS);
          inc(c);
          qryNotas.Next;
        end;

      dba.ACBrNFSe1.GerarLote(vNumLote); //.Enviar(vNumLote);

      MemoDados.Lines.Add('Nome XML: '+dba.ACBrNFSe1.NotasFiscais.Items.NomeArq);
      MemoDados.Lines.Add('Nota Numero: '+dba.ACBrNFSe1.NotasFiscais.Items.NFSe.Numero);
      MemoDados.Lines.Add('Código de Verificação: '+dba.ACBrNFSe1.NotasFiscais.Items.NFSe.CodigoVerificacao);

      inc(vNumLote);

    end;

  • Consultores
Postado

Bom dia Walfrido,

O método GerarLote, só gera o XML referente ao lote e salva em disco, não envia para lugar nenhum.

Esse método é utilizado quando o provedor não disponibiliza um webservice, ai tempos que gerar o XML do lote, acessar o site e importar o XML.

Já o método Enviar, além de gerar lote, salvar em disco, estabelece uma conexão com o webservice e envia o lote.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado (editado)
2 horas atrás, Italo Jurisato Junior disse:

Bom dia Walfrido,

O método GerarLote, só gera o XML referente ao lote e salva em disco, não envia para lugar nenhum.

Esse método é utilizado quando o provedor não disponibiliza um webservice, ai tempos que gerar o XML do lote, acessar o site e importar o XML.

Já o método Enviar, além de gerar lote, salvar em disco, estabelece uma conexão com o webservice e envia o lote.

dba.ACBrNFSe1.GerarLote(vNumLote); //.Enviar(vNumLote);

Desculpa, tinha feito um teste para ver se estava gerando o lote certinho, mas o código correto é este abaixo;

dba.ACBrNFSe1.Enviar(vNumLote);

 

Mas a questão é tenho que inserir apenas 50 notas por lote, certo?

Mas neste caso preciso enviar mais de 500...

Então coloquei um contador que ao atingir 50 registro ele envia e depois continua até terminar de enviar tudo...

  while not qryNotas.Eof do
    begin

      c := 1;
      dba.ACBrNFSe1.NotasFiscais.Clear;

      while not qryNotas.Eof and (c <= 50) do
        begin
          seqRPS := IntToStr(numeroRPS);
          AlimentaComponente(seqRPS);
          inc(numeroRPS);
          inc(c);
          qryNotas.Next;
        end;

      dba.ACBrNFSe1.Enviar(vNumLote);

      inc(vNumLote);

    end;

 

Seria assim neh? Mas gerando timeout!

Editado por walfrido
  • Consultores
Postado

Boa tarde Walfrido,

Tem que ser enviado de 50 em 50.

Se esta ocorrendo Timeout o problema é com o servidor que esta congestionado.

Neste caso deve-se aumentar o valor de Timeout.

Agora se o problema ocorre ao enviar o segundo ou terceiro lote, aconselho incluir uma pausa entre um envio e outro.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

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