Ir para conteúdo
  • Cadastre-se

dev botao

Ao gerar arquivo de estoque out of memory


Ver Solução Respondido por EMBarbosa,
  • Este tópico foi criado há 452 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde pessoal, venho aqui solicitar um auxilio orientação dos colegas referente a geração de XML para bloco x estoque

estou gerando um XML com aprox 40 mil registros e no momento de fazer a assinatura do mesmo passa pela função FastStringReplace da unit StrUtilsEx e na linha 135 ocorre a exceção de out of memory.
Algum colega teve esse problema ou estou fazendo algo incorreto, grato desde já.

Imagem em anexo para melhor entendimento.

Screenshot_6.png

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

  • Moderadores
30 minutos atrás, Alysson Rengel disse:

Bom dia @Juliomar Marchetti não não utilizando tudo original do ACBr mesmo, quando chega nesse SetLength ocorre a exceção de out of memory, até agora não consegui identificar se é algo da minha aplicação ou se pode ser algo do ACBr. pois o consumo de memoria sobe lá para 1.5 GB.

na verdade é o tamanho do arquivo mesmo. e dai não consegue manipular ele.

  • Curtir 1
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

  • Moderadores
Em 12/01/2023 at 10:37, Alysson Rengel disse:

Certo @Juliomar Marchetti, alguma dica de como posso estar assinando o XML de estoque para fazer o envio ao fisco SC?

Pois depois do método assinar ele passa por outros métodos de correção do XML e ocorre essa situação.

tu poderia tentar usar o fastmm mas é muito grande o arquivo.

  • Curtir 1
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

Bom dia @Juliomar Marchetti conforme imagem em anexo estou recebendo out of memory no copy  dentro da função ajustarXMLAssinado, o XML tem 36507021 linhas, quando salvo fica com tamanho de 35.600 MB pois é a movimentação de estoque do ano todo do cliente.
Alguma dica  do que posso estar fazendo para sanar a situação, pois se for um XML pequeno ele funciona corretamente.

Obrigado pela atenção.

Screenshot_1.png

Link para o comentário
Compartilhar em outros sites

Em 20/01/2023 at 08:59, Alysson Rengel disse:

Bom dia @Juliomar Marchetti conforme imagem em anexo estou recebendo out of memory no copy  dentro da função ajustarXMLAssinado, o XML tem 36507021 linhas, quando salvo fica com tamanho de 35.600 MB pois é a movimentação de estoque do ano todo do cliente.
Alguma dica  do que posso estar fazendo para sanar a situação, pois se for um XML pequeno ele funciona corretamente.

Obrigado pela atenção.

Screenshot_1.png

Estou passando pelo mesmo problema, conseguiu resolver?

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

  • Moderadores
2 horas atrás, oliveira_arara disse:

Estou passando pelo mesmo problema, conseguiu resolver?

seria possível enviar um arquivo antes de assinar para validarmos? [email protected]

  • Curtir 1
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

  • Consultores
Em 11/01/2023 at 17:14, Alysson Rengel disse:

estou gerando um XML com aprox 40 mil registros e no momento de fazer a assinatura do mesmo passa pela função FastStringReplace da unit StrUtilsEx e na linha 135 ocorre a exceção de out of memory.

Em 20/01/2023 at 08:59, Alysson Rengel disse:

conforme imagem em anexo estou recebendo out of memory no copy  dentro da função ajustarXMLAssinado, o XML tem 36507021 linhas, quando salvo fica com tamanho de 35.600 MB pois é a movimentação de estoque do ano todo do cliente.

Alysson, afinal, o seu problema é lavantado no copy ou na FastStringReplace?

 

5 horas atrás, oliveira_arara disse:

Estou passando pelo mesmo problema, conseguiu resolver?

Boa tarde. Você chegou a debugar para ver onde exatamente é levantada a mensagem de erro?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Boa tarde, @EMBarbosa em ambos os métodos, quando ele passa em algum copy ou alguma função que trabalha com a string do XML consome uns 500 MB de memoria cada vez quando chega em 1.5 GB estoura a exceção. 

Se for útil posso estar subindo o XML aqui antes de tentar assinar para os amigos analisarem.

Link para o comentário
Compartilhar em outros sites

  • Consultores
7 minutos atrás, Alysson Rengel disse:

Boa tarde, @EMBarbosa em ambos os métodos, quando ele passa em algum copy ou alguma função que trabalha com a string do XML consome uns 500 MB de memoria cada vez quando chega em 1.5 GB estoura a exceção.

