Vamos entender como o RadCORE realiza as tarefas:


1. Preparar os SELECTs sqlMaster e sqlSearchMaster


Todo form de cadastro precisa de um SELECT contendo as informações que serão manipuladas. 


Alguns podem ter 2, 3...5 ou vários campos. 


O RadCORE traz um conceito de CORINGAS [[aaaa]] para tentar agilizar a construção dessas querys.


O coringa [[fields]] será substituído em tempo de execução pelo DATAFIELD de cada componente DBWARE presente no formulário da tabela vinculada ao dsMaster. 


Ex: 

Se vc tem 3 campos no seu formulário( id, name, total ), [[fields]] será substituído por esses 3 campos.

Se você precisar que o select recebe campos adicionais que não estejam no formulário, você pode adicionar normalmente adicionando vírgula após o [[fields]] e assim por diante ou criar no formulário "hidden fields"( Ex: frmCadCLIENTES, componente "edHiddenCompanyID" )


Nota: quando um componente estiver sem o DATASOURCE preenchido, o radcore vinculará por padrão ao "dsMaster".


Já dá pra perceber, que se você tiver 100 campos, vc não precisará digitar nenhum, todos serão adicionados dinamicamente. 


O coringa [[table]] será substituído pelo nome da tabela vinculada a esse formulário. 


Esta informação vem lá da configuração do ítem no menu. 


Veja que, para evitar erros, o alias tab é adicionado a tabela principal do SELECT.


O coringa [[pk]] será substituído pelo campo PRIMARY KEY da tabela. Este processo é compatível com vários DBMS.

Por padrão, a chave primária não será exibida no grid de pesquisa. Para que ela seja exibida use [[pk-show]]


O parâmetro ":table_pk" será usado para filtrar apenas o registro selecionado na aba PESQUISA.


O coringa [grid] apenas é usado como delimitador. 


Para aproveitar linhas de código, inserimos 2 querys em uma. 


O Select ANTES de [grid] é usado para o sqlMaster e após será usado para o sqlSearchMaster


O coringa [[allpks]] foi usado nesse exemplo por quê estamos usando aliases. ( [[pk]] as "CÓDIGO" )

Não é necessário usar [[allpks]] se vc não criou um ALIAS diferente do nome original da sua PK.


A aplicação desse coringa será usada em forms herdados de frmBaseCRUDDetail onde não é necessário exibir no grid a PK( código mestre ) mas é necessário montar o select com ela. 


Tudo é feito dinamicamente. Um estudo detalhado desse processo é muito indicado.


Finalmente, esse modo de gerar os SELECTs tem a vantagem de ser reaproveitado pra praticamente todas as telas que você criar. 


Necessário apenas inserir campos extras quando necessário, mas a maior parte do trabalho, está definida.


Analise o código de outras telas do RadCORE e veja as diferenças. Execute, debug pra compreender melhor.


2. Exclusão Lógica de Registro


Se em sua aplicação você desejar que os registros não sejam excluídos fisicamente basta preencher o indicador abaixo com o nome do campo que você usa para controlar isso.


ed_Table_Deleted_Field.Text := ''; 


Ex: ed_Table_Deleted_Field.Text := 'deleted';


Nota: 

Observe que você poderá inserir a definição acima como parte do "filtro" que veremos logo abaixo.


3. Filtro Específico , Agrupamento e/ou Ordenação


Quando precisar filtrar os dados da tela atual ( por exemplo, só os registros da empresa atual - veja o frmCadCLIENTES ) você adiciona a informação:


ed_Where_Search.Text := '' ; // SEM A Cláusula WHERE


Quando precisar agrupar alguma informação na pesquisa padrão no grid, defina o campo:


ed_Groupby_Search.Text := ''; // SEM A Cláusula GROUP BY

ed_Having_Search.Text := ''; // SEM A Cláusula HAVING


Quando precisar ordenar a pesquisa padrão no grid, defina o campo:


ed_Order_Search.Text := ''; // SEM A Cláusula ORDER BY


4. Definição de atributos dinâmicos para o Grid de Pesquisa padrão

Você pode configurar os atributos das colunas GRID de pesquisa (consulte frmCadCLIENTES)


5. Filtro por Data

Quando a tela atual precisar ser filtrada por intervalo de datas descomente essa linha e adicione as informações necessárias.( veja o frmCadCLIENTES )


6. inherited

Nesse ponto será executado o evento FrameCreate do frmBaseCRUD passando para ele todo conteúdo acima que será processado. Estude o código.


7. Campos para Filtro

Adicione os campos que deseja que sejam exibidos na aba PESQUISA.


8. Campos para Filtro Secundário

Adicione os campos que deseja que sejam exibidos na aba PESQUISA.


9. Código Particular

Adicione aqui sua codificação específica para a tela atual, quando for preciso alguma regra de negócio específica.






Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents