506 – Cadastro de Pesquisas

Este cadastro é responsável pelas pesquisas personalizadas do sistema. Atualmente, o sistema possui pesquisas padrões, que são consultas fixas e não permitem edição. Segue abaixo um exemplo deste tipo de pesquisa:

Já as pesquisas personalizadas podem ser alteradas por esta tela, permitindo modificar a consulta realizada, as informações consultadas e também os dados retornados pela pesquisa. Segue abaixo um exemplo de pesquisa personalizada:

Pacote: pctCadastros.bpl
Tela fmPesquisa

 

Filtros:

  • Código: informa o código sequencial da pesquisa.
  • Descrição: informa a descrição da pesquisa, sendo exibida na parte superior da tela para indicar a informação que será consultada.
  • Tabela: informa a tabela do banco de dados que será utilizada na consulta.
  • Chave: informa o principal campo de retorno da pesquisa.
  • Consulta: informa o SQL responsável por retornar os dados da pesquisa, devendo respeitar as seguintes regras:
    • Consulta por empresa logada: informa a tabela utilizando {}, onde o sistema irá complementar com o código da empresa logada, caso existam múltiplas empresas no banco de dados.
    • Listagem de campos obrigatória: informa todos os campos explicitamente no SELECT, não sendo permitido o uso de *.
      • Exemplo incorreto:
        SELECT * FROM {TIPO_ATEND}
        
      • Exemplo correto:
        SELECT Codigo, Descricao FROM {TIPO_ATEND}
        
    • Uso de JOIN: informa consultas com JOIN apenas dentro de subselect, não sendo permitido o uso direto.
      • Exemplo:
        SELECT Numero, Codigo, Codigo2
        FROM (
          SELECT OF1.Numero,
                 OF1.Codigo,
                 PROD.Codigo2
          FROM {OF1} OF1
        )
        WHERE 1=1
        
    • Uso de UNION: informa consultas com UNION apenas dentro de subselect, não sendo permitido o uso direto.
      • Exemplo:
      • SELECT Numero, Codigo
        FROM (
          SELECT OF1.Numero,
                 OF1.Codigo
          FROM OF1_001 OF1
         UNION ALL
          SELECT OF2.Numero,
                 OF2.Codigo
          FROM OF2_001 OF2
        )
        WHERE 1=1
    • Campos do tipo BLOB: informa que não devem ser utilizados na consulta, pois podem impactar negativamente no desempenho.
  • Retorno: informa os campos que serão retornados para o campo que originou a pesquisa.
  • Campos: informa os campos disponíveis para consulta, respeitando a ordem configurada neste filtro.

Botões:

  • Próximo: Consulta o próximo registro
  • Anterior: Consulta o registro anterior
  • Primeiro: Consulta o primeiro registro
  • Último: Consulta o ultimo registro
  • Incluir: Habilita os filtros para cadastrar uma nova Pesquisa.
  • Alterar: Habilita os filtros, permitindo alterar a Pesquisa.
  • Excluir: Remove o registro selecionado na tabela.
  • Consultar: Abre a pesquisa para consultar uma Pesquisa existente.
  • Fechar: Encerra a tela.

Tabela:

Linha: Esta tabela contém os registros de Pesquisas cadastradas, e ao selecionar um item, as informações serão automaticamente preenchidas nos filtros.