Escolar Documentos
Profissional Documentos
Cultura Documentos
Julho 2008
GeneXus X: Quick Start
Todos os direitos reservados. Fica totalmente proibida a reprodução deste documento, por qualquer meio, sem
autorização expressa da Artech Consultores SRL. A informação contida neste documento é exclusivamente para
uso pessoal.
Marcas Registradas
Artech e Genexus são marcas ou marcas registradas da Artech Consultores SRL. Todas as outras marcas citadas
neste trabalho pertencem a seus respectivos donos.
Página 1
GeneXus X: Quick Start
Introdução .............................................................................................................................................. 3
GeneXus Trial Version ............................................................................................................................. 3
Restrições Funcionais .............................................................................................................................. 3
Restrições de Licença .............................................................................................................................. 3
License Agreement ................................................................................................................................. 3
Suporte Técnico...................................................................................................................................... 4
Instalação e Autorização ......................................................................................................................... 4
Requerimentos de Instalação ................................................................................................................... 4
Requerimentos do Gerador .NET ............................................................................................................... 5
Autorização ............................................................................................................................................ 6
PRIMEIROS PASSOS: Tutorial passo a passo ........................................................................................... 8
Simbologia utilizada ................................................................................................................................ 8
PARTE 1: Descobrindo o GeneXus ........................................................................................................... 9
O que é o GeneXus? ................................................................................................................................ 9
PARTE 2: Sua primeira aplicação ........................................................................................................... 10
Desenho de aplicações baseado no conhecimento ..................................................................................... 10
Passo 0: Caso de estudo .................................................................................................................... 10
Passo 1: Entorno de desenvolvimento .................................................................................................. 11
Passo 2: Criação de uma Base de Conhecimento e definição do Environment ............................................ 11
Passo 3: Criação de um Objeto Transação ............................................................................................ 13
Passo 4: Descrição da Estrutura da Transação (Structure) ...................................................................... 14
Passo 5: Definição do Campos Calculados Fórmulas ........................................................................... 18
Passo 6: Visualização do Modelo de Dados inferido pelo GeneXus ............................................................ 19
Passo 7: Visualização dos Formulários do Objeto Transação.................................................................... 21
Passo 8: Execução de sua Aplicação .................................................................................................... 23
Passo 9: Teste de sua Aplicação .......................................................................................................... 25
Passo 10: Adicionar Regras do Negócio Regras .................................................................................. 26
Passo 11: Criação do Objeto Transação Cliente ..................................................................................... 28
Passo 12: Revisão das Mudanças efetuadas ao Modelo de Dados ............................................................. 30
Passo 13: Visualização do Reporte de Especificação ............................................................................... 32
Passo 14: Criação dos Formulários Atraentes Temas .......................................................................... 34
PARTE 3: Manutenção ........................................................................................................................... 35
Desenvolvimento Incremental e Manutenção da Aplicação ......................................................................... 35
Passo 15: Inclusão de Novos Objetos: Transação Produto ...................................................................... 35
Passo 16: Análise e reorganização da BD ............................................................................................. 37
PARTE 4: Adicionando funcionalidade ................................................................................................... 39
Utilização de Padrões no desenvolvimento ............................................................................................... 39
Passo 17: Aplicar um pattern .............................................................................................................. 39
PARTE 5: Diálogos interativos ............................................................................................................... 41
Desenho de Consultas e Diálogos Interativos (Web Panels) ........................................................................ 41
Passo 18: Criação de um Web Panel: Nota fiscal por cliente. ................................................................... 41
Passo 19: Execução do Web Panel modificando a instância do Pattern ..................................................... 44
PARTE 6: Enriquecendo a aplicação ....................................................................................................... 46
Controles de usuários ............................................................................................................................ 46
Passo 20: Implementação de um User Control ...................................................................................... 46
PARTE 7: Procedimentos ....................................................................................................................... 49
Desenho de Processos Não Interativos (Procedimentos) ............................................................................ 49
Passo 22: Implementação de um Procedimento para impressão .............................................................. 50
Passo 23: Implementação de um Procedimento para atualização............................................................. 54
PARTE 8: Multiplataforma ..................................................................................................................... 56
Desenvolvimento Multiplataforma ........................................................................................................... 56
Resumo ................................................................................................................................................. 57
FAQ ....................................................................................................................................................... 58
Contatos e Recursos .............................................................................................................................. 61
A Comunidade GeneXus ........................................................................................................................ 61
Suporte ............................................................................................................................................... 61
Como Comprar ..................................................................................................................................... 61
Links recomendados.............................................................................................................................. 61
Página 2
GeneXus X: Quick Start
Introdução
O objetivo deste documento é ajudá-lo a descobrir o potencial da metodologia de desenvolvimento
baseada no conhecimento proposta pelo GeneXus através de suas principais funcionalidades:
• 90 atributos
• 140 objetos.
Restrições de Licença
A GeneXus Trial Version destina-se exclusivamente para avaliação e capacitação. Sua instalação é
local e para um único usuário.
License Agreement
Condições de Uso da Licença de Propriedade Intelectual GeneXus X Trial Version
1. O presente acordo se refere à licença da propriedade intelectual de exemplares da GeneXus X Trial Version,
criação inteligente baseada em conhecimento, que desenha, gera e mantém automaticamente bases de dados e
aplicações.
2. Artech Consultores S.R.L. (doravante Artech) declara e o USUÁRIO reconhece que a criação intelectual
GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como
qualquer outra marca comercial (trademark) que introduzir a Artech em conexão com o GeneXus,
independentemente do fato de estarem registrados ou não, são propriedade da Artech. Este convênio não implica
direta nem indiretamente transferência alguma dessa propriedade e não habilita o USUÁRIO a transferir as
licenças objeto do presente documento.
3. O USUÁRIO compromete-se a utilizar a GeneXus X Trial Version sem divulgar nem usar em proveito próprio
nenhuma das idéias e técnicas que fazem possível GeneXus. Em particular, obriga-se a não usar procedimentos de
engenharia inversa para interpretar seu código, nem a facilitar a outrem a fazê-lo.
4. Em hipótese nenhuma o USUÁRIO poderá duplicar ou desativar os mecanismos de proteção contra uso não
autorizado do GeneXus. A Artech reserva-se o direito de mudar a qualquer momento estes mecanismos e/ou
adicionar outros novos.
5. Observando as bases gerais, a Artech licencia ao USUÁRIO a ferramenta GeneXus X Trial Version, nos
seguintes termos e condições:
Página 3
GeneXus X: Quick Start
a) Cada exemplar licenciado poderá funcionar em um microcomputador por separado. O USUÁRIO compromete-
se a não utilizar nenhum deles em mais de um microcomputador simultaneamente.
b) A licença é não exclusiva e intransferível. Os programas gerados pela GeneXus X Trial Version não poderão
ser utilizados com fins comerciais.
c) O USUÁRIO utilizará os programas e documentação do GeneXus para seu uso exclusivo, com fins de
avaliação exclusivamente e comprometendo-se a não entregar cópias de nenhum deles a terceiros.
d) Não existe responsabilidade alguma, implícita ou explícita, para a Artech, sobre eventuais prejuízos que
puderem resultar para usuários em relação, direta ou indireta, com o uso da GeneXus X Trial Version.
e) O USUÁRIO compromete-se a utilizar a licença, seguindo as instruções e especificações constantes do
material associado ao mesmo.
f) É proibido qualquer uso comercial da GeneXus X Trial Version, em forma parcial ou completa. Para
desenvolver esse tipo de aplicações, deverá contratar a versão comercializável.
g) A versão GeneXus X Trial será ativada por 60 dias. Inclui unicamente o gerador .NET e suporta SQL como
base de dados. Permite criar um máximo de 90 atributos e 140 objetos.
6. A instalação do produto de software licenciado implica a aceitação dos termos que antecedem.
Suporte Técnico
Se precisar ajuda para a instalação e autorização de sua versão trial, entre em contato com:
gxtrial@genexus.com
Para saber mais sobre os diversos serviços e recursos de suporte técnico e capacitação do GeneXus
visite: http://www.genexus.com/support e http://www.genexus.com/training
Instalação e Autorização
Requerimentos de Instalação
A GeneXus Trial Version inclui os seguintes produtos:
• Modelador GeneXus
É um ambiente integrado de desenvolvimento (Integrated Development Environment ou IDE) para
o desenho, desenvolvimento, e manutenção de aplicações de negócios, independentemente da
plataforma de produção utilizada.
• Geradores GeneXus
GeneXus gera código nativo para as principais plataformas do mercado. Para conhecer a lista
completa dos Geradores GeneXus visite: http://www.genexus.com/technologies. O gerador
disponível na GeneXus Trial Version é o Gerador .NET.
Página 4
GeneXus X: Quick Start
A seguir encontrará a lista do hardware e software necessário para executar GeneXus e as aplicações
geradas pelo GeneXus.
Gerador Requerimentos
Para criar a base de dados de sua aplicação e executar as aplicações geradas, requererá um dos
seguintes DBMS:
Página 5
GeneXus X: Quick Start
Autorização
1. Execute o arquivo de setup da GeneXus Trial Version (genexusxtrial.exe) do menu de Início do
Windows ou selecionando a opção apropriada no CD de sua Versão Trial.
Página 6
GeneXus X: Quick Start
4. Complete os campos solicitados: Nome, email e país são obrigatórios enquanto que Companhia e
Telefone são opcionais.
5. Em caso de ter requerido a opção Online e de ter ingressado os dados corretamente, a GeneXus
X Trial Version irá se ativar em forma imediata por um período de 60 dias.
6. Se tiver escolhido a opção By Mail, GeneXus pedirá inserir Nome e país em forma obrigatória. Os
campos Telefone e Companhia são opcionais. Deverá confirmar os dados inseridos. Se os mesmos
forem corretos pressione CONTINUAR. Se desejar modificar os valores inseridos pressione
ANTERIOR. Esta ativação exige ter o Outlook configurado como email padrão. O administrador de
licenças gerará um mail com o Site Code correspondente. Você receberá seu Site Key via mail.
7. Se o Outlook não for seu email padrão, pode solicitar ativação Manual, enviando de qualquer
email os dados gerados pelo ativador de licenças. O Site Key de ativação será enviada ao mesmo
email. Copie e cole seu Site Key no campo de Site Key da janela Authorization Required e clique
em Continuar.
8. Você já está preparado para começar a usar sua GeneXus Trial Version!
Página 7
GeneXus X: Quick Start
Neste exercício passo a passo você criará uma aplicação de negócios simples para instalar em uma
das plataformas suportadas pela GeneXus Trial Version: .NET. Para conhecer a lista completa de
plataformas suportadas pelo GeneXus visite: http://www.genexus.com/technologies/
À medida que for trabalhando com este guia, usará as funcionalidades chaves do GeneXus:
Simbologia utilizada
Este símbolo introduz um TIP. Recomendamos ler o que este dentro do quadro.
Página 8
GeneXus X: Quick Start
O que é o GeneXus?
Basicamente, o GeneXus é um programa que faz programas.
É uma ferramenta que parte das visões de usuários, e a partir daí encapsula o conhecimento no que
chamaremos Base de Conhecimento. GeneXus sistematiza esse conhecimento, e daí automatiza o
desenho, construção e manutenção da BD e dos programas.
Página 9
GeneXus X: Quick Start
Durante este tutorial, conseguirá descrever a realidade apresentada no GeneXus para gerar um caso
tipo de sistema de faturamento em uma plataforma Web utilizando o Gerador .NET e BD SQL.
Página 10
GeneXus X: Quick Start
Divide-se em janelas:
Janela principal: Está composta pela Start Page ou Página de Início a qual, através de um
RSS em forma dinâmica, oferece informação técnica relacionada com a ferramenta e a
comunidade de usuários. Para obter esta informação é necessário estar conectado. Se sua
equipe estiver desligada da Internet não poderá acessar as novidades publicadas no
GeneXus Community.
Janela de ferramentas
Barras de ferramentas
Página 11
GeneXus X: Quick Start
Environment
Para gerar e manter uma aplicação de trabalho em uma plataforma de software
específica, devemos definir um Environment. Um Environment integra todo o
relacionado à plataforma de execução (Gerador, acesso a BD, interface de usuário e
! outras propriedades da plataforma). Para isto, especificamos um DBMS, uma linguagem
alvo e alguns parâmetros adicionais por cada Environment. GeneXus gerará e manterá o
esquema da base de dados e todos os programas na plataforma selecionada. Desta
maneira, o analista do GeneXus não precisa ter um conhecimento profundo da
plataforma alvo.
Se for a primeira vez que abre a GeneXus Trial e não executou previamente em sua equipe uma
versão comercial do produto, GeneXus lhe indicará que procederá a executar a criação de uma base
de conhecimento em forma automática. A primeira vez que abrir a versão trial automaticamente irá se
criar uma Base de Conhecimentos em um ambiente em .NET com o SQL.
4. Selecionar a linguagem a
gerar.
Página 12
GeneXus X: Quick Start
Objeto Transação
Representa os objetos da realidade que dirige sua aplicação. Das transações definidas
! infere-se o modelo de dados da aplicação (3ª. forma normal). GeneXus também usa o
objeto transação para gerar o programa da aplicação que permitirá ao usuário final, em
forma interativa, inserir, apagar e atualizar registros na base de dados física.
O seguinte passo, uma vez criada a base de conhecimento será criar a primeira transação, que
representa uma nota fiscal. Para isso siga os seguintes passos:
2. Selecione o tipo de
objeto que deseja criar:
Transaction
3. Dê nome ao Objeto:
Invoice.
4. Clique em CREATE.
Página 13
GeneXus X: Quick Start
! •
e descrição.
Níveis: Os atributos agrupam-se em um ou mais níveis, e estes níveis podem
ser aninhados ou paralelos (pode haver múltiplos níveis aninhados). Por
exemplo: as linhas de uma nota fiscal representam um nível aninhado em nível
de raiz. O nível das linhas da nota fiscal demonstra o fato de que uma nota fiscal
pode ter muitas linhas, ou seja, define uma relação de uma a muitas entre a
nota fiscal e as linhas da nota fiscal.
• Atributos de Chave Primária (PK): Em cada nível, um ou mais atributos
devem ser definidos como a Chave Primária do nível.
o A Chave Primária é um identificador de cada instância do nível.
o Os valores da Chave Primária são únicos e uma vez inseridos não podem ser
atualizados.
o Se não existir uma Chave Primária “natural” para seu objeto, deve criar uma
“artificial”; por exemplo, CustomerID.
1. Insira o nome, tipo de dado e descrição dos atributos na aba Structure da transação Invoice, como
indicado na tabela a seguir. Use a tecla TAB para mover-se entre o nome, o tipo de dado e a
descrição do atributo. Use a tecla ENTER para adicionar um novo atributo.
Até aqui inserimos os campos do cabeçalho da nota fiscal. Agora iremos inserir
as linhas. Para isso, pressione CTRL + Seta Direita para adicionar um Novo nível
à estrutura de dados
Página 14
GeneXus X: Quick Start
Pressione ENTER e depois CTRL + Seta Esquerda para voltar para o nível do
cabeçalho e começar os dados do rodapé.
Use “CamelCase” para nomear seus atributos, de forma tal que as descrições dos
mesmos se infiram automaticamente e façam sentido. Ex.: Pôr “InvoiceTotal”
como nome de atributo, para que se infira automaticamente a descrição “Invoice
Total”.
Quando estiver posicionado no combo box de tipo de dados (Type), escreva a
letra inicial do tipo de dados apropriado para selecioná-lo. Se for um tipo de dado
variável (Character, LongVarChar, Numeric ou VarChar), insira o valor apropriado
da dimensão de variável para configurá-lo.
O primeiro atributo de cada nível é definido por defeito como chave primária desse nível, mas é
possível mudar isto clicando direito sobre o atributo e escolhendo a opção Toggle Key (Ctrl+K). Os
atributos de Chave Primária se identificam por uma pequena chave à esquerda de seus nomes
( ). Neste exemplo, InvoiceID é o identificador de primeiro nível, e o atributo ProductID é o
identificador de segundo nível. Isto significa que, para um número de notas fiscal dado
(InvoiceID), o valor do atributo ProductID não se repetirá em linhas diferentes.
Página 15
GeneXus X: Quick Start
! mesmo nome são o mesmo atributo. Isto se chama Universal Relationship Assumption
(URA) e, conforme essa hipótese:
• Tudo o que for conceitualmente igual deve ter o mesmo nome.
• Os conceitos diferentes NÃO devem ter o mesmo nome.
Página 16
GeneXus X: Quick Start
Isto nos permitirá usar o mesmo atributo em outros objetos GeneXus (outras
transações, procedimentos, reportes, etc.) simplesmente fazendo referência a seu nome.
GeneXus estabelece as relações (chaves forâneas) entre as tabelas do modelo de dados
com base nos nomes dos atributos.
• Objeto: É a entidade real descrita pelo atributo. Geralmente (mas nem sempre) é o
! nome da transação na qual um atributo foi definido para poder ser armazenado em
uma das tabelas associadas a essa transação (isto significa que não deveria inferir-
se nessa transação específica). Exemplos: Nota Fiscal, Cliente, Produto, Linha.
• Categoria: É a categoria semântica do atributo. Define o papel que o atributo terá
dentro do objeto e no ambiente da transação. Exemplos: Identificação, Data, Nota
Fiscal, Descrição, etc.
• O Qualificador e o Complemento são componentes opcionais. Exemplos: Início, Fim,
Mínimo, Máximo, etc.
Página 17
GeneXus X: Quick Start
Fórmulas
São atributos que podem se inferir do valor de outros atributos. Um atributo fórmula é
definido da mesma forma que um atributo “normal”, ou seja, tem um nome, um tipo de
dados e uma descrição, além de uma fórmula que define como se calcula.
! •
armazenados na base de dados (são atributos virtuais).
As fórmulas são globais; são válidas em toda a base de conhecimento e não
apenas dentro da transação na qual foram definidas. Isto significa que a fórmula
é calculada cada vez que o atributo é invocado de uma transação ou de outros
objetos GeneXus (Reportes, Work Panels, etc.)
• Variáveis Definidas pelo Usuário. Não podem participar de uma fórmula
porque são locais em relação aos objetos nos quais foram definidas e não têm
valor fora deles.
LineTotal=ProductPrice * LineQuantity
InvoiceSubTotal = SUM(LineTotal)
InvoiceTaxes= InvoiceSubTotal * 0.11 (ou o número que corresponder)
InvoiceTotal = InvoiceSubtotal + InvoiceTax
2. Escreva o seguinte: “ProductPrice * LineQuantity”. Também é possível clicar no botão sobre o campo da
fórmula para abrir o Editor de Fórmula.
3. Repita os Passos 1 e 2 para o resto das fórmulas que aparecem na lista no início desta seção.
Página 18
GeneXus X: Quick Start
Página 19
GeneXus X: Quick Start
O Rol da Base de dados acima mostra que GeneXus inferiu automaticamente um modelo de dados
normalizado, criando duas tabelas para suportar o objeto transação Invoice, Invoice (o cabeçalho da
nota fiscal) e InvoiceProduct (as linhas da nota fiscal), com a seguinte estrutura:
Invoice InvoceProduct
InvoiceID InvoiceID
InvoiceDate ProductID
CustomerID ProductName
CustomerName ProductPrice
LineQuantity
Página 20
GeneXus X: Quick Start
Observe que:
• A chave primária da tabela InvoceProduct está formada por dois atributos: InvoiceID e
ProductID (a concatenação do identificador de primeiro nível, InvoiceID, com o identificador
do segundo nível, ProductID).
• GeneXus eliminou automaticamente das tabelas os atributos que se definiram como fórmulas
e os converteu em fórmula globais para poder acessá-las de qualquer lugar dentro da base de
conhecimento.
• Na tabela Invoice:
o Não pode haver duas notas fiscais com o mesmo InvoiceID.
o Para cada InvoiceID há um único valor do InvoiceDate, CustomerID e
CustomerName.
• Na tabela InvoceProduct:
o Não pode haver duas linhas de nota fiscal com a mesma InvoiceID e ProductID.
o Para cada par do InvoiceID e ProductID há um único valor do ProductName,
ProductPrice e LineQuantity.
Formulário Web
Depois de salvar um novo Objeto Transação, o GeneXus cria automaticamente um
! Formulário Web predeterminado para especificar como o usuário final irá acessar os
dados na aplicação. Estes formulários podem ser personalizados pelo analista do negócio
mais tarde.
Página 21
GeneXus X: Quick Start
“Error Viewer: ctlError” é o controle predeterminado onde se desdobram mensagens de erro. Pode se
localizar em qualquer lugar do formulário e configurar-lhe propriedades. As mensagens possíveis são
as que se desdobram no Msg e regras de Erro, e os controles automáticos do GeneXus (quer dizer,
integridade referencial, erros tipo de dados, etc.).
Estes formulários habilitarão os usuários finais a entrar novas notas fiscais que irão se inserir como
novos registros nas tabelas correspondentes. Os usuários também poderão atualizar ou eliminar as
notas fiscais existentes, desde que tiverem os direitos para fazê-lo.
O analista do GeneXus não precisa programar nenhuma destas ações porque estão implícitas na lógica
da transação. GeneXus gerará automaticamente o código nativo correspondente na linguagem
selecionada.
Página 22
GeneXus X: Quick Start
Neste passo, executaremos a aplicação em .NET usando SQL Server como nosso DBMS. Na versão
comercial você pode usar qualquer um dos DBMS suportados pelo GeneXus. Consulte a lista completa
dos DMBS suportados pelo GeneXus aqui:
http://www.genexus.com/technologies
Página 23
GeneXus X: Quick Start
Figura: Output
Página 24
GeneXus X: Quick Start
1. O Menu do
Desenvolvedor é um
arquivo XML que inclui
todos seus objetos
executáveis. É um
menu auxiliar para
testar sua aplicação.
Clique na opção
Invoice.
2. Insira algumas
instâncias de nota fiscal.
Graças à tecnologia
AJAX, as fórmulas se
calculam
automaticamente, sem
necessidade de
recarregar a página
inteira.
Página 25
GeneXus X: Quick Start
Regras GeneXus
As Regras GeneXus são o meio para definir a lógica do negócio associada a cada objeto.
São escritas em forma declarativa e GeneXus decide de maneira inteligente qual regra
aplicar e quando aplicá-la.
São válidas unicamente na transação em que foram definidas. Por isso falamos que são
locais.
Agora iremos adicionar uma regra simples que configura por defeito a Data da Nota fiscal como a data
do dia de hoje:
1
Tenha em conta que você poderá também usar as opções Inserir / Atributo e Inserir / Fórmula do menu Inserir
para completar a regra.
Página 26
GeneXus X: Quick Start
Eis outra regra simples que estabelece uma mensagem de erro se a quantidade de produtos inserida
for nula:
Página 27
GeneXus X: Quick Start
1. Crie o objeto Transação Cliente seguindo o Passo 2: Criação de um Objeto Transação e o Passo 3:
Descrever a Estrutura da Transação.
Observe que quando começa a escrever os atributos CustomerID e CustomerName, GeneXus lhe
indica o nome completo do atributo e seu tipo e descrição. Isto acontece porque estes atributos já
estão definidos em sua base de dados.
Página 28
GeneXus X: Quick Start
O Formulário Web da transação Cliente será visto como exibe a seguinte figura.
Observe (a seguir) que o Formulário Web da Nota fiscal também mudou, refletindo as mudanças nas
propriedades do atributo CustomerID: o atributo CustomerName é agora o da descrição do atributo
CustomerID. Isto melhorará notavelmente a Usabilidade da aplicação como veremos rapidamente!
Página 29
GeneXus X: Quick Start
Análise de Impacto
! Descreve as mudanças físicas que deverão se realizar para atualizar o novo modelo de
dados inferido pelo GeneXus.
Comprovará que GeneXus normalizou automaticamente seu modelo de dados depois de ter incluído a
nova transação.
Mostra-nos que a tabela Invoice será afetada, eliminando o atributo CustomerName da tabela Invoice
já que o mesmo pode ser inferido através do CustomerID.
Em warning de especificação refere–se a que pode haver valores duplicados de clientes na tabela
Invoice que ao serem normalizados, pode afetar. Também se mostra outro warning indicando que os
registros que irão se criar têm valor nulo nas tabelas.
Página 30
GeneXus X: Quick Start
Observe que:
• GeneXus adicionou uma nova tabela: a tabela Customer (associada à transação Customer).
• O atributo CustomerName eliminou-se da tabela Invoice (este atributo está armazenado
unicamente na tabela Cliente), deixando a base de dados normalizada.
• Na tabela Customer:
o Não pode haver dois clientes com o mesmo CustomerID.
o Por cada CustomerID há um único valor do CustomerName, CustomerAddress e
CustomerEmail.
• Na tabela Invoice:
o Não pode haver duas notas fiscais com o mesmo InvoiceID.
o O atributo CustomerID na tabela Invoice é uma chave forânea tirada da tabela Cliente.
portanto, existe uma relação de um a muitos entre Clientes e notas fiscais:
Por cada InvoiceID existe unicamente um CustomerID.
Cada CustomerID pode ter muitas notas fiscais (InvoiceID).
Página 31
GeneXus X: Quick Start
Reporte de Especificação
! Descreve como se executará o programa, quais tabelas acessará (e como) e quais
operações realizará.
Página 32
GeneXus X: Quick Start
Integridade Referencial na transação Nota fiscal: A chave forânea CustomerID no nível INVOICE significa
que quando você insere ou atualiza uma nota fiscal usando a Transação INVOICE automaticamente se
controlará se o valor inserido na chave forânea CustomerID já existe como chave primária de um registro na
tabela Cliente. Para realizar esta busca com eficiência, usa-se o índice primário CustomerID da tabela
Cliente.
O controle de integridade referencial valida que um atributo inserido (por exemplo, CustomerID em uma
Nota fiscal) é válido, mas não proporciona informação sobre quais são os valores válidos. Para facilitar a
busca dos valores válidos, GeneXus cria objetos Lista de Seleção (prompts) que mostram o grupo completo
de valores válidos para escolher os que correspondam.
Página 33
GeneXus X: Quick Start
Objeto Tema
O objeto GeneXus Tema melhora o desenvolvimento e manutenção das aplicações Web
separando as tarefas do analista do negócio das do desenhador Web.
! • Criam-se Formulários Web baseados num Objeto Tema predeterminado.
• Você pode criar novos Temas e associá-los à totalidade de sua Base de
Conhecimento ou a objetos específicos dentro dela.
Página 34
GeneXus X: Quick Start
PARTE 3: Manutenção
Devemos contar com a possibilidade de adicionar, atualizar e eliminar produtos de nosso sistema.
Para fazê-lo, adicionaremos o transação Produto em nossa Base de Conhecimento:
Página 35
GeneXus X: Quick Start
Notará que assim que começar a escrever estes nomes de atributo, o GeneXus lhe indicará o
nome completo. Isto acontece porque estes atributos já estão definidos em sua Base de
Conhecimento.
A estrutura (Structure) da transação Product e seu Formulário Web irão se ver da seguinte forma.
Página 36
GeneXus X: Quick Start
Figura: Lista de Base de dados (Modelo de Dados) para o InvoiceProduct e tabelas Produto
1. Selecione Reorganize.
Página 37
GeneXus X: Quick Start
Página 38
GeneXus X: Quick Start
Patterns ou Padrões
! São ações similares aplicadas a diferentes elementos. Os padrões permitem criar
automaticamente todos os objetos necessários para cumprir a funcionalidade
especificada, evitando ter que fazê-lo manualmente.
Página 39
GeneXus X: Quick Start
4. Grave as mudanças.
6. Execute a aplicação
Página 40
GeneXus X: Quick Start
Web Panels
Os Web Panels são usados para fazer diálogos e consultas interativos à base de dados
! em ambientes Web. Permitem implementar diferentes tipos de consultas e visualizar os
dados de formas bem diversas.
Os Web Panels são programados usando uma linguagem simples dirigida por eventos.
Vamos criar um Web Panel que nos permita ver para cada cliente as Notas fiscais que tem associadas.
Para isso siga os passos seguintes:
Página 41
GeneXus X: Quick Start
5. Aparecerá o Formulário
vazio do Web Panel. No
menu View, selecione
Other Tool Windows,
opção Toolbox. Arrastar
um controle Free Style
Grid.
6. Expanda a grade.
8. Selecione o atributo
CustomerName e clique
em OK.
Página 42
GeneXus X: Quick Start
9. Queremos adicionar as
notas fiscais
correspondentes por cliente.
Para isso, insira uma grade,
e selecione os atributos
InvoiceIO, InvoiceDate,
InvoiceTotal. O GeneXus
encontra a relação entre as
tabelas de maneira tal de
arrolar as notas fiscais por
cada Cliente.
12. Executar pressionando F5. Figura: Janela Web Panel com Grid
Página 43
GeneXus X: Quick Start
1. Abrir a Transação
Customer e vamos
ao Pattern
pressionando o botão
Work With.
Página 44
GeneXus X: Quick Start
5. Editamos suas
propriedades
pressionando F4.
6. Como Name
colocamos
ViewInvoicesPer Figura: Modificação da instância do Pattern
Customer, como
Caption também e no
GXObject
selecionamos o Web
Panel
InvoicesPerCustomer.
7. Salvamos as
mudanças
8. Executamos a
aplicação
pressionando F5.
9. Em execução,
selecionar a opção
Work with Customers
para ver o botão que
invoca o Web panel
criado.
Página 45
GeneXus X: Quick Start
Controles de usuários
User Controls
São controles Web que podem ser inseridos no form de qualquer objeto Web do
! GeneXus e que vão aumentar notoriamente a funcionalidade e aparência de nossa
aplicação. além dos user controls padrões providos (Chart, Image Galery, Map,
Treeview), GeneXus nos provê de um Editor do User Controls através do qual poderemos
modificar os user controls já existentes e criar nossos próprios user controls e incorporá-
los ao GeneXus.
Nosso objetivo será representar em forma gráfica as vendas por produto. Para cumprir este
requerimento vamos usar o User Control Chart.
Página 46
GeneXus X: Quick Start
Figura: Chart
Figura: Eventos
Página 47
GeneXus X: Quick Start
PARABÉNS!
Você criou com sucesso primeira aplicação com o GeneXus.
Nosso próximo passo é oferecer-lhe maior informação sobre as coisas que podem ser feitas com o
GeneXus.
Página 48
GeneXus X: Quick Start
PARTE 7: Procedimentos
Procedimentos
Até o momento trabalhamos com os Objetos Transação que são objetos GeneXus que
requerem a intervenção do usuário para inserir, atualizar e eliminar registros na base de
dados. Não obstante, muitas vezes precisamos realizar tarefas sem a intervenção do
usuário. Para isso, usamos outro tipo de Objetos GeneXus:
Uma funcionalidade chave dos Procedimentos GeneXus é que com eles usamos a mesma
metodologia baseada no conhecimento que usamos para definir os Objetos Transação.
Isto significa que a definição destes objetos baseia-se em nomes de atributos e não nas
tabelas da base de dados onde os atributos são armazenados. Portanto, a definição de
seus Procedimentos permanece válida desde que os atributos declarados dentro dos
mesmos estejam presentes na Base de Conhecimento.
Em nosso exemplo criaremos um Reporte simples (que mostre todos os dados de uma nota fiscal).
Página 49
GeneXus X: Quick Start
Nosso objetivo será criar um procedimento que arrole todos nossos clientes junto a seu total e outro
que permita modificar em 10% os preços vigentes.
For each
&Total=SUM(InvoiceTotal)
Print printBlock1
Endfor
Página 50
GeneXus X: Quick Start
6. Grave o procedimento.
Página 51
GeneXus X: Quick Start
Output_file('Customers.PDF','PDF');
Página 52
GeneXus X: Quick Start
Event 'Imprimir'
CustomerReport.Call
EndEvent
Página 53
GeneXus X: Quick Start
For each
ProductPrice =
ProductPrice+ProductPrice*0.10
Endfor
Página 54
GeneXus X: Quick Start
Event Enter
Discount_of_prices.call()
EndEvent
Figura: Evento
8. Grave o Web Panel e execute pressionando
F5.
Página 55
GeneXus X: Quick Start
PARTE 8: Multiplataforma
Desenvolvimento Multiplataforma
GeneXus é uma ferramenta que permite gerar aplicações de missão crítica em múltiplas plataformas.
Uma vez que gerou e executou uma aplicação em um desses ambientes, gerar e executar a mesma
aplicação em outro ambiente é tão simples quanto definir um novo ambiente.
A GeneXus Trial Version oferece unicamente o gerador GeneXus .NET. No entanto, a versão completa
do GeneXus suporta as plataformas líderes do mercado. Visite http://www.genexus.com/technologies
para obter uma lista completa das tecnologias suportadas pelo GeneXus.
Página 56
GeneXus X: Quick Start
Resumo
Esperamos que este tutorial lhe tenha permitido experimentar as funcionalidades e benefícios chaves
do GeneXus:
Começamos por criar uma Base de Conhecimento e descrever os requerimentos de dados de nossa
aplicação como uma série de componentes do negócio chamados Objetos Transação no Modelo de
Desenho da Base de Conhecimento. GeneXus usou esta informação para inferir o modelo de dados
ótimo (3ª. forma normal) requerido para suportar todas suas Transações. Também adicionamos
algumas regras do negócio nas que GeneXus se baseou para gerar o código da lógica do negócio da
aplicação.
Escolhemos uma plataforma de execução específica (Web, linguagem de programação, DBMS, etc.) e
criamos um Modelo no qual GeneXus gerou automaticamente uma base de dados física com o modelo
de dados do Modelo de Desenho.
Geramos o código fonte para os programas de nossa aplicação e testamos a aplicação no ambiente de
protótipo.
Manutenção da Aplicação
Vimos como é simples manter/expandir uma aplicação, simplesmente editando os objetos GeneXus
existentes e/ou adicionando novos, e depois GeneXus atualiza a base de dados e regenera os
programas da aplicação em forma automática.
Proporcionamos uma visão geral sobre o que são os procedimentos independentemente da estrutura
da base de dados da aplicação.
Desenvolvimento Multiplataforma
Finalmente, descrevemos como migrar facilmente sua aplicação GeneXus de um ambiente para outro.
Página 57
GeneXus X: Quick Start
FAQ
Não. GeneXus gera código nativo na plataforma selecionada e não requer runtimes.
Sim, no GeneXus existe uma ferramenta (DBRET: Data Base Reverse Engineering) que permite
acessar BD existentes em distintas tecnologias.
Sim, embora não é recomendável visto que se perdem os benefícios de manutenção automática e
independência da tecnologia. Em caso de querer utilizar código já existente, é possível fazer chamadas
dentro do GeneXus sem necessidade de modificar o código gerado.
Página 58
GeneXus X: Quick Start
Dada uma tabela base, sua tabela estendida é o grupo de atributos que são direta ou
indiretamente determinados pela chave da tabela base:
Para encontrar a tabela estendida de uma tabela dada é possível usar o Diagrama de Bachmann do
modelo de dados da base de conhecimento:
Neste exemplo, podemos identificar a tabela estendida de cada uma das tabelas de nosso projeto:
Página 59
GeneXus X: Quick Start
O comando “For Each” é o coração da linguagem de procedimentos usado pelo GeneXus para definir
reportes e procedimentos. Recupera e atualiza informação (mediante procedimentos online) a partir
de sua base de dados.
Com o comando For Each você pode definir a informação que deseja acessar e nomear os atributos
que deseja usar. GeneXus inferirá automaticamente as tabelas apropriadas em tempo de geração.
Quando a estrutura da base de dados mudar, as definições do For Each permanecerão válidas.
Cada comando For Each tem uma tabela de modelo de dados associada que será navegada. Está
composto da tabela base do For Each e sua tabela estendida (as tabelas de que GeneXus
necessita para procurar os atributos mencionados no comando).
• As tabelas que serão acessadas são determinadas pelos atributos contidos no comando For
Each.
• Para este grupo de atributos, GeneXus inferirá a mínima tabela estendida.
A tabela base deste grupo de atributos será a tabela base do For Each
Página 60
GeneXus X: Quick Start
Contatos e Recursos
A Comunidade GeneXus
A Comunidade GeneXus lhe oferece diversas formas de obter respostas a suas perguntas e soluções a
seus problemas, bem como também oportunidades para compartilhar suas próprias experiências.
Encontrará uma lista completa dos recursos disponíveis da Comunidade em
http://www.genexus.com/community/
Suporte
A Artech oferece uma ampla variedade de serviços e recursos de suporte:
Visite http://www.genexus.com/support/
Se você mora nos Estados Unidos ou Canadá pode nos enviar suas perguntas a
gxtrial.usa@genexus.com
Como Comprar
As Tecnologias GeneXus são vendidas através da rede de distribuidores no mundo todo.
Links recomendados
Web site: http://www.genexus.com
GeneXus X Basic Course: http://www.gxtechnical.com/basiccourse/
Laboratório prático do GeneXus X e Livro online: www.genexusx.com/aprenda
Comunidade GeneXus: http://www.genexus.com/community
Página 61