Olá, meu
nome é Fabricio De los Santos, respiro GeneXus a mais de 17 anos.
Tenho
trabalhado com a ferramenta desde as primeiras versões em DOS e posterior a
isso, acredito que passei por todas elas.
Quero
compartilhar com você algumas informações, dicas e também falar do futuro desta
maravilhosa ferramenta e seus produtos relacionados.
Todos
conhecemos as vantagens de GeneXus e as prestigiosas aplicações que podemos
desenvolver com ele. A produtividade é enorme e os sistemas uniformes que
obtemos são um produto de excelente qualidade.
Sim existe.
O GeneXus permite interagir com ferramentas externas para automatizar o desenvolvimento
dentro de GeneXus, e qual é a melhor?
Bem,
existem várias ferramentas, mas eu não vou entrar em comparações, vamos colocar
a mão na massa e vou te mostrar o que K2BTools
(a ferramenta que escolhi para desenvolver nossas aplicações) pode te oferecer.
K2BTools
não é uma ferramenta de patterns, é muito mais que isso, mas... vamos deixar os
mistérios e ir direto aos fatos.
Este post é
o primeiro de uma serie de posts, onde vou te mostrar como vamos construindo
uma de nossas aplicações estrela o “dELFAPRO”.
Este
sistema é aquele de necessidade básica para toda empresa que precisa gerenciar
projetos, então fica fácil saber do que estamos falando, na hora de seguir os
posts como tutoriais.
Então vamos
lá!
Criando
a KB em GeneXus Evolution 2 RC
Sim,
K2BTools já funciona com a RC de GeneXus Evolution 2. Build 10.2.4.54154
Já estás
vendo um diferencial!!
Criamos a
nova Knowledge Base como o fazíamos na Evolution 1
Criamos
nossas primeiras transações
Organization
Representa
todas as organizações. Por exemplo: empresas clientes
OrganizationArea
Representa
as distintas áreas das organizações. Por exemplo: Comercial, Administrativa,
etc.
OrganizationContact
Representa
os contatos de cada organização. Por exemplo: João Batista, etc.
Aplicando
K2BTools
Com as
transações criadas agora podemos começar a aplicar os patterns de K2BTools
Para isto
abrimos as transações (primeiro, Organization) e clicamos na aba de baixo
“Patterns” e logo clicamos na aba de cima “Entity Services” e marcamos a caixa
de “checkbox” como mostra a seguinte imagem.
Porque
abrimos primeiro a transação Organization?
Hierarquicamente,
é a tabela que contem áreas e contatos, vemos isso no diagrama de tabela que o
GeneXus nos fornece.
Neste post
vamos ver o “Entity Services” e “Trn Form” da transação “Organization” mas fica
tranqüilo, que vamos tentar chegar a todas as pontas.
Analisando
a Estrutura da árvore de Instancia de Patterns Entity Services de K2BTools
Vamos a
analisar a primeira seção da árvore
Depois de
nodo raiz Entity Services Patterns Instance aparece o nodo principal que
origina nossa instancia de patterns que é a transação Organization.
Com a
prática na ferramenta, você começara a enxergar facilmente como vai ficar a cara de sua tela e
todas as relacionadas com a transação que está aplicando o pattern.
WorkWith
Aqui o nodo
está representando que as chamadas possíveis para a transação Organization dependerão
das propriedades gerais configuradas nas preferences de trabalho com o Pattern
Entity Services (veja imagem seguinte)
Isso para
as chamadas que sejam para inserir, alterar ou apagar um registro.
Também aqui
se define se existirá um ícone para mostrar a informação, exportar a Excel ou
gerar um relatório em pdf.
Attributes
Indica
quais serão os atributos que compõem a grid
Orders
Quais são
as possíveis formas de ordenar os dados na tela.
Quando
existe só uma ordem definida os patterns K2Btools desenham a tela para que os
dados apareçam nessa ordem. Quando definimos a possibilidade de mais de uma
ordem, o código gerado cria um combo Box para que o usuário possa escolher a
ordem que quer ver os dados no momento de execução.
Meu
conselho. Defina índices de usuário se é necessário para que o sistema não
tenha sua performance afetada.
Filters
São os
atributos pelos quais queremos que o usuário possa filtrar os dados exibidos em
tela
EntityManager
Representa
a informação que o sistema vai mostrar de um determinado registro.
Ele está
composto por Fixed Data e Components
No nodo
Fixed Data teremos os elementos que sempre vamos querer ver quando seja
solicitado a visualização de um registro
O nodo
components terá uma aba para mais dados e objetos do registro selecionado e
outras abas com dados a transações relacionadas com a transação Organization.
Nos
próximos posts, entraremos mais em detalhe destes componentes.
O que quero
mostrar agora é que logo de salvar já podemos ver que K2BTools tem gerado
objetos novos na Base de Conhecimento para poder trabalhar com os registros de
Organization
Vemos aqui
o form do novo objeto WWOrganization, onde facilmente apreciamos os modos
habilitados para inserção de dados, gerar reporte pdf e exportar a Excel, acima
a direita. Os modos para update, delete e display no grid a esquerda e os
filtros acima.
Não
recomendo mudar o form gerado pelo K2BTools patterns e aconselho sempre
trabalhar na instancia quando queira fazer alterações de visual ou no objeto, como
condições, etc.
Agora
devemos aplicar o Patterns Trn Form de K2BTools para que a ferramenta desenhe a
tela para poder manipular um registro determinado da transação Organization.
Fazemos
igual que fizemos para aplicar o Entity Services. Abrimos a transação clicamos
abaixo na aba “Patterns” depois acima na aba “Trn Form”, e clicamos no checkbox
“Apply Pattern to save” como mostra a seguinte imagem.
Eu apaguei
o atributo OrganizationId para não aparecer na tela, porque ele é autonumber
dessa forma podemos ver como o GeneXus tinha deixado a tela inicialmente e como
o K2BTools me apresenta a solução.
Bem, agora vamos fazer a mágica do F5 para ver as
nossas primeiras telas.
Eu tenho um
banco de dados MYSQL configurado para criar as tabelas desta aplicação.
O browser
me abre com as seguintes opções.
Vamos
trabalhar com as “Organizações”
K2BTools me
apresenta um menu com a opção de “Organizações”
e quando queremos inserir um registro basta com clicar no ícone de
inserir.
Finalmente
o resultado
No próximo
post continuamos construindo esta aplicação e começaremos a explorar mais
profundamente todas as funcionalidades de K2BTools.
Até a
próxima.
Fabricio De los Santos
Agente
Oficial K2BTools