modelo de programação master/detail Estou reescrevendo um sistema e fazendo novas rotinas usando o Adianti Studio Professional, na versão 3. Nas rotinas mais complexas eu uso o modelo master/detail. Agora estou tendo problemas com uma rotina muito complexa, ex: NF, ítens NF e sub-itens do Item. armazeno o conteúdo dos grids em variáveis de sessão, conforme exemplo que peguei, só que nesta rotina eu tenho vários grid sendo ...
DD
modelo de programação master/detail  
Estou reescrevendo um sistema e fazendo novas rotinas usando o Adianti Studio Professional, na versão 3.
Nas rotinas mais complexas eu uso o modelo master/detail.
Agora estou tendo problemas com uma rotina muito complexa, ex: NF, ítens NF e sub-itens do Item.
armazeno o conteúdo dos grids em variáveis de sessão, conforme exemplo que peguei, só que nesta rotina eu tenho vários grid sendo 1xN e todos armazenando nas variáveis de sessão.
O problema que ocorreu agora é que ultrapassei o límite de memória disponível ao PHP - Allowed memory size of 134217728 bytes exhausted.
Minha pergunta é: será que não tem outra maneira de fazer essa roitna sem ter que usar as variáveis de sessão ?

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (4)


NR

Denilson, de que quantidade de itens estamos falando?

Qual o limite de memória configurado?
DD

Nataniel, estou usando o KingHost para hospedar o sistema, a mensagem do erro é: Allowed memory size of 134217728 bytes exhausted (tried to allocate 101711872 bytes).
quanto a quantidade de itens poderá ser bem grande, mais de cem, e cada ítem tem uns três cadastros de subitens que são 1xN, então eu crio um array para os ítens e um array para cada subitem, totalizando 4 arrays colocados em variáveis de sessão.
é bem complexo a rotina, uma informação, já fiz uma coisa bem parecida e não deu problema de memória, só que era tudo numa única classe (TPage). Neste eu quis mudar a edição do item ser em uma TWindow separada, para não ficar uma tela muito grande, pq são vários forms.
O uso de variáveis de sessão é a única alternativa para se fazer isso ?
pq na inclusão ainda não temos o salvo o registro principal e não podemos gravar os itens e subitens.
Tens algum contato por fora do forum para podermos trocar umas idéias, tipo skype, Whats ? tenho que reescrever um sistema muito grande (ERP)
NR

Denilson, acho muito díficil(muito mesmo) que o problema de memória esteja vinculado aos dados gravados na sessão.

Acho mais provável que seja alguma coisa na interface ou nos relacionamentos entre os models.

Confirme que não há nenhuma recursão que possa estar causando esse problema(um container filho adicionando o container pai, por exemplo)
DD

Nataniel, descobri o motivo, troquei de servidor pra testar e consegui analisar os erros, dentro da KingHost não recebia os erros, mas era usando um frame dentro de outro (interface) e tinha vários erros de variáveis inexistentes, estou conseguindo testar a rotina agora.
Muito obrigado pela ajuda.
Obs. Teve atualizações na rotina, e foram adicionados mais campos, inclusive um 1xN...he he he
abraços