Filtros
Você pode criar um tipo especial de consulta chamado consulta de filtro. Considerando que as consultas padrão são usados para exibir listas de informações do seu banco de dados, consultas de filtro pode ser utilizado para:
- reduzir os valores disponíveis aos usuários em certos locais
- exibir uma lista que é filtrada em um valor que é determinado automaticamente em tempo de execução
Por exemplo, duas opções para adicionar uma guia à janela de incidente para exibir as notas que foram adicionadas a um incidente são:
- como uma coleção, qual mostraria TODAS as notas que foram adicionados ao incidente, ou
- como um filtro que exibe somente as notas que foram adicionadas ao incidente pelo usuário que requisitou o incidente.
Para obter mais informações sobre como adicionar guias tais como estes para uma janela, consulte Coleções.
A tabela abaixo destaca as principais diferenças entre consultas de padrão e filtro:
Consultas de padrão |
Consultas de filtro |
---|---|
Os critérios de filtro que você seleciona originam do objeto de negócio que a consulta é baseada em. |
Você pode selecionar o objeto a partir do qual a escolher seus critérios de filtro. |
Critérios devem ser definidos para valores absolutos: estes são definidos em tempo de design ou definidos em tempo de execução por solicitar o usuário para o valor necessário. |
Critérios ou podem ser definidos como um valor absoluto ou um valor de tempo de execução. |
Pode incluir agrupamento. |
Não pode incluir agrupamento. |
Usos típicos para consultas de filtro incluem:
- para filtrar dados em objetos relacionados no Designer de objeto
- como guias em designs de janela para fornecer listas de informações relacionadas a um atributo na janela
Para obter mais informações sobre filtragem de dados em objetos relacionados no Designer de objeto, consulte Filtragem de dados.
O procedimento a seguir descreve como criar um filtro que você pode adicionar como uma guia na janela do Incidente para mostrar apenas as notas para o incidente onde o requisitante é o mesmo que para o incidente. Existem duas condições para este filtro:
- o Incidente no objeto de Nota É igual ao Incidente exibido na janela
- o Requisitante no objeto de Nota É igual ao Requisitante no objeto de Incidente
Inicialmente, o filtro seleciona todas as notas no módulo de Gerenciamento de Incidente. A primeira condição então filtra para aquelas notas adicionadas ao incidente selecionado e o segundo filtros de condição para aquelas notas que têm o mesmo requisitante como o incidente.
Para criar um filtro:
- Na lista de Ações de Designer de consulta e relatório, clique em Novo Filtro.
A caixa de diálogo Novo filtro será exibida. - Digite um Título e Descrição para o filtro.
- No grupo Baseado em, selecione o Módulo e Objeto de negócio que contenham os dados que você deseja que apareçam na lista.
Em nosso exemplo, selecione Gerenciamento de incidente e Nota – queremos ver uma lista de informações sobre as notas. - No Filtrar Por grupo, selecione o Módulo e Objeto de negócio para o objeto que contém o valor que você deseja que a lista ser filtradas por. Isto será o objeto que a janela é baseada em.
Em nosso exemplo, selecione Gerenciamento de Incidente e Incidente –queremos filtrar pelo Incidente e o valor para o Requisitante no incidente. - Selecione a tecla da opção Todos, e então clique em OK.
O Designer de filtro aparece; isso é muito semelhante ao padrão Designer de consulta e relatório. - Adicione os atributos que você deseja exibir na lista, em seguida, clique em Avançar.
A página de Critério será exibida. Se não definir quaisquer critérios, o filtro irá exibir TODAS as notas no módulo de Gerenciamento de Incidentes. - Na árvore de Atributos, arraste o atributo para o primeiro critério de filtro sobre a lista de Critérios atuais.
Primeiro, queremos mostrar apenas aquelas notas ligadas ao incidente exibido, então arraste o relacionamento de Incidente () sobre a lista de Critérios Atuais.
A caixa de diálogo Critérios será exibida. Queremos usar o incidente atual, por isso temos de especificar um valor de tempo de execução, não um valor absoluto. - Clique em Especifica um valor de tempo de execução.
A caixa de diálogo Critérios atualiza.
Lembre-se que os valores disponíveis a partir deste diálogo baseiam-se no Gerenciamento de incidentes\Incidente – que é o valor que desejamos filtrar por, por isso não é necessário fazer uma seleção. Queremos filtrar pelo valor de nível superior: Incidente.
- Clique em OK.
Os Critérios Atuais listam atualizações para mostrar Incidente é igual a (Incidente). Ou seja, incidente sobre a nota corresponde o Incidente exibido na janela. - Na árvore de Atributos, arraste o seguinte atributo no qual você deseja basear os critérios sobre a lista de Critérios atuais.
Em nosso exemplo, queremos usar o atributo Requisitante .
A caixa de diálogo Critérios será exibida.
Observe que a caixa de diálogo de Critérios é diferente da anterior, porque você está filtrando um atributo sobre o Incidente, em vez de Incidente próprio.
- No grupo Valor de Comparação, selecione Especificar valor de tempo de execução.
O controle de Valor muda de uma caixa de lista que permite que você especifique um valor absoluto, a uma árvore que permite que você especifique um valor que será determinado em tempo de execução. Os valores disponíveis nesta árvore são retirados do objeto que você selecionou no Filtrar por grupo na caixa de diálogo Novo filtro. - Na árvore de Valor, selecione o atributo que você deseja usar o valor de tempo de execução de para corresponder com a condição de filtro, em seguida, clique em OK.
Em nosso exemplo, queremos usar o atributo Requisitante .
A lista de critérios atuais atualiza. - Clique em
, depois clique em Concluir.
Em nosso exemplo, os critérios de filtro leia Incidente é igual a (Incidente) e Requisitante É igual a ( Requisitante ). Porque o filtro foi baseado em Gerenciamento de Incidente\Nota, mas filtrado por Gerenciamento de Incidente\Incidente, estes critérios são verdadeiros quando o Incidente na Nota corresponde o Incidente exibido na janela e quando o Requisitante na Nota corresponde o Requisitante no Incidente atual.
Adicionar este filtro a uma janela de Incidente usando o controle de Consulta (consulte Adicionar consultas a uma janela) cria um guia sob a janela que lista todas as notas anexadas ao incidente que têm o mesmo valor do Requisitante como o incidente.