Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia a todos,

 

Estou fazendo a adaptação do meu sistema para conseguir gerar o arquivo do Bloco X referente ao estoque, mas o componente está retornando erro de Out of Memory quando eu tento gerar um arquivo com muitos produtos. O banco que eu estava gerando estava com 40 mil produtos, mas pelos meus testes esse erro já acontece quando temos em torno de 4 mil produtos.

Eu alterei o componente para que ele fosse gravando o Xml em partes e tive sucesso nisso, mas não consegui assinar esse XML, ele dava a mensagem "erro ao carregar Xml", Pra homologação eu não devo ter problemas com isso porque vou levar um banco de dados com uma quantidade bem menor de produtos. Mas creio que possamos ter problemas quando isso entrar em produção porque os clientes costumam ter bancos de dados bem grandes.

 

Obrigado

  • Curtir 1
  • 4 meses depois ...
Postado

Boa tarde,

Não tenho acesso ao SAC e estou tendo problemas de "Out of memory" no Estoque do Bloco X.

O componente consegue carregar mais de 7000 itens do meu cadastro mas ao dar o comando ACBrBlocoX1.Estoque.SaveToFile(arquivo) o erro acontece.

  • Fundadores
Postado

Você precisará gerar o XML de outra maneira...

O código atual, do ACBr para gerar o XML não é bom... (ele á baseado em concatenação de String)

Em todo caso, será praticamente impossível, transmitir um XML de vários Megabytes, para um WebService...

 

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.

  • 3 semanas depois ...
Postado
Em 01/11/2016 at 15:41, infoel disse:

Boa tarde,

Não tenho acesso ao SAC e estou tendo problemas de "Out of memory" no Estoque do Bloco X.

O componente consegue carregar mais de 7000 itens do meu cadastro mas ao dar o comando ACBrBlocoX1.Estoque.SaveToFile(arquivo) o erro acontece.

Boa noite! conseguiu resolver ? Também estou tendo o mesmo problema com apenas 4931 produtos na tabela.

Postado

Vc ja tentou utilizar o FastMM4 para maximizar a alocação de memória de sua aplicação? Sempre quando tenho estes gargalos de memória apelo para ele

Jefferson Lupinacci
Analista Desenvolvedor Java Sr. em Zara.com - Inditex - Departamento de Logística e Transporte Global - A Coruña / Espanha

[email protected] / [email protected]
Linkedin; https://www.linkedin.com/in/jeffersonlupinacci/

 

  • 7 meses depois ...
Postado

Bom dia galera,

Estou conseguindo gerar o Estoque do Bloco X com até +- 40 mil itens, porém após isso gera erro( out of memory) ao Salvar o Estoque e assinar o XML.

Alguém sabe como está o processo para correção deste problema? Ou fez de alguma outra maneira a geração do XML?

  • 4 semanas depois ...
Postado

isso tambem ocorre por exemplo quando se busca dados em uma query com muitos registros, isso e alocado na memoria do windows, e a aplicacao quando chega em uns 1.5gb +- memoria da esse erro, mesmo se seu pc tiver muito mais memoria, devido a ser uma app 32 bits.  

isso e so para explicar que (e provavavel) que se compilar o aplicativo que gera esse arquivo em 64 bits não vai da o problema. ate que se faça uma correçao no acbr, uma alternativa e criar um exe a parte so com essa parte de gerar o arquivo e compilar em 64 bits (para nao ter que converter sua aplicação inteira em 64, obviamente no seu cliente final, so ira funcionar no win 64.

 

na fiz esse teste, mas baseado no problema citado na query que na pratica e mesma coisa (alocar muita inf na memoria em um app 32bits) eu resolvi em uma aplicacao minha compilando em 64bits.

  • Fundadores
Postado
Em 03/07/2017 at 10:25, José Carlos Buss disse:

Estou conseguindo gerar o Estoque do Bloco X com até +- 40 mil itens, porém após isso gera erro( out of memory) ao Salvar o Estoque e assinar o XML.

Convenhamos, mesmo que você gere o arquivo... como você espera subir para um WebService, um arquivo de Estoque "monstro" com 40mil itens ? 

OK.. isso não é culpa sua.. é na verdade do SEFAZ de SC, que aparentemente não pensou nesse detalhe...  (mesmo com compactação, o arquivo continuará muito grande para ser transmitido em uma requisição HTTP/POST)

  • Curtir 2
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.

Postado (editado)

no final das contas e mais um requisito que so gera depesas para nos desenvolvedores, e que nunca vai ser usado.

temos aqui mais de 1000 empresas com sistema rodando, em mais de 5 anos de paf, posso contar nos dedos de uma baleia, quantas vezes o menu fiscal foi acessado por um fiscal da receita.

 

clientes como lojas de sapato tem muito mais que isso, pq praticamente todo produto adquirido e um novo cadastro, supermercado nem se fala entao, passa facil dos 100 mil.

Editado por wilton_rad
  • Curtir 4
  • 2 semanas depois ...
Postado

Nós temos vários clientes com esse problema. Supermercados, auto-peças, Ferragens... tem muitos produtos e acabamos caindo nesse problema. Vou tentar encontrar alguma solução que consiga atrelar ao ACBr e caso conseguir posto aqui. Só acho que não é tão "incomum" assim.

Rodrigo Cantelli

  • 3 meses depois ...
  • Membros Pro
Postado

Estranho, li alguns relatos aqui nesse mesmo tópico e ninguem postou a solução.

O demo do ACBR, mudei pra 10000 e ocorre tbm, a propósito o demo não atualiza pelo trunk2, manteve-se a versão antiga, será que os fontes estão atualizando?

Como posso ver se estão atualizados?

  • Membros Pro
Postado

Bom dia.

Consegui solucionar o erro "out of memory" utilizando o FastMM4.

Existe algum demo com a rotina de transmissão do arquivo ao Fisco?

Ou se puderem me passar parte do código

 

  • Moderadores
Postado
2 horas atrás, Mario Inacio disse:

Bom dia.

Consegui solucionar o erro "out of memory" utilizando o FastMM4.

Existe algum demo com a rotina de transmissão do arquivo ao Fisco?

Ou se puderem me passar parte do código

 

no próprio componente já está implementado.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

  • Membros Pro
Postado

Implementei assim:

BlocoX.SSL.SelecionarCertificado ;
BlocoX.WebServices.EnviarEstoque.XML       := conteudo;
BlocoX.WebServices.EnviarEstoque.XMLZipado := EncodeBase64(arqzip);
BlocoX.WebServices.EnviarEstoque.Executar;
 

Erro apresentado: 
Erro Interno: 0
Erro HTTP: 0
Erro ao ajustar INTERNET_OPTION_CLIENT_CERT_CONTEXT: 12046

Dúvidas:
1) Como deixar a informação do certificado sem ter que selecionar toda hora
2) Como pegar e tratar o retorno
 

 

  • 3 semanas depois ...
  • Moderadores
Postado
38 minutos atrás, Mario Inacio disse:

Bom dia.

Tem como disponibilizar o DEMO atualizado para envio do Bloco X?
Meus fontes estão atualizados e o demo ainda está na versão antiga.

Tem mas é bem simples de mudar. só recompilar tirar as propriedades removidas e adicionar as novas.

mas assim que possível subirei a mudança ao svn

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

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