Ir para conteúdo
  • Cadastre-se

dev botao

Gerar Bloco X de estoque com buffer de linhas


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

Recommended Posts

  • Membros Pro

Boa noite pessoal.

Estou gerando um arquivo de estoque utilizando o ACBRBlocoX sendo que este arquivo tem o total de 3780 produtos com estoque. O que ocorre é que na hora de salvar o arquivo usando o método SavetoFile ocorre um erro "Out of Memory". Notei que no ACBRSPED tem como gravar concomitantemente como demonstra o exemplo. Gostaria de saber como driblar esta situação para evitar este erro.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Modifiquei o "ACBrBlocoXDemo", para gerar 100.000 itens, e consegui gerar um XML de 38MB...   (porém eu uso Lazarus 1.6/FPC3.0)

Sabe me dizer em que ponto o erro ocorre ? Insira um BkPoint em "TACBrBlocoX_Estoque.GerarXML", unit ACBrBlocoX_Estoque.pas... veja se o estouro ocorre no Loop desse método... ou na Assinatura

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Daniel, o erro ocorre no GERAR XML pois fiz o teste para não fazer a assinatura e deu o erro do mesmo jeito. Eu ainda tentei pegar o valor que retorna na variável Estoque.xmloriginal e jogar em uma variável TStringList que eu criei para depois fazer o arquivo txt linha a linha mas no momento em que peguei o valor de xmloriginal e joguei para minha variável já deu o erro.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

A correção para esse problema pode ser MUITO difícil... pois exigiria um refactoring no ACBr, para troca do PCN como gerador do XML...

Minha sugestão é você gerar o XML de outra forma (usando alguma classe do Delphi) e usar o ACBr apenas para assinar e transmitir

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Humm.. pensei em outro fator...

Seria praticamente impossível enviar um arquivo XML de vários Mb por um WebService... por isso a WebService da NFe limita o tamanho do lote em 500kb

Certamente os gênios que criam o PAF-ECF não pensaram nesse detalhe...

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
11 minutos atrás, Daniel Simoes disse:

Humm.. pensei em outro fator...

Seria praticamente impossível enviar um arquivo XML de vários Mb por um WebService... por isso a WebService da NFe limita o tamanho do lote em 500kb

Certamente os gênios que criam o PAF-ECF não pensaram nesse detalhe...

Quase certeza!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Pois é Daniel. Sorte que por enquanto só estão validando. Quanto a correção, peguei o arquivo xsd pelo link que achei aqui no forum e pelo XML DATA BINDER do delphi vai ser tranquilo fazer. Fica a dica para se alguém ler este post e trabalhar com delphi.

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

×
×
  • 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...