Autor Tópico: Como melhorar o Mestre-Detalhe? Postem suas experiências  (Lida 3320 vezes)

Haroldo

  • Expert
  • *****
  • Mensagens: 6277
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #15 Online: Julho 16, 2014, 11:26:26 am »
A forma que utilizo e funciona para qualquer banco é?

Gravar a sessão do php na tabela.

Select max(id) from tabela where sessao=$sessao.

Quando inserir o item limpar o campo sessao da tabela.
« Última modificação: Julho 16, 2014, 11:44:52 am por Haroldo »

Fbonline

  • Intermediário
  • ***
  • Mensagens: 171
  • Softmus IT Solutions
    • Softmus It Solutions
    • Email
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #16 Online: Julho 16, 2014, 11:54:57 am »
Nunca pensei em usar sessão nesse sentido , sempre usei o select max(id) no onAfterInsert, pois uso SqlServer, por enquanto ainda não tive problemas.


Mas também tenho sistemas com 10 a 20 usuários simultâneos , talvez com centenas a coisa muda de figura.

Vou começar a pensar nessa dica do Haroldo.


Haroldo

  • Expert
  • *****
  • Mensagens: 6277
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #17 Online: Julho 16, 2014, 06:20:22 pm »
A sessao garante que o max(id) traga  id do ultimo insert feito na sessão corrente, excluindo qualquer chance de pegar o id gerado por outro usuário.

Fbonline

  • Intermediário
  • ***
  • Mensagens: 171
  • Softmus IT Solutions
    • Softmus It Solutions
    • Email
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #18 Online: Julho 16, 2014, 06:40:17 pm »
Haroldo,

Usando um exemplo de Pedido e ItemPedido

Você grava o Pedido primeiro e no evento onAfertInsert grava o ID na sessão? ou Você faz isso usando o campo gravar variavel na sessão do scriptcase nas propriedades do campo?

Pode detalhar um pouco mais?

Obrigado

Haroldo

  • Expert
  • *****
  • Mensagens: 6277
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #19 Online: Julho 17, 2014, 11:09:11 am »
Eu grava a sessão do php numa coluna da tabela.  Id eh auto increment.

IF (ISSET($_REQUEST['PHPSESSID'])) $_PHPSESSID=@$_REQUEST['PHPSESSID'];   
IF (!ISSET($_PHPSESSID)||EMPTY($_PHPSESSID)) $_PHPSESSID=session_id(); 

$_INSERT="INSERT INTO pedido set sessao_php='$_PHPSESSID'";



Willian Fernando

  • Expert
  • *****
  • Mensagens: 1149
  • .....
    • Email
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #20 Online: Julho 17, 2014, 12:02:11 pm »
Haroldo, Grande Haroldo, muito bem falado por todos os lados inclusive na demostração do SC, dirigido por Carlos da NM..
Uma pergunta o Sr. Fez um Master/Detail todo do zero com código proprio ou usou algum framework-Modelo,
Si usou algum frame.. poderia indicar cual?
si não usou nenhum frame, de todas formas parabéns...y obrigado por compartilhar...

Haroldo

  • Expert
  • *****
  • Mensagens: 6277
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #21 Online: Julho 17, 2014, 01:07:44 pm »
Não usei framework não.


Uso uma controle.

Campos manuais.
No detalhe uso um campo do tipo checkbox (na verdade ele eh uma DIV html) e escrevo com jquery uma consulta dos itens (usando uma TABLE Html) onde cada linha eh um link que executa um vento ajax que ao clicar preenche campos virtuais do item.

A Ação de salvamento do item eh manual também.

Willian Fernando

  • Expert
  • *****
  • Mensagens: 1149
  • .....
    • Email
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #22 Online: Julho 17, 2014, 02:41:23 pm »
ah Ok.. muito obrigado por compartilhar..
Y outra coisinha e ágil a carga do detalhe com essa Master/Detail que o Sr. Tem??

Haroldo

  • Expert
  • *****
  • Mensagens: 6277
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #23 Online: Julho 17, 2014, 03:12:39 pm »
sim muito superior ao  metodo padrào do SC.

Principalmente que o detalhe possui 400,500 registros.