Como assim em ambos? depois que uma exception é levantada, o processamento não cessa?

A questão é que precisamos saber se o erro é gerado pela FastStringReplace ou não.

9 minutos atrás, Alysson Rengel disse:

Se for útil posso estar subindo o XML aqui antes de tentar assinar para os amigos analisarem.

Como é um arquivo confidencial e como já recebemos um outro arquivo, no momento não precisa enviar. Se precisarmos vamos pedir mais tarde.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Consultores
9 minutos atrás, Alysson Rengel disse:

Beleza grato pelo retorno @EMBarbosa e @Juliomar Marchetti.

Você não me respondeu:

10 minutos atrás, EMBarbosa disse:

Como assim em ambos? depois que uma exception é levantada, o processamento não cessa?

 

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Boa tarde tudo bem?

Estou passando pelo mesmo problema, tenho 82093 itens nesta base. Nunca aconteceu em minha aplicação, porém na base desse cliente acontece.

@EMBarbosa e @Juliomar Marchetti se eu posso ajudar, a linha que da o exception é a que está no print a baixo:

image.png.a508a127e41f8338a634b82f3acc9cdd.png

Fico no aguardo,

Muito obrigado por enquanto.

"A arte de programar consiste em organizar e dominar a complexidade." 🤖

-Edsger W. Dijkstra

Link para o comentário
Compartilhar em outros sites

  • Consultores
19 horas atrás, Fernando Kerber disse:

Estou passando pelo mesmo problema, tenho 82093 itens nesta base

Reduza o número de itens removendo os que estão com estoque zerado e os que não houveram movimentação.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Consultores
3 minutos atrás, Alysson Rengel disse:

Bom dia @EMBarbosa já fiz isso e mesmo assim persiste, ocorre de não ter tido movimentação de saída, mas como teve de entrada sou obrigado a informar.

A minha resposta foi para o Fernando. O que eu te pedi você ainda não respondeu:

Em 23/01/2023 at 17:31, EMBarbosa disse:

Você não me respondeu:

Em 23/01/2023 at 17:20, EMBarbosa disse:

Como assim em ambos? depois que uma exception é levantada, o processamento não cessa?

A questão é que precisamos saber se o erro é gerado pela FastStringReplace ou não.

 

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Boa tarde @EMBarbosa obrigado pelo retorno.

Analisando a base do cliente realmente se eu verificar a quantidade de itens com movimentação ele reduz pra em torno de 1000 itens. Esta base foi convertida e veio bastante itens sem movimentação.

Desculpe minha ignorância mas estou tentando localizar na ER do PAF onde diz se isso é permitido, se no arquivo Bloco X do estoque deve ser gerado apenas e itens que tiveram movimentação, mas acredito que sim, se tu tiver essa informação para que eu possa ter um argumento da solução pro cliente eu lhe agradeço.

"A arte de programar consiste em organizar e dominar a complexidade." 🤖

-Edsger W. Dijkstra

Link para o comentário
Compartilhar em outros sites

3 minutos atrás, Fernando Kerber disse:

Boa tarde @EMBarbosa obrigado pelo retorno.

Analisando a base do cliente realmente se eu verificar a quantidade de itens com movimentação ele reduz pra em torno de 1000 itens. Esta base foi convertida e veio bastante itens sem movimentação.

Desculpe minha ignorância mas estou tentando localizar na ER do PAF onde diz se isso é permitido, se no arquivo Bloco X do estoque deve ser gerado apenas e itens que tiveram movimentação, mas acredito que sim, se tu tiver essa informação para que eu possa ter um argumento da solução pro cliente eu lhe agradeço.

Boa tarde @Fernando Kerber print em anexo do trecho do ATO DIAT 22 055 onde tem essa informação e também o ATO completo.

Screenshot_5.png

ATODIAT_22_055_ANEXO_UNICO.pdf

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

2 minutos atrás, Alysson Rengel disse:

Boa tarde @Fernando Kerber print em anexo do trecho do ATO DIAT 22 055 onde tem essa informação e também o ATO completo.

Screenshot_5.png

ATODIAT_22_055_ANEXO_UNICO.pdf 445.67 kB · 0 downloads

Perfeito @Alysson Rengel Muito obrigado mesmo pela ajuda!

  • Curtir 1

"A arte de programar consiste em organizar e dominar a complexidade." 🤖

-Edsger W. Dijkstra

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 452 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.