Gerador de Consultas

Pessoal,

Gostaria de saber se alguém já tentou fazer um gerador de consultas dinâmico no scriptcase.
Como seria isso:

  1. O cliente selecionaria uma tabela um select;
  2. Num segundo select duplo carregaria os campos da tabela;
  3. Selecionaria os campos para aplicar os filtros;

No php puro consigo, pelo scriptcase será que tem como?

Leandro

É uma boa questão e tambem vou ter de implementar algo parecido em um sistema em um futuro, acredite, bem proximo.

O modo que eu faria atualmente é criar consultas recebendo valores passados por vars globais formando os filtros do cliente. (Por exemplo contas a pagar do mes atual até o fim do ano)

Com certeza deve haver algum modo de alterar a sql da consulta dinamicamente mas tenho de dar uma olhada mais a fundo no manual antes de fazer alguma afirmação.

Carlos,

Hoje faço assim como você descreveu, mas queria criar uma app onde seja só para isso: listo as tabelas, os campos, faço os filtros, agrupo e ordeno…

Um gerador de relatórios na prática, onde em uma única aplicação o cliente consiga extrair dados sem ter que ficar entrando em várias aplicações.

Leandro

Para tal existem diversos aplicativos para isso, o exemplo dele é o agata report do Pablo.
Mas existem algumas questões que considero importante ressaltar:
-Como fica a segurança?
-Como fica a questão da Modelagem do Banco, vai ter que treinar seu cliente para conhecer sua modelagem?
-Pretende implementar quebras, formatação de campos, totais e subtotais?
-Exportação?
-Templates?

Segurança é realmente complicado.

Treinar o cliente para seguir a modelagem do banco? PFFFFFFFFFFFF kkkkk

Haroldo,

Concordo com você sobre o questionamento, estou respondendo suas perguntas… O agata tem como integrar com o SC?

-Como fica a segurança?
- A segurança será feita por grupo de usuários.
-Como fica a questão da Modelagem do Banco, vai ter que treinar seu cliente para conhecer sua modelagem?
Somente os gerentes teriam acesso.
-Pretende implementar quebras, formatação de campos, totais e subtotais?
Não seriam implementadas
-Exportação?
Seriam feitas para pdf ou csv
-Templates?
Padrão do SC

Se você deseja aplicar a segurança do SC, e ter controle sobre oque o usuário está fazendo não aconselho o Agata (ele pode ser usado dentro de iframe).

Para desenvolver algo específico usando apenas SC, primeiros passos:

  • Ter um cadastro das tabelas permitidas a gerar relatórios, (você com certeza não vai querer liberar todas).
  • Ter um cadastro dos campos permitidos (pode-se até ler os campos via instrução sql, mas aí vc libera todos os campos, não aconselho)
    • Nesse cadastro, você deve guardar o tipo de campo, mascara, tamanho, decimais, label padrão
  • ter uma tabela que guarde as querys geradas pelo usuário (este não deve ter acesso direto ao select) , guardar usuário criador.
  • tabela querys x users (para aplicar a segurança do sc) guardar se usuario pode excluir, editar, ou só consultar
  • tabela querys x campos (configurações de filtros, quebras, etc)

Aplicações:

  • Gerador dinamico de relatorio (aconselho uma controle) Manutenção no layout do relatório.
  • Consulta querys gerados (só mostra as dos usuario que criou e que tem acesso)
  • Executor (Um form do tipo grid para funcionar como tela de filtro, e uma blank que é a geradora da consulta)

Esse seria um resumo sintético.

Uma super macro tem que ser desenvolvida que cria toda a lógica de quebras, somas, etc (seria um método padrão)

Isso seria um singelo começo.