Maurélio

  • Avançado
  • ****
  • Mensagens: 304
  • O eterno Aprendiz.'.
    • Email
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #24 Online: Julho 17, 2014, 03:44:44 pm »
Pessoal,

Muito legal a contribuição de todos que participaram deste post, mas o problema principal, que é utilizar o próprio scriptcase para fazer o mestre detalhe ainda existe.

O que a Netmake deveria fazer é lançar a nova versão com um Mestre Detalhe melhor elaborado, pois a utilização da ferramenta é justamente facilitar o desenvolvimento e não termos que ficar usando de programação própria para resolver um problema que a ferramenta deveria disponibilizar de forma adequada e não pobre como é até agora e pelo visto vai continuar sendo assim.

Sei que existem momentos que precisamos entrar com uma programação própria e ainda bem que existe eles criaram a opção da blank e controle que permitem isto, mas um formulário Mestre/Detalhe deveria ser feito pelo próprio Scriptcase, pelo menos os mais simples e normais.

No caso que o Haroldo comentou, um detalhe com mais de 400 registros, estes sim devem ser desenvolvidos de forma manual, pois não conheço nenhuma ferramente RAD que possa fazer isto de forma prática e funcional.

Foi muito boa esta discussão e espero, sinceramente, que a Netmake melhore o Mestre/Detalhe que o Scriptcase disponibiliza para os seus usuários.

Acho que não existe nenhuma aplicação um pouquinho mais elaborada que possa ser feita sem utilizar o Mestre / Detalhe.

[]'s
Marco Aurélio

Haroldo

  • Expert
  • *****
  • Mensagens: 6277
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #25 Online: Julho 17, 2014, 04:06:26 pm »
Quando criamos as classes, funções depois fica fácil usar sempre, independente da quantidade de registros.
« Última modificação: Julho 17, 2014, 04:45:43 pm por Haroldo »

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #26 Online: Julho 17, 2014, 05:17:59 pm »
Bom galera eu resolvi fazer um teste aqui em uma tabelinha de nosso sistema com um grid editável sem filtro algum, essa tabela esta hoje com 700 mb de tamanho e pelo tamanho do retorno desse select eu não achei nem um pouco demorada a resposta:

http://dev.sglsistemas.com.br/scriptcase7/app/BiGeweb/form_mov_itens/form_mov_itens.php.

Bom tirem suas conclusões, vou deixar um tempo no ar pra vocês testarem, pois muitas vezes podemos otimizar a estrutura do servidor de banco de dados para que ele tenha uma melhor performance, que na minha humilde opinião é isso que impacta diretamente no desempenho das aplicações.

Levem em consideração que o servidor esta um pouco longe com latência em média de 150 ms.

Kleyber

  • Expert
  • *****
  • Mensagens: 2237
    • Email
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #27 Online: Julho 17, 2014, 08:02:13 pm »
Grande Saulo,

Qual banco de dados deste teste?
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #28 Online: Julho 17, 2014, 08:24:22 pm »
Mysql, abaixo um mestre detalhes eu fiz um update na tabela de itens então o primeiro registro tem muitas linhas de itens pra testar o desempenho.

http://dev.sglsistemas.com.br/scriptcase7/app/BiGeweb/form_mov/form_mov.php

Só complementando uma informação que acho essencial, esse banco de onde estou puxando esses dados esta estruturado em tabelas Myisam o que também dá um ganho de performance de uns 18% reais sobre o innodb.

Bom claro que todos aqui sabem da importância de usar tabelas adequadas aos tipos de dados que serão gravados nelas bem como a quantidade e recorrência de consultas a elas.

Boa noite!!
« Última modificação: Julho 17, 2014, 11:48:22 pm por saulobborges »

Fbonline

  • Intermediário
  • ***
  • Mensagens: 171
  • Softmus IT Solutions
    • Softmus It Solutions
    • Email
Re:Como melhorar o Mestre-Detalhe? Postem suas experiências
« Responder #29 Online: Julho 17, 2014, 11:50:31 pm »
Pessoal,

Está ficando bem interessante esse tópico.

Obrigado Haroldo pelas dicas.

Alguém aqui já conseguiu ou ao menos tentou esconder o botão do lado esquerdo e fazer a linha ser gravada ao escapar do último campo da direta da linha?

Ainda me pergunto o porque do botão ficar do lado esquerdo.