Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

A partir de informações cadastradas em uma base de dados local, o RMSFiltro monta uma lista de parâmetros, permitindo ao usuário informar seus valores. Cada parâmetro pode ter sua própria rotina de validação, que é efetuada assim que o usuário termina de informar o valor.
Existem parâmetros que são comuns em várias partes do sistema, como por exemplo código de filial, código de seção, código de fornecedor, etc., para diminuir o trabalho de cadastro e aumentar a reutilização das validações, foram criados os conceitos de "Classes de Parâmetros" e "Grupos de Parâmetros".
Uma classe controla todo o comportamento do parâmetro, ou seja, o tipo de dado, a visualização, a validação, etc., enquanto o agrupamento, controla a utilização do parâmetro dentro do contexto de uma consulta específica. Explicando melhor, o agrupamento determina dados como: nome físico, se permite múltiplos valores, se permite seleção geral, entre outros.
Cada parâmetro pode, também, ser apresentado na forma de uma lista de valores (combobox) para seleção do usuário. O conteúdo desta lista pode ser fixado no cadastro do parâmetro, ou obtido através de uma classe de controle.
Ao final da digitação dos parâmetros, o programa chamador recebe uma lista com os valores informados ou, opcionalmente, uma string contendo critérios de seleção no formato SQL.

...

Conceito

O RMSHelp foi desenvolvido para dar ao usuário uma interface única de digitação de parâmetros, sejam eles para relatórios ou processos.

...

Parametrização

 

...

Cadastro dos Parâmetros

Cadastro de Classes de Parâmetros (cls_param)

...


Vale ressaltar, que a classe de parâmetro existe para promover o re-aproveitamento de seu comportamento. Neste caso, antes de cadastrar uma nova classe, deve-se verificar se já existe alguma que possa ser re-utilizada.

...

...

Chamar o Filtro

Dim objFiltroAs IObjetoFiltro
Dim varRetorno As Variant
Set objFiltro = CreateObject("RMSFiltro.cFiltro")
varRetorno = objFiltro.MostrarFiltro(Me, 1)
Set objFiltro = NothingApós ter sido cadastrado, o filtro pode ser invocado via código como abaixo, lembrando de adicionar referência ao componente "IFILTRO".
Leia o próximo tópico para obter mais informações técnicas sobre o funcionamento do componente.

...

...

Descrição do processo

 

...

Informações Técnicas

Este componente foi desenvolvido em conjunto com três interfaces :
IObjetoFiltro- Implementada pelo componente, é utilizada para a inicialização do filtro.
IChamadorFiltro- Permite ao programa chamador interferir na validação e formatação dos valores digitados
IControleFiltro- Permite a criação de componentes responsáveis por controlar o comportamento das classes de parâmetros
A interface IObjetoFiltro deve ser utilizada conforme mostrado no tópico "Chamar o Filtro".
Para utilizar a interface IChamadorFiltro, adicione o comando "Implements IChamadorFiltro" no início do código da sua janela e veja a referência dos métodos disponíveis neste manual. Os métodos serão chamados pelo RMSFiltro quando forem necessários.
Para utilizar a interface IControleFiltro, crie uma nova classe e e adicione o comando "Implements IControleFiltro" no início do código e veja a referência dos métodos disponíveis neste manual. Informe corretamente o nome da classe criada no campo "nm_dll_ctrl" na tabela "cls_param". Os métodos serão chamados pelo RMSFiltro quando forem necessários.

...

Referência I ObjetoFiltro

Métodos
MostrarFiltro
Inicia a tela de filtro e retorna lista dos parâmetros digitados.
Sintaxe:strDados = objFiltro.MostrarFiltro(Chamador, Codigo)
Chamador:(Object) Referência do objeto que está chamando o filtro. Somente necessário quando o chamador implementa a interface IChamadorFiltro.
Codigo:(Long)Código de um agrupamento de parâmetros cadastrado.
(Retorno):(String) Lista dos parâmetros digitados separados por "pipes" ("|"). Quando o parâmetro permite múltiplos valores, cada valor dentro do parâmetro aparece separado por "#".

...

...

Propriedades

CriterioSelecao
Retorna string com lista de critérios no formato SQL
Sintaxe:strDados = objFiltro.CriterioSelecao()
(Retorno):(String) Lista de critérios no formato SQL
Conteudo
Retorna o valor atual de qualquer parâmetro dentro do filtro. Geralmente utilizado dentro dos componentes de controle
Sintaxe:varDados = objFiltro.Conteudo(Rotulo)
Rotulo:(String) Rótulo do parâmetro desejado. É considerado o rótulo que está cadastrado no banco, uma vez que a janela pode estar traduzida em outro idioma.
(Retorno):(Variant) Valor atual do parâmetro.

...

...

Referência I ChamadorFiltro

Métodos
ValidarParametro
Permite ao programa chamador interferir no processo de validação de um parâmetro. Este método é chamado, como um evento, após a validação pelo componente de controle. Seu funcionamento é semelhante ao evento "Validate"
Sintaxe:ValidarParametro(Rotulo, Valor, Cancelar, Mostrar)
Rotulo:(String) Rótulo do parâmetro desejado. É considerado o rótulo que está cadastrado no banco, uma vez que a janela pode estar traduzida em outro idioma.
Valor :(Variant) Valor informado pelo usuário
Cancelar:(Boolean) Diz ao RMSFiltro para cancelar a edição do parâmetro
Mostrar:(Variant) O valor que será mostrado na tela, caso o parâmetro tenha sido validado.
FormatarParametro
Permite ao programa chamador formatar o conteúdo do parâmetro na tela.
Sintaxe:FormatarParametro(Rotulo, Valor, Mostrar)
Rotulo:(String) Rótulo do parâmetro desejado. É considerado o rótulo que está cadastrado no banco, uma vez que a janela pode estar traduzida em outro idioma.
Valor :(Variant) Valor informado pelo usuário
Mostrar:(Variant) O valor que será mostrado na tela.

...

Referência I ControleFiltro

Métodos
ValidarParametro
Responsável pelo processo de validação de um parâmetro. Este método é chamado, como um evento, após a digitação do usuário. Seu funcionamento é semelhante ao evento "Validate"
Sintaxe:ValidarParametro(Rotulo, Valor, Cancelar, Mostrar)
Rotulo:(String) Rótulo do parâmetro desejado. É considerado o rótulo que está cadastrado no banco, uma vez que a janela pode estar traduzida em outro idioma.
Valor :(Variant) Valor informado pelo usuário
Cancelar:(Boolean) Diz ao RMSFiltro para cancelar a edição do parâmetro
Mostrar:(Variant) O valor que será mostrado na tela, caso o parâmetro tenha sido validado.

Propriedades
Chamador
Somente gravação. É invocada para fornecer a referência do RMSFiltro atualmente ativo.
Sintaxe:Chamador(objFiltro)
objFiltro:(IObjetoFiltro) Referência do RMSFiltro ativo.

ValorPadrao
Somente leitura. É invocada para requisitar o valor padrão para a classe.
Sintaxe:ValorPadrao(Classe)
Classe:(String) Nome da classe sendo tratada pelo RMSFiltro.
(Retorno):(String) Valor padrão no formato "#valor;descricao"

AjudaContexto
Somente leitura. É invocada para requisitar ajuda de contexto para o parâmetro.
Ainda não implementado.

ListaValores
Somente leitura. É invocada para requisitar a lista de valores válidos para o parâmetro.
Sintaxe:ListaValores (Classe)
Classe:(String) Nome da classe sendo tratada pelo RMSFiltro.
(Retorno):(String) Lista de valores no formato
"#valor1;descricao1|#valor2;descricao2"