Вы находитесь на странице: 1из 63

GeneXus X: Quick Start

Outubro 2011

GeneXus X: Quick Start

Copyright ARTech Consultores S. R. L. 1988-2011. Todos os direitos reservados. Fica totalmente proibida a reproduo deste documento, por qualquer meio, sem autorizao expressa da Artech Consultores SRL. A informao contida neste documento exclusivamente para uso pessoal.

Marcas Registradas Artech e Genexus so marcas ou marcas registradas da Artech Consultores SRL. Todas as outras marcas citadas neste trabalho pertencem a seus respectivos donos.

Pgina 1

GeneXus X: Quick Start

Introduo .............................................................................................................................................. 3 GeneXus Trial Version ............................................................................................................................. 3 Restries Funcionais .............................................................................................................................. 3 Restries de Licena .............................................................................................................................. 3 License Agreement ................................................................................................................................. 3 Suporte Tcnico...................................................................................................................................... 4 Instalao e Autorizao ......................................................................................................................... 4 Requerimentos de Instalao ................................................................................................................... 4 Requerimentos do Gerador .NET ............................................................................................................... 5 Autorizao ............................................................................................................................................ 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 aplicao ........................................................................................................... 10 Desenho de aplicaes baseado no conhecimento ..................................................................................... 10 Passo 0: Caso de estudo .................................................................................................................... 10 Passo 1: Entorno de desenvolvimento .................................................................................................. 11 Passo 2: Criao de uma Base de Conhecimento e definio do Environment ............................................ 11 Passo 3: Criao de um Objeto Transao ............................................................................................ 13 Passo 4: Descrio da Estrutura da Transao (Structure) ...................................................................... 14 Passo 5: Definio do Campos Calculados Frmulas ........................................................................... 18 Passo 6: Visualizao do Modelo de Dados inferido pelo GeneXus ............................................................ 19 Passo 7: Visualizao dos Formulrios do Objeto Transao.................................................................... 21 Passo 8: Execuo de sua Aplicao .................................................................................................... 23 Passo 9: Teste de sua Aplicao .......................................................................................................... 25 Passo 10: Adicionar Regras do Negcio Regras .................................................................................. 26 Passo 11: Criao do Objeto Transao Cliente ..................................................................................... 28 Passo 12: Reviso das Mudanas efetuadas ao Modelo de Dados ............................................................. 30 Passo 13: Visualizao do Reporte de Especificao ............................................................................... 32 Passo 14: Criao dos Formulrios Atraentes Temas .......................................................................... 34 PARTE 3: Manuteno ........................................................................................................................... 35 Desenvolvimento Incremental e Manuteno da Aplicao ......................................................................... 35 Passo 15: Incluso de Novos Objetos: Transao Produto ...................................................................... 35 Passo 16: Anlise e reorganizao da BD ............................................................................................. 37 PARTE 4: Adicionando funcionalidade ................................................................................................... 39 Utilizao de Padres no desenvolvimento ............................................................................................... 39 Passo 17: Aplicar um pattern .............................................................................................................. 39 PARTE 5: Dilogos interativos ............................................................................................................... 41 Desenho de Consultas e Dilogos Interativos (Web Panels) ........................................................................ 41 Passo 18: Criao de um Web Panel: Nota fiscal por cliente. ................................................................... 41 Passo 19: Execuo do Web Panel modificando a instncia do Pattern ..................................................... 44 PARTE 6: Enriquecendo a aplicao ....................................................................................................... 47 Controles de usurios ............................................................................................................................ 47 Passo 20: Implementao de um User Control ...................................................................................... 47 PARTE 7: Procedimentos ....................................................................................................................... 50 Desenho de Processos No Interativos (Procedimentos) ............................................................................ 50 Passo 21: Implementao de um Procedimento para impresso .............................................................. 51 Passo 22: Implementao de um Procedimento para atualizao............................................................. 55 PARTE 8: Multiplataforma ..................................................................................................................... 57 Desenvolvimento Multiplataforma ........................................................................................................... 57 Resumo ................................................................................................................................................. 58 FAQ ....................................................................................................................................................... 59 Contatos e Recursos .............................................................................................................................. 62 A Comunidade GeneXus ........................................................................................................................ 62 Suporte ............................................................................................................................................... 62 Como Comprar ..................................................................................................................................... 62 Links recomendados.............................................................................................................................. 62

Pgina 2

GeneXus X: Quick Start

Introduo
O objetivo deste documento ajud-lo a descobrir o potencial da metodologia de desenvolvimento baseada no conhecimento proposta pelo GeneXus atravs de suas principais funcionalidades:

Desenho automtico de modelo de dados Gerao automtica de cdigo Manuteno automtica de base de dados e cdigo Desenvolvimento e instalao multiplataforma

GeneXus Trial Version


Restries Funcionais
A GeneXus Trial Version completamente funcional e o gerador disponvel (.NET) autorizado mediante uma nica Site Key (com validade at 60 dias aps sua ativao). Entretanto, aplicam-se algumas restries a respeito do nmero mximo de objetos e atributos GeneXus que possvel criar para uma Base de Conhecimento dada:

90 atributos 140 objetos.

Restries de Licena
A GeneXus Trial Version destina-se exclusivamente para avaliao e capacitao. Sua instalao local e para um nico usurio.

License Agreement
Condies de Uso da Licena de Propriedade Intelectual GeneXus X Trial Version
1. O presente acordo se refere licena da propriedade intelectual de exemplares da GeneXus X Trial Version, criao inteligente baseada em conhecimento, que desenha, gera e mantm automaticamente bases de dados e aplicaes. 2. Artech Consultores S.R.L. (doravante Artech) declara e o USURIO reconhece que a criao 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 conexo com o GeneXus, independentemente do fato de estarem registrados ou no, so propriedade da Artech. Este convnio no implica direta nem indiretamente transferncia alguma dessa propriedade e no habilita o USURIO a transferir as licenas objeto do presente documento. 3. O USURIO compromete-se a utilizar a GeneXus X Trial Version sem divulgar nem usar em proveito prprio nenhuma das idias e tcnicas que fazem possvel GeneXus. Em particular, obriga-se a no usar procedimentos de engenharia inversa para interpretar seu cdigo, nem a facilitar a outrem a faz-lo. 4. Em hiptese nenhuma o USURIO poder duplicar ou desativar os mecanismos de proteo contra uso no 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 USURIO a ferramenta GeneXus X Trial Version, nos seguintes termos e condies:

Pgina 3

GeneXus X: Quick Start

a) Cada exemplar licenciado poder funcionar em um microcomputador por separado. O USURIO comprometese a no utilizar nenhum deles em mais de um microcomputador simultaneamente. b) A licena no exclusiva e intransfervel. Os programas gerados pela GeneXus X Trial Version no podero ser utilizados com fins comerciais. c) O USURIO utilizar os programas e documentao do GeneXus para seu uso exclusivo, com fins de avaliao exclusivamente e comprometendo-se a no entregar cpias de nenhum deles a terceiros. d) No existe responsabilidade alguma, implcita ou explcita, para a Artech, sobre eventuais prejuzos que puderem resultar para usurios em relao, direta ou indireta, com o uso da GeneXus X Trial Version. e) O USURIO compromete-se a utilizar a licena, seguindo as instrues e especificaes 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 aplicaes, dever contratar a verso comercializvel. g) A verso GeneXus X Trial ser ativada por 60 dias. Inclui unicamente o gerador .NET e suporta SQL como base de dados. Permite criar um mximo de 90 atributos e 140 objetos. 6. A instalao do produto de software licenciado implica a aceitao dos termos que antecedem.

Suporte Tcnico
Se precisar ajuda para a instalao e autorizao de sua verso trial, entre em contato com: gxtrial@genexus.com Se estiver nos Estados gxtrial.usa@genexus.com Unidos ou no Canad poder enviar consultas de suporte a:

Para saber mais sobre os diversos servios e recursos de suporte tcnico e capacitao do GeneXus visite: http://www.genexus.com/support e http://www.genexus.com/training Por informao adicional, entre em contato com seu http://www.genexus.com/distributors ou escreva-nos a info@genexus.com distribuidor local:

Instalao e Autorizao
Requerimentos de Instalao
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 manuteno de aplicaes de negcios, independentemente da plataforma de produo utilizada.

Geradores GeneXus

GeneXus gera cdigo nativo para as principais plataformas do mercado. Para conhecer a lista completa dos Geradores GeneXus visite: http://www.genexus.com/technologies. O gerador disponvel na GeneXus Trial Version o Gerador .NET.

Pgina 4

GeneXus X: Quick Start

A seguir encontrar a lista do hardware e software necessrio para executar GeneXus e as aplicaes geradas pelo GeneXus.

Requerimentos de Hardware

Processador: mnimo 1 GHz (recomendado multi core) Memria: mnimo 1 GB de RAM (recomendado 2 GB) Disco rgido: Mnimo de 300 MB de espao em disco para a instalao. Para criar aplicaes GeneXus precisa-se espao adicional ou um disco compartilhado para criar as Bases de Conhecimento e o cdigo gerado.

Requerimentos de Software

Microsoft Windows 2000, XP SP2, ou superior Microsoft .NET Framework 3.5 SP1 ou superior Microsoft Internet Explorer 6.0 SP1 ou superior Microsoft SQL Server 2005 ou 2008 (Express, Standard ou qualquer outra Edio) 1

Microsoft SQL Server Express Edition a verso redistribuvel e gratuita.

Requerimentos do Gerador .NET


Esta seo contm os requerimentos para gerar e executar aplicaes com o Gerador GeneXus disponvel na GeneXus Trial Version.

Gerador
.NET

Requerimentos
Microsoft .NET Framework 2.0 ou superior IIS 5.0 ou superior (disponvel no Windows 2000 ou XP) Fornecedor do ADO .NET para o DBMS utilizado

Para criar a base de dados de sua aplicao e executar as aplicaes geradas, requerer um dos seguintes DBMS:

SQL Server (Em qualquer de suas edies). Sim a primeira vez que instala SQL, creara-

se automaticamente uma Base de dados com o usuario sa e a clave genexustrial

Pgina 5

GeneXus X: Quick Start

Autorizao
1. Execute o arquivo de setup da GeneXus Trial Version (genexusxtrial.exe) do menu de Incio do Windows ou selecionando a opo apropriada no CD de sua Verso Trial.

Figura: Assistente de Instalao da GeneXus X Trial Version

2. Siga os passos indicados pelo setup de instalao. 3. A primeira vez que usar a GeneXus Trial Verso dever autorizar o produto para poder inici-lo. A autorizao pode ser feita Online ou By Mail. A autorizao online recomendada se tiver uma conexo a Internet.

Figura: Dialog box para o Registro da GeneXus Trial Version

Pgina 6

GeneXus X: Quick Start

4. Complete os campos solicitados: Nome, email e pas so obrigatrios enquanto que Companhia e Telefone so opcionais. 5. Em caso de ter requerido a opo Online e de ter ingressado os dados corretamente, a GeneXus X Trial Version ir se ativar em forma imediata por um perodo de 60 dias. 6. Se tiver escolhido a opo By Mail, GeneXus pedir inserir Nome e pas em forma obrigatria. Os campos Telefone e Companhia so opcionais. Dever confirmar os dados inseridos. Se os mesmos forem corretos pressione CONTINUAR. Se desejar modificar os valores inseridos pressione ANTERIOR. Esta ativao exige ter o Outlook configurado como email padro. O administrador de licenas gerar um mail com o Site Code correspondente. Voc receber seu Site Key via mail. 7. Se o Outlook no for seu email padro, pode solicitar ativao Manual, enviando de qualquer email os dados gerados pelo ativador de licenas. O Site Key de ativao 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 comear a usar sua GeneXus Trial Version! 9. Se precisar de ajuda para ativar a GeneXus X Trial Version escreva-nos a gxtrial@genexus.com.

Pgina 7

GeneXus X: Quick Start

PRIMEIROS PASSOS: Tutorial passo a passo


O objetivo deste tutorial lhe oferecer uma primeira experincia prtica com o GeneXus medida que for aprendendo os fundamentos da Metodologia GeneXus. Ao finalizar, voc saber como possvel criar aplicaes de negcios complexas com uma rapidez jamais imaginada.

Neste exerccio passo a passo voc criar uma aplicao de negcios 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: Desenho de aplicaes baseado no conhecimento Gerao inteligente de base de dados Gerao automtica de cdigo Aplicaes completamente funcionais Desenvolvimento incremental e manuteno automtica da aplicao Desenho de Processos no interativos (Procedimentos) Desenvolvimento em mltiplas plataformas

Simbologia utilizada

Este smbolo introduz um conceito chave para o desenvolvimento do tutorial .

Este smbolo introduz um TIP. Recomendamos ler o que este dentro do quadro.

Este smbolo especifica o tempo requerido.

Este smbolo introduz uma NOTA.

Pgina 8

GeneXus X: Quick Start

PARTE 1: Descobrindo o GeneXus


Tempo estimado: 5 minutos

O que o GeneXus?
Basicamente, o GeneXus um programa que faz programas.

uma ferramenta que parte das vises de usurios, e a partir da encapsula o conhecimento no que chamaremos Base de Conhecimento. GeneXus sistematiza esse conhecimento, e da automatiza o desenho, construo e manuteno da BD e dos programas.

Resumindo, o GeneXus uma ferramenta baseada no conhecimento que desenha, gera e mantm em forma automtica os programas e a base de dados para obter o desenvolvimento rpido de aplicaes crticas em mltiplas plataformas.

Pgina 9

GeneXus X: Quick Start

PARTE 2: Sua primeira aplicao


Tempo estimado: 1:40

Desenho de aplicaes baseado no conhecimento


Nesta seo aprender a criar uma Base de Conhecimento GeneXus e a desenhar uma aplicao em base aos requerimentos dos usurios. Neste caso em particular, comearemos por desenhar uma nota fiscal e outros componentes necessrios em um Sistema de Gesto de Vendas.

Analistas de Negcios versus Desenvolvedores


Entender as necessidades do usurio final uma das poucas tarefas que no se podem automatizar no desenvolvimento de software. Referimo-nos aos desenvolvedores do GeneXus como analistas de negcios em lugar de programadores, codificadores ou desenvolvedores.

Programar versus declarar a aplicao


A Metodologia GeneXus baseia-se na descrio das entidades do usurio final (objetos reais, tanto tangveis quanto intangveis) com as que sua aplicao deve lidar. Isto se faz descrevendo as vises dos usurios finais sobre estas entidades, com alto nvel de abstrao. Por este motivo, realizaremos uma programao declarativa e os analistas de negcios descrevero a realidade para que o GeneXus crie o modelo de dados em uma BD especificada e construa os programas de aplicao para cobrir as necessidades funcionais requeridas. Quando essa realidade mudar, os analistas de negcios simplesmente devero descrever a nova realidade e ser GeneXus quem se encarregar de realizar as mudanas necessrias no modelo de dados e os programas para representar a nova realidade descrita.

Passo 0: Caso de estudo


Suponhamos que uma empresa precisa uma aplicao que gerencie seu sistema de faturamento. Hoje no conta com um e o faturamento feito manualmente, com os grandes catlogos de cdigos de produtos. Trabalharemos com as notas fiscais, os clientes, os produtos ao tempo que iremos introduzindo os fundamentos dos conceitos bsicos da metodologia do GeneXus. 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.

Pgina 10

GeneXus X: Quick Start

Passo 1: Entorno de desenvolvimento


Uma vez aberto o GeneXus, descobrir uma interface como na imagem anexa. Esta interface recebe o nome da IDE (Integrated Development Environment ou Ambiente integrado de Desenvolvimento). um IDE intuitivo, simples e parametrizvel por cada desenvolvedor. Divide-se em janelas:

Figura: Ambiente integrado de Desenvolvimento (IDE)

Janela principal: Est composta pela Start Page ou Pgina de Incio a qual, atravs de um RSS em forma dinmica, oferece informao tcnica relacionada com a ferramenta e a comunidade de usurios. Para obter esta informao necessrio estar conectado. Se sua equipe estiver desligada da Internet no poder acessar as novidades publicadas no GeneXus Community. Janela de ferramentas

Barras de ferramentas

Passo 2: Criao de uma Base de Conhecimento e definio do Environment


O primeiro passo para criar uma aplicao com o GeneXus criar uma Base de Conhecimento e definir o ambiente de trabalho.

Base de Conhecimento ou Knowledge Base (KB)


um repositrio que contm toda a informao necessria para gerar uma aplicao em mltiplas plataformas. Em outras palavras, um repositrio de toda a descrio da realidade.

Pgina 11

GeneXus X: Quick Start

Environment
Para gerar e manter uma aplicao de trabalho em uma plataforma de software especfica, devemos definir um Environment. Um Environment integra todo o relacionado plataforma de execuo (Gerador, acesso a BD, interface de usurio e outras propriedades da plataforma). Para isto, especificamos um DBMS, uma linguagem alvo e alguns parmetros 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 no precisa ter um conhecimento profundo da plataforma alvo.

Se for a primeira vez que abre a GeneXus Trial e no executou previamente em sua equipe uma verso comercial do produto, GeneXus lhe indicar que proceder a executar a criao de uma base de conhecimento em forma automtica. A primeira vez que abrir a verso trial automaticamente ir se criar uma Base de Conhecimentos em um ambiente em .NET com o SQL. Se quiser criar uma base de conhecimento e um novo environment, dever: 1. Clicar na opo New Knowledge Base. 2. Dar um nome Base de Conhecimento: Demo. 3. Selecionar um diretrio onde criar a KB. 4. Selecionar a linguagem a gerar. 5. Clicar em CREATE para continuar.
Figura: Dialog box para a criao de uma Base de Conhecimento

Pgina 12

GeneXus X: Quick Start

Passo 3: Criao de um Objeto Transao


Nosso objetivo ser definir as vises de nossos usurios em objetos GeneXus.

Objeto Transao

Representa os objetos da realidade que dirige sua aplicao. Das transaes definidas infere-se o modelo de dados da aplicao (3. forma normal). GeneXus tambm usa o objeto transao para gerar o programa da aplicao que permitir ao usurio final, em forma interativa, inserir, apagar e atualizar registros na base de dados fsica.

O seguinte passo, uma vez criada a base de conhecimento ser criar a primeira transao, que representa uma nota fiscal. Para isso siga os seguintes passos: 1. Clique direito sobre Objects/New/Object ou v ao menu FILE/NEW OBJECT. Tambm pode criar um novo objeto utilizando o shortcut CTRL N.

Figura: Criao de um objeto novo

2. Selecione o tipo de objeto que deseja criar: Transaction 3. D nome ao Objeto: Invoice. 4. Clique em CREATE.

Figura: Dialog box New Object

5.

Pgina 13

GeneXus X: Quick Start

Passo 4: Descrio da Estrutura da Transao (Structure)


O prximo passo ser descrever o objeto nota fiscal definindo quais atributos integram a mesma e como esto relacionados.

Estrutura do objeto Transao


A Estrutura do Objeto Transao uma descrio dos dados requeridos para conhecer o objeto real que este representa. Na estrutura, devemos declarar os atributos (campos) que formam a transao (os dados com os que o usurio ir interagir) e as relaes entre eles. Baseando-se nesta estrutura, o GeneXus desenha e mantm automaticamente a base de dados correspondente (tabelas, chaves, ndices, restries de integridade, etc.) em 3. forma normal. O mesmo atributo dever ter sempre o mesmo nome em cada lugar que aparecer. ao tempo que dois atributos diferentes no podero ter o mesmo nome. Os elementos chaves para definir a estrutura da transao so os seguintes: Nome, tipo e descrio: Cada atributo definido por seu nome, tipo de dados e descrio. Nveis: Os atributos agrupam-se em um ou mais nveis, e estes nveis podem ser aninhados ou paralelos (pode haver mltiplos nveis aninhados). Por exemplo: as linhas de uma nota fiscal representam um nvel aninhado em nvel de raiz. O nvel das linhas da nota fiscal demonstra o fato de que uma nota fiscal pode ter muitas linhas, ou seja, define uma relao de uma a muitas entre a nota fiscal e as linhas da nota fiscal. Atributos de Chave Primria (PK): Em cada nvel, um ou mais atributos devem ser definidos como a Chave Primria do nvel. o A Chave Primria um identificador de cada instncia do nvel. o Os valores da Chave Primria so nicos e uma vez inseridos no podem ser atualizados. o Se no existir uma Chave Primria natural para seu objeto, deve criar uma artificial; por exemplo, CustomerID.

1. Insira o nome, tipo de dado e descrio dos atributos na aba Structure da transao Invoice, como indicado na tabela a seguir. Use a tecla TAB para mover-se entre o nome, o tipo de dado e a descrio do atributo. Use a tecla ENTER para adicionar um novo atributo.

ATRIBUTO
InvoiceID InvoiceDate CustomerID CustomerName

TIPO
Numeric(4.0) Date Numeric(4.0) Character(20)

DESCRIO
Invoice ID Invoice Date Customer ID Customer Name

At aqui inserimos os campos do cabealho da nota fiscal. Agora iremos inserir as linhas. Para isso, pressione CTRL + Seta Direita para adicionar um Novo nvel estrutura de dados

Pgina 14

GeneXus X: Quick Start

ProductID ProductName ProductPrice LineQuantity LineTotal

Numeric(4.0) Character(20) Numeric(8.2) Numeric(4.0) Numeric(8.2)

Product ID Product Name Product Price Line Quantity Line Total

Pressione ENTER e depois CTRL + Seta Esquerda para voltar para o nvel do cabealho e comear os dados do rodap. InvoiceSubtotal InvoiceTax InvoiceTotal Numeric(8.2) Numeric(8.2) Numeric(8.2) Invoice Subtotal Invoice Tax Invoice Total

Tips para aumentar sua produtividade:


Quando comear a escrever o nome de um novo atributo oprimindo a tecla ponto GeneXus escrever o nome da transao no campo de nome do atributo Use CamelCase para nomear seus atributos, de forma tal que as descries dos mesmos se infiram automaticamente e faam sentido. Ex.: Pr InvoiceTotal como nome de atributo, para que se infira automaticamente a descrio 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 varivel (Character, LongVarChar, Numeric ou VarChar), insira o valor apropriado da dimenso de varivel para configur-lo.

O primeiro atributo de cada nvel definido por defeito como chave primria desse nvel, mas possvel mudar isto clicando direito sobre o atributo e escolhendo a opo Toggle Key (Ctrl+K). Os atributos de Chave Primria se identificam por uma pequena chave esquerda de seus nomes ( ). Neste exemplo, InvoiceID o identificador de primeiro nvel, e o atributo ProductID o identificador de segundo nvel. Isto significa que, para um nmero de notas fiscal dado (InvoiceID), o valor do atributo ProductID no se repetir em linhas diferentes.

2. Movendo o Mouse na rea direita da tela ir se desdobrar o menu de propriedades (Properties).

Pgina 15

GeneXus X: Quick Start

Figura: Janela de Definio do Atributo

3. Expanda a opo Type Definition e configure a propriedade Autonumber do InvoiceID no True. Os programas gerados atribuiro automaticamente um valor do InvoiceID a cada nova instncia da nota fiscal.

Figura: Propriedade Autonumber

4. Salve a nova estrutura da transao oprimindo o boto com forma de diskette (Save) na barra de ferramentas Standard. Se esta barra no estiver visvel, desdobre-a clicando direito sobre a barra de menu (Opo Edit) Voc acaba de criar a estrutura de uma transao Nota Fiscal composta de dois nveis:

Um nvel bsico (Invoice ou Nota Fiscal), no qual se especifica toda a informao necessria para o Cabealho da Nota Fiscal. Um nvel aninhado, no qual se especifica a informao que se ir se repetir em cada linha de nota fiscal.

Observe que no utilizamos um nmero de linha como chave primria das linhas de nota fiscal. Esta uma deciso de desenho voluntria. Usando o ID de Produto como chave primria das linhas da nota fiscal, estamos definindo que no haver duas linhas na mesma nota fiscal para o mesmo produto.

Figura: Estrutura da nota fiscal

Universal Relationship Assumption (URA)

Um elemento chave da Metodologia GeneXus a hiptese de que atributos com o mesmo nome so o mesmo atributo. Isto se chama Universal Relationship Assumption (URA) e, conforme essa hiptese:

Tudo o que for conceitualmente igual deve ter o mesmo nome. Os conceitos diferentes NO devem ter o mesmo nome.

Pgina 16

GeneXus X: Quick Start

Isto nos permitir usar o mesmo atributo em outros objetos GeneXus (outras transaes, procedimentos, reportes, etc.) simplesmente fazendo referncia a seu nome. GeneXus estabelece as relaes (chaves forneas) entre as tabelas do modelo de dados com base nos nomes dos atributos.

Nomenclatura GIK: GeneXus Incremental Knowledge


GIK uma nomenclatura padro definida pela Artech no intuito de dotar os atributos de um nome que transmita seu conceito da forma mais clara possvel. Nesta nomenclatura, o nome de um atributo est formado por 4 componentes. Alguns deles so opcionais: Objeto + Categoria [+ Qualificador] [+ Complemento]

Objeto: a entidade real descrita pelo atributo. Geralmente (mas nem sempre) o nome da transao na qual um atributo foi definido para poder ser armazenado em uma das tabelas associadas a essa transao (isto significa que no deveria inferirse nessa transao especfica). Exemplos: Nota Fiscal, Cliente, Produto, Linha. Categoria: a categoria semntica do atributo. Define o papel que o atributo ter dentro do objeto e no ambiente da transao. Exemplos: Identificao, Data, Nota Fiscal, Descrio, etc. O Qualificador e o Complemento so componentes opcionais. Exemplos: Incio, Fim, Mnimo, Mximo, etc.

Pgina 17

GeneXus X: Quick Start

Passo 5: Definio do Campos Calculados Frmulas Frmulas


So atributos que podem se inferir do valor de outros atributos. Um atributo frmula definido da mesma forma que um atributo normal, ou seja, tem um nome, um tipo de dados e uma descrio, alm de uma frmula que define como se calcula.

Salvo especificao contrria, os atributos definidos como frmulas no so armazenados na base de dados (so atributos virtuais). As frmulas so globais; so vlidas em toda a base de conhecimento e no apenas dentro da transao na qual foram definidas. Isto significa que a frmula calculada cada vez que o atributo invocado de uma transao ou de outros objetos GeneXus (Reportes, Work Panels, etc.) Variveis Definidas pelo Usurio. No podem participar de uma frmula porque so locais em relao aos objetos nos quais foram definidas e no tm valor fora deles.

Agora definiremos os seguintes atributos frmula: LineTotal=ProductPrice * LineQuantity

InvoiceSubTotal = SUM(LineTotal) InvoiceTaxes= InvoiceSubTotal * 0.11 (ou o nmero que corresponder) InvoiceTotal = InvoiceSubtotal + InvoiceTax
1. Clique duplo no campo Formula do atributo LineTotal ( direita da descrio do atributo). 2. Escreva o seguinte: ProductPrice * LineQuantity. Tambm possvel clicar no boto sobre o campo da frmula para abrir o Editor de Frmula. 3. Repita os Passos 1 e 2 para o resto das frmulas que aparecem na lista no incio desta seo. 4. Clique Save para salvar as novas frmulas.

Pgina 18

GeneXus X: Quick Start

Ao finalizar, deveramos ter a descrio da nota fiscal da forma seguinte:

Figura 1 Transao nota fiscal com frmulas

Passo 6: Visualizao do Modelo de Dados inferido pelo GeneXus


Voc pode ver o modelo de dados inferido pelo GeneXus e inclusive modific-lo.

Gerao de Modelo de Dados Inteligente

Toda vez que clicar no boto Salvar, GeneXus inferir o modelo de dados timo (3. forma normal sem redundncias) que suporte as entidades do usurio final representadas pelos objetos de sua transao GeneXus. Embasado neste modelo de dados, GeneXus gerar uma base de dados fsica quando voc definir um DBMS objetivo para um modelo.

Gerao de Modelo de Dados Inteligente


A estrutura dos objetos transao determina as tabelas e ndices a serem criados:

Os nomes das tabelas e ndices so atribudos automaticamente pelo GeneXus pelo nome da transao, mas podem ser modificados se for necessrio. GeneXus infere um modelo de dados em 3. forma normal, sem redundncias. No obstante, podem definir-se redundncias que sero automaticamente gerenciadas pelo GeneXus. A chave primria da tabela correspondente a uma transao de nvel N se obtm concatenando identificadores dos N-1 nveis aninhados previamente com o identificador de nvel N.

Pgina 19

GeneXus X: Quick Start

1. No menu da esquerda, selecione Tables. 2. GeneXus mostrar a estrutura de dados inferidas a partir da transao.

Figura: Tabela de Nota fiscal

Figura: Tabela de Produtos

O Rol da Base de dados acima mostra que GeneXus inferiu automaticamente um modelo de dados normalizado, criando duas tabelas para suportar o objeto transao Invoice, Invoice (o cabealho da nota fiscal) e InvoiceProduct (as linhas da nota fiscal), com a seguinte estrutura:

Invoice InvoiceID InvoiceDate CustomerID CustomerName

InvoceProduct InvoiceID ProductID ProductName ProductPrice LineQuantity

Pgina 20

GeneXus X: Quick Start

Observe que:

A chave primria da tabela InvoceProduct est formada por dois atributos: InvoiceID e ProductID (a concatenao do identificador de primeiro nvel, InvoiceID, com o identificador do segundo nvel, ProductID). GeneXus eliminou automaticamente das tabelas os atributos que se definiram como frmulas e os converteu em frmula globais para poder acess-las de qualquer lugar dentro da base de conhecimento. Na tabela Invoice: o No 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 No 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.

Passo 7: Visualizao dos Formulrios do Objeto Transao


Visualize o formulrio Web predeterminado que foi gerado automaticamente pelo GeneXus para seu recm criado objeto transao (deve estar posicionado dentro do objeto Nota fiscal).

Formulrio Web

Depois de salvar um novo Objeto Transao, o GeneXus cria automaticamente um Formulrio Web predeterminado para especificar como o usurio final ir acessar os dados na aplicao. Estes formulrios podem ser personalizados pelo analista do negcio mais tarde.

Para o formulrio Web siga os passos seguintes:

1. Selecione a aba WebForm da transao Nota Fiscal.

Pgina 21

GeneXus X: Quick Start

Figura: Formulrio (predeterminado) da Transao Nota fiscal

Error Viewer: ctlError o controle predeterminado onde se desdobram mensagens de erro. Pode se localizar em qualquer lugar do formulrio e configurar-lhe propriedades. As mensagens possveis so as que se desdobram no Msg e regras de Erro, e os controles automticos do GeneXus (quer dizer, integridade referencial, erros tipo de dados, etc.). Estes formulrios habilitaro os usurios finais a entrar novas notas fiscais que iro se inserir como novos registros nas tabelas correspondentes. Os usurios tambm podero atualizar ou eliminar as notas fiscais existentes, desde que tiverem os direitos para faz-lo.

O analista do GeneXus no precisa programar nenhuma destas aes porque esto implcitas na lgica da transao. GeneXus gerar automaticamente o cdigo nativo correspondente na linguagem selecionada.

Tenha em conta que ao definir transaes GeneXus se est: Explicitamente: descrevendo a interface de usurio para a apresentao e captura de dados. Implicitamente: desenhando o modelo de dados da aplicao (tabelas, ndices, etc.)

Pgina 22

GeneXus X: Quick Start

Passo 8: Execuo de sua Aplicao

Gerao da BD em 3. Forma Normal


GeneXus gera os programas executveis requeridos para criar sua base de dados no DBMS selecionado com base no modelo de dados inferido. Quando voc est atualizando sua estrutura de dados, GeneXus gera os programas executveis requeridos para reorganizar a base de dados; ou seja, cria um novo esquema e converte os dados do velho esquema para o novo. Nestes casos ir se desdobrar um Reporte de Criao de Base de dados ou um Reporte de Anlise de Impacto respectivamente, que lhe mostrar o que o GeneXus ir fazer.

Neste passo, executaremos a aplicao em .NET usando SQL Server como nosso DBMS. Na verso 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

Reporte de Criao de Base de dados: o reporte que descreve o


esquema da base de dados que GeneXus gerar no DBMS selecionado. Contm toda a informao sobre o modelo de dados inferido e o esquema de base de dados proposto para ser gerado. A informao sobre cada tabela est dividida em cinco sees: Cabealho: Contm a nome da tabela, as aes a realizar nele, advertncias e erros, Se o modelo de dados contm erros, o boto de Reorganizao estar desabilitado. Estrutura da Tabela: Mostra os atributos da tabela, suas relaes e as aes a realizar sobre eles. ndices: Descreve os ndices da tabela que GeneXus usa para manter a integridade referencial de sua base de dados e para acessar as tabelas eficientemente. Restries da Chave Fornea: Descreve as restries de integridade da tabela. Statements: Descreve as sentenas que iro se executar.

Pgina 23

GeneXus X: Quick Start

1. Pressione F5 ou v atravs do menu opo BUIL /RUN DEVELOPER MENU.

2. O Ajudante vai gui-lo na configurao da BD. Configure o seguinte: Database name: Demo Server name: localhost Use trusted connection: Yes Clique no boto Finish para continuar.

Figura: Detalhe da Barra de Ferramentas do Modelo

3. GeneXus mostrar o reporte de criao da BD.

Figura: Dialog box para a Criao da Base de dados

4. Clique em CREATE. GeneXus escrever o cdigo para a criao das tabelas e os programas necessrios na linguagem selecionada para acessar a BD.

Figura: Output

Pgina 24

GeneXus X: Quick Start

Passo 9: Teste de sua Aplicao

1. O Menu do Desenvolvedor um arquivo XML que inclui todos seus objetos executveis. um menu auxiliar para testar sua aplicao. Clique na opo Invoice.
Figura: Menu do Desenvolvedor

2. Insira algumas instncias de nota fiscal. Graas tecnologia AJAX, as frmulas se calculam automaticamente, sem necessidade de recarregar a pgina inteira.

3. Quando tiver finalizado,

clique no boto Fechar.

Figura: Instncia da Transao Invoice

Pgina 25

GeneXus X: Quick Start

Passo 10: Adicionar Regras do Negcio Regras


Adicionemos um pouco de lgica bsica de negcios a sua aplicao.

Regras GeneXus
As Regras GeneXus so o meio para definir a lgica do negcio associada a cada objeto. So escritas em forma declarativa e GeneXus decide de maneira inteligente qual regra aplicar e quando aplic-la. As regras desempenham um papel muito importante nos objetos transao porque permitem programar seu comportamento (por exemplo: atribuindo valores predeterminados, definindo controles de dados, etc.).

Podem envolver atributos definidos na estrutura da transao, bem como variveis e funes. As Regras so programadas em forma declarativa, isto , a ordem na qual se escrevem no necessariamente a ordem na qual vo ser executadas. A ordem de execuo adequada automaticamente determinada pelo GeneXus.

So vlidas unicamente na transao em que foram definidas. Por isso falamos que so locais.

Agora iremos adicionar uma regra simples que configura por defeito a Data da Nota fiscal como a data do dia de hoje: 1. Selecione a aba Regras da transao Invoice. 2. Utilizaremos a regra Default que atribui um valor predeterminado a um atributo ou varivel. 3. Complete a frmula do modo seguinte: Default(InvoiceDate, &today);o que indica que o valor predeterminado da Data da nota fiscal ser a data do dia de hoje1. 4. Clique no boto de salvar.

Tenha em conta que voc poder tambm usar as opes Inserir / Atributo e Inserir / Frmula do menu Inserir para completar a regra.

Pgina 26

GeneXus X: Quick Start

Figura: Regra da Transao

Eis outra regra simples que estabelece uma mensagem de erro se a quantidade de produtos inserida for nula: 5. Adicione a seguinte regra: Error("The product cannot be empty") LineQuantity.IsEmpty(); 6. Clique no boto de salvar. if

Figura: Declarao de regras

7. Teste as regras inseridas, executando a aplicao (F5).

Figura: Execuo da aplicao

Pgina 27

GeneXus X: Quick Start

Passo 11: Criao do Objeto Transao Cliente


Os clientes so conceitos que correspondem a entidades independentes da nota fiscal, portanto corresponde que seja definidos como um transao em si mesma. 1. Crie o objeto Transao Cliente seguindo o Passo 2: Criao de um Objeto Transao e o Passo 3: Descrever a Estrutura da Transao. 2. Adicione os seguintes atributos Estrutura Cliente:

ATRIBUTO CustomerID CustomerName CustomerAddress CustomerEmail

TIPO ----------------Character(50) Character(50)

DESCRIO --------------------------------------Customer Address Customer Email

Observe que quando comea a escrever os atributos CustomerID e CustomerName, GeneXus lhe indica o nome completo do atributo e seu tipo e descrio. Isto acontece porque estes atributos j esto definidos em sua base de dados.

3. Pressione o boto direito do mouse sobre o atributo CustomerID e selecione Propriedades. 4. Dentro do Type Definition configure a propriedade Autonumber do CustomerID como True. Desta forma, os programas gerados atribuiro automaticamente um valor CustomerID a cada nova instncia de Cliente. 5. Ative o suggest para o cdigo do cliente, posicionando-se sobre as propriedades do Customer ID, dentro da opo InputType, definir Description e adicionar como ItemDescription: CustomerName. Assim, em vez de inserir o ID de um cliente para identific-lo, poderemos inserir seu nome e a aplicao automaticamente inferir seu ID. A propriedade suggest lhe sugerir todos os nomes de clientes que concordem com o nome inserido pelo usurio. Estas

Figura: Janela de propriedades

Pgina 28

GeneXus X: Quick Start

propriedades so parte da implementao do AJAX que o GeneXus faz automaticamente. O Formulrio Web da transao Cliente ser visto como exibe a seguinte figura.

Figura: Estrutura da transao Cliente

Figura: Formulrio Web da transao Cliente

Observe (a seguir) que o Formulrio Web da Nota fiscal tambm mudou, refletindo as mudanas nas propriedades do atributo CustomerID: o atributo CustomerName agora o da descrio do atributo CustomerID. Isto melhorar notavelmente a Usabilidade da aplicao como veremos rapidamente!

Figura: Formulrio Web da transao Nota fiscal

Pgina 29

GeneXus X: Quick Start

Passo 12: Reviso das Mudanas efetuadas ao Modelo de Dados


Pressione a tecla F5. Isto gerar um Reporte de Anlise de Impacto.

Anlise de Impacto
Descreve as mudanas fsicas que devero se realizar para atualizar o novo modelo de dados inferido pelo GeneXus.

Comprovar que GeneXus normalizou automaticamente seu modelo de dados depois de ter includo a nova transao. Mostra-nos que a tabela Invoice ser afetada, eliminando o atributo CustomerName da tabela Invoice j que o mesmo pode ser inferido atravs do CustomerID.

Aparece uma nova tabela, Customer:

NOTE

Em warning de especificao referese a que pode haver valores duplicados de clientes na tabela Invoice que ao serem normalizados, pode afetar. Tambm se mostra outro warning indicando que os registros que iro se criar tm valor nulo nas tabelas.

Pgina 30

GeneXus X: Quick Start

Figura: Lista da Base de dados (Modelo de Dados)

Observe que: GeneXus adicionou uma nova tabela: a tabela Customer (associada transao 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 No 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 No pode haver duas notas fiscais com o mesmo InvoiceID. o O atributo CustomerID na tabela Invoice uma chave fornea tirada da tabela Cliente. portanto, existe uma relao de um a muitos entre Clientes e notas fiscais: Por cada InvoiceID existe unicamente um CustomerID. Cada CustomerID pode ter muitas notas fiscais (InvoiceID).

Pgina 31

GeneXus X: Quick Start

Passo 13: Visualizao do Reporte de Especificao


J est preparado para proceder com a reorganizao da BD. Selecione a opo REORGANIZE. Os programas de reorganizao criam um novo esquema de base de dados na base de dados fsica do modelo objetivo e transportam os dados do esquema velho para o novo. Executada a reorganizao, o GeneXus desdobra um Reporte de Especificao composto por uma srie de Reportes de Navegao, um para cada programa que ir gerar.

Reporte de Especificao

Descreve como se executar o programa, quais tabelas acessar (e como) e quais operaes realizar.

Figura: Reporte de Navegao de Transao do Customer

Referential Integrity controls on delete (Controles de integridade referencial ao excluir) significa que quando voc exclui um cliente da transao Cliente, o programa verificar que no existam notas fiscais para esse cliente. Para realizar esta busca com eficincia, usa-se o ndice de fora CustomerID da tabela Nota fiscal.

Pgina 32

GeneXus X: Quick Start

Figura: Reporte de Navegao da transao Invoice

Integridade Referencial na transao Nota fiscal: A chave fornea CustomerID no nvel INVOICE significa que quando voc insere ou atualiza uma nota fiscal usando a Transao INVOICE automaticamente se controlar se o valor inserido na chave fornea CustomerID j existe como chave primria de um registro na tabela Cliente. Para realizar esta busca com eficincia, usa-se o ndice primrio CustomerID da tabela Cliente. O controle de integridade referencial valida que um atributo inserido (por exemplo, CustomerID em uma Nota fiscal) vlido, mas no proporciona informao sobre quais so os valores vlidos. Para facilitar a busca dos valores vlidos, GeneXus cria objetos Lista de Seleo (prompts) que mostram o grupo completo de valores vlidos para escolher os que correspondam.

Pgina 33

GeneXus X: Quick Start

Passo 14: Criao dos Formulrios Atraentes Temas


Nesta seo criar um novo Tema baseado em um modelo predefinido e o configurar como o Tema de sua aplicao.

Objeto Tema

O objeto GeneXus Tema melhora o desenvolvimento e manuteno das aplicaes Web separando as tarefas do analista do negcio das do desenhador Web.

Criam-se Formulrios Web baseados num Objeto Tema predeterminado. Voc pode criar novos Temas e associ-los totalidade de sua Base de Conhecimento ou a objetos especficos dentro dela.

1. No menu da esquerda, dentro do menu Customization selecione a opo Themes (clicando duplo). 2. Abra a formulrio GeneXusX 3. Mude a cor de fundo dos Forms selecionando Form e depois editando as propriedades direita. Para mudar a cor de fundo deve selecionar a opo BACKGROUNDCOLOR 4. Salve as mudanas realizadas pressionando o boto de gravar ( )
Figura: GeneXus Theme Editor

5. Se voltar a abrir o objeto INVOICE na aba da Web Form ver refletidos as mudanas realizadas. Nota: para ver a mudanas, caso no o consiga, dever fechar e abrir a transao se ela estava previamente aberta.

Figura: Formulrio Web da transao Invoice com o novo Tema

Pgina 34

GeneXus X: Quick Start

PARTE 3: Manuteno
Tempo estimado: 15 minutos

Desenvolvimento Incremental e Manuteno da Aplicao


At o momento criamos uma aplicao de trabalho baseada em alguns objetos transao e regras do negcio. Agora veremos como manter uma aplicao GeneXus simplesmente editando os objetos GeneXus existentes e/ou adicionando novos e depois atualizando sua base de dados e regenerando os programas da aplicao em forma automtica.

Desenvolvimento Incremental com o GeneXus


medida que a realidade muda, os requerimentos do sistema evoluem e isto se traduz em mudanas nos objetos GeneXus e/ou novos objetos. Com base nos novos objetos, GeneXus atualizar sua base de dados automaticamente (criando um novo esquema de base de dados e migrando os dados do velho esquema para o novo) e regenerar os programas da aplicao que devam ser modificados. Falamos que a Metodologia GeneXus incremental porque se baseia no pressuposto de que o desenvolvimento do sistema um processo iterativo que acontece em sucessivas aproximaes. O desenvolvimento incremental possvel porque GeneXus pode manter o esquema de sua base de dados e os programas de sua aplicao automaticamente.

Passo 15: Incluso de Novos Objetos: Transao Produto


Ao provar a aplicao, certamente ter notado que deve inserir a Identificao, Descrio e Preo de Produto em cada linha da nota fiscal. Isto no o que esperaria de um sistema de gesto de vendas. E nem sequer de um sistema simples como esta aplicao de exemplo! Devemos contar com a possibilidade de adicionar, atualizar e eliminar produtos de nosso sistema. Para faz-lo, adicionaremos o transao Produto em nossa Base de Conhecimento:

Pgina 35

GeneXus X: Quick Start

1. Crie a transao Produto seguindo o Passo 3: Estrutura da transao Produto: ATRIBUTO ProductID ProductName ProductPrice TIPO -------------------------

e o

Passo 4: . Insira os seguintes atributos na

DESCRIO ----------------------------------------------------------

Notar que assim que comear a escrever estes nomes de atributo, o GeneXus lhe indicar o nome completo. Isto acontece porque estes atributos j esto definidos em sua Base de Conhecimento.

A estrutura (Structure) da transao Product e seu Formulrio Web iro se ver da seguinte forma.

Figura: Estrutura da transao Product

Figura: Formulrio Web da transao Produto

Pgina 36

GeneXus X: Quick Start

Passo 16: Anlise e reorganizao da BD


Quando voc salvar seu novamente. A reviso do modelo de dados movendo de Nota fiscal) para a nova objeto Transao Product, GeneXus normalizar o modelo de dados modelo de dados revela que GeneXus normalizou automaticamente o os atributos ProductName e ProductPrice da tabela InvoiceProduct (Detalhe tabela Produto.

Figura: Lista de Base de dados (Modelo de Dados) para o InvoiceProduct e tabelas Produto

1. Selecione Reorganize.

Pgina 37

GeneXus X: Quick Start

2. GeneXus realizar a reorganizao da BD e especificar as mudanas necessrias sobre os programas de aplicao

Figura: Dialog box para a Execuo da Reorganizao e Especificao

3. Chegou a hora de executar sua


aplicao!

Figura: Execuo de sua aplicao

Pgina 38

GeneXus X: Quick Start

PARTE 4: Adicionando funcionalidade


Tempo estimado: 10 minutos.

Utilizao de Padres no desenvolvimento


Tivemos a possibilidade de testar nossa aplicao e comprovar como inserir dados atravs das transaes. Seria conveniente ter uma viso mais general da informao, no apenas de inserir, apagar e modificar Clientes, notas fiscais ou Produtos, mas tambm filtr-los por algum critrio em particular, orden-los, etc. Para implementar esta funcionalidade em forma rpida e simples, utilizamse os Patterns.

Patterns ou Padres
So aes similares aplicadas a diferentes elementos. Os padres permitem criar automaticamente todos os objetos necessrios para cumprir a funcionalidade especificada, evitando ter que faz-lo manualmente.

Passo 17: Aplicar um pattern


Aplicaremos o padro Work With sobre as transaes criadas. 1. Atravs do menu View, selecione a opo Work with Objetcs.

2. Selecionar as transaes Customer, Invoice e Products.

Figura 2 Dilogo para a Seleo de Transaes

Pgina 39

GeneXus X: Quick Start

3. Sobre as transaes selecionados clique direito, opo Apply Pattern, Work With. 4. Grave as mudanas. 5. Pressione F5 para executar a aplicao. Observamos que j no temos acesso s transaes. O que temos um acesso a nosso Trabalhar com Customer, Invoice e Product. 6. Execute a aplicao O pattern adicionou a seguinte funcionalidade: Filtro por data, sem necessidade de refrescar a aplicao. Pode-se ordenar pelas colunas clicando no cabealho das mesmas. Pode-se paginar a grade. Clicando em um link vamos ao view de um objeto, onde se mostram os dados relacionados. Guarda o histrico com os links visitados.

Figura: Seleo do TRN

Figura: Execuo da aplicao

Pgina 40

GeneXus X: Quick Start

PARTE 5: Dilogos interativos


Tempo estimado: 15 minutos

Desenho de Consultas e Dilogos Interativos (Web Panels)

Web Panels

Os Web Panels so usados para fazer dilogos 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 so programados usando uma linguagem simples dirigida por eventos.

Passo 18: Criao de um Web Panel: Nota fiscal por cliente.


Vamos criar um Web Panel que nos permita ver para cada cliente as Notas fiscais que tem associadas. Para isso siga os passos seguintes:

1. No menu Objeto, clique em Novo Objeto. 2. Selecione o Tipo de Objeto que deseja criar: Web Panel. 3. D ao Objeto o nome: InvoicesPerCustomer 4. Clique em OK.

Figura: Dialog box para Definir Objeto

Pgina 41

GeneXus X: Quick Start

5. Aparecer o Formulrio vazio do Web Panel. No menu View, selecione Other Tool Windows, opo Toolbox. Arrastar um controle Free Style Grid. 6. Expanda a grade.

Figura: Janela do Seletor do Free Style Grid

7. Localizados dentro da grade, selecione a opo Insert, Attribute. 8. Selecione o atributo CustomerName e clique em OK.

Figura: Web Panel

Pgina 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 relao entre as tabelas de maneira tal de arrolar as notas fiscais por cada Cliente.

10. Na janela Arrange Columns (Arrumar Colunas) clique em OK.

Figura: Janela Insert Grid

11. Gravar as mudanas oprimindo o diskette.

12. Executar pressionando F5.

Figura: Janela Web Panel com Grid

Figura: Execuo da Aplicao

Pgina 43

GeneXus X: Quick Start

Passo 19: Execuo do Web Panel modificando a instncia do Pattern


Vamos modificar a instncia Pattern Trabalhar com Clientes na transao Customer de forma tal a poder acessar o Web Panel InvoicesPerCustomer.

1. Abrir a Transao Customer e vamos ao Pattern pressionando o boto Work With.

Figura: Transao Customer

2. Vamos adicionar uma ao a esta instncia do Pattern e vamos associla a um boto fora da grade convocando o Web Panel Nota fiscal por Cliente. 3. Posicionar o boto direito sobre a opo Selection (Work With Customers) e escolher a opo ADD, Actions.

Figura: Trabalhar com Clientes

4. Adicionar uma nova ao (boto direito sobre a opo Action, Add,

Pgina 44

GeneXus X: Quick Start

Action)

5. Editamos suas propriedades pressionando F4.

6. Como Name colocamos ViewInvoicesPer Customer, como Caption tambm e no GXObject selecionamos o Web Panel InvoicesPerCustomer. 7. Salvamos as mudanas

Figura: Modificao da instncia do Pattern

8. Executamos a aplicao pressionando F5.

9. Em execuo, selecionar a opo Work with Customers para ver o boto que invoca o Web panel criado.

Figura: Seleo de Objetos

Pgina 45

GeneXus X: Quick Start

Figura: Execuo da Aplicao

Pgina 46

GeneXus X: Quick Start

PARTE 6: Enriquecendo a aplicao


Tempo estimado: 15 minutos

Controles de usurios

User Controls

So controles Web que podem ser inseridos no form de qualquer objeto Web do GeneXus e que vo aumentar notoriamente a funcionalidade e aparncia de nossa aplicao. alm dos user controls padres providos (Chart, Image Galery, Map, Treeview), GeneXus nos prov de um Editor do User Controls atravs do qual poderemos modificar os user controls j existentes e criar nossos prprios user controls e incorporlos ao GeneXus.

Nosso objetivo ser representar em forma grfica as vendas por produto. Para cumprir este requerimento vamos usar o User Control Chart.

Passo 20: Implementao de um User Control


1. Criar um novo objeto do tipo Web Panel que chamaremos SalesxProd.

Figura: Web Panel VentasxPrd

Pgina 47

GeneXus X: Quick Start

2. Ative o Menu Toolbox, atravs do Menu View, Other Tool Windows,Toolbox

3. Arraste o user control Chart para a Web Panel

Figura: Chart

4. Na aba Events, apague o cdigo gerado e transcreva o seguinte:

Figura: Eventos

Pgina 48

GeneXus X: Quick Start

5. Grave o Web Panel

6. Execute a aplicao pressionando F5.

Figura: Execuo da Aplicao

PARABNS!
Voc criou com sucesso primeira aplicao com o GeneXus. Nosso prximo passo oferecer-lhe maior informao sobre as coisas que podem ser feitas com o GeneXus.

Pgina 49

GeneXus X: Quick Start

PARTE 7: Procedimentos
Tempo estimado: 15 minutos

Desenho de Processos No Interativos (Procedimentos)

Procedimentos
At o momento trabalhamos com os Objetos Transao que so objetos GeneXus que requerem a interveno do usurio para inserir, atualizar e eliminar registros na base de dados. No obstante, muitas vezes precisamos realizar tarefas sem a interveno do usurio. Para isso, usamos outro tipo de Objetos GeneXus:

Procedimentos: Definem processos no interativos para consultar e atualizar a base de dados. Os procedimentos so usados para definir funes e sub-rotinas.

Uma funcionalidade chave dos Procedimentos GeneXus que com eles usamos a mesma metodologia baseada no conhecimento que usamos para definir os Objetos Transao. Isto significa que a definio destes objetos baseia-se em nomes de atributos e no nas tabelas da base de dados onde os atributos so armazenados. Portanto, a definio de seus Procedimentos permanece vlida 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).

Caractersticas dos Procedimentos

Processo de alto nvel: Os Procedimentos especificam-se em um processo de muito alto nvel. A seqncia de execuo determinada pelo analista usando uma linguagem de processo simples que inclui controle, impresso, acesso a dados e outros comandos. Baseados em Conhecimento: O cdigo fonte dos Procedimentos refere-se a nomes de atributos na Base de Conhecimento, no a sua localizao na base de dados fsica (do Modelo de Prottipo ou Produo). Portanto: o O GeneXus sabe onde encontrar os atributos na base de dados fsica. o O GeneXus conhece as relaes entre as tabelas na base de dados fsica. o Os Atributos Frmula so inferidos automaticamente pelo GeneXus.

As mudanas na base de dados fsica no afetam o comportamento dos Procedimentos

Pgina 50

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 preos vigentes.

Passo 21: Implementao de um Procedimento para impresso


1. Criar um novo objeto do tipo Procedimento chamado CustomerReport

2. Dentro da aba Source insira o seguinte cdigo:

Figura: Procedimento CustomerReport

For each &Total=SUM(InvoiceTotal) Print printBlock1 Endfor

Figura: Source do Procedimento CustomerReport

3. Ir aba de Layout. Inserir o atributo Customer Name (para isso v opo Insert/Attribute).

Pgina 51

GeneXus X: Quick Start

Figura: Layout do procedimento

4. Insira uma varivel chamada Total, do tipo numrica de 6 dgitos.

Figura: Insero de variveis

5. Utilizando o Toolbox voc pode botar desenho em seu reporte (inserir Labels, Linhas, etc.). Por exemplo, com o boto direito sobre o PrintBlock1 insira outro PrintBlock e adicione os ttulos correspondentes (CLIENTE e TOTAL) utilizando a opo Label do Toolbox. Depois, mova o PrintBlock2 para cima, utilizando a opo que se desdobrar ao pressionar o boto direito do mouse. Dever adicionar no Source o seguinte cdigo:

Figura: Layout do Procedimento

6. Grave o procedimento.

Pgina 52

GeneXus X: Quick Start

7. Nas propriedades do procedimento que se desdobram a sua direita, defina a propriedade Main Program como TRUE e Call Protocol no HTTP.

Figura: Propriedades do procedimento

8. Na aba de Regras insira a seguinte sentena para definir o nome e tipo de arquivo:

Output_file('Customers.PDF','PDF');

Figura: Regras do Procedimento

9. Para chamar este procedimento que imprime os totais por cliente deveremos inserir um boto na transao de notas fiscais. Para isso, abra o objeto INVOICE. Dentro da aba Web, abra o Tollbox e arraste um boto dentro da transao.

Figura: Transao de notas fiscais

Pgina 53

GeneXus X: Quick Start

10. Edite as propriedades clicando direito sobre o boto inserido. No Caption insira Imprimir, no On clic Event define New, defina Imprimir.

Figura: Propriedades da transao

11. Na aba de Eventos adicione o seguinte cdigo:

Event 'Imprimir' CustomerReport.Call EndEvent

Figura: Eventos da transao

12. Salve e execute pressionando F5. Insira uma nova nota fiscal para testar a nova funcionalidade inserida.

Figura: Execuo da Aplicao

Pgina 54

GeneXus X: Quick Start

Passo 22: Implementao de um Procedimento para atualizao


Agora realizaremos um procedimento que permita modificar em 10%.os preos vigentes 1. Criar um novo objeto do tipo Procedimento chamado Discount_of_prices.

2. Na aba de Source adicione o seguinte cdigo:

Figura: Procedimento Atualizao de preos

For each ProductPrice = ProductPrice+ProductPrice*0.10 Endfor

Figura: Source do Procedimento

3. Grave o procedimento criado. 4. Para chamar este procedimento, criaremos um Web Panel. O Web Panel ser nomeado Control_Panel.

Pgina 55

GeneXus X: Quick Start

Figura: Web Panel Control_Panel

5. Na aba da Web Form insira um Button (do menu Toolbox)

Figura: Web Form

6. Edite as propriedades do boto clicando direito sobre o boto inserido. No caption insira Modificar preos.

7. Posicionado sobre o boto, clique direito para Editar o Evento (opo Go to Event). No evento dever realizar a chamada ao procedimento:

Event Enter Discount_of_prices.call() EndEvent

Figura: Evento

8. Grave o Web Panel e execute pressionando F5.

Figura: Execuo da aplicao

Pgina 56

GeneXus X: Quick Start

PARTE 8: Multiplataforma
Tempo estimado: 5 minutos

Desenvolvimento Multiplataforma
GeneXus uma ferramenta que permite gerar aplicaes de misso crtica em mltiplas plataformas. Uma vez que gerou e executou uma aplicao em um desses ambientes, gerar e executar a mesma aplicao em outro ambiente to simples quanto definir um novo ambiente. A GeneXus Trial Version oferece unicamente o gerador GeneXus .NET. No entanto, a verso completa do GeneXus suporta as plataformas lderes do mercado. Visite http://www.genexus.com/technologies para obter uma lista completa das tecnologias suportadas pelo GeneXus.

Pgina 57

GeneXus X: Quick Start

Resumo
Esperamos que este tutorial lhe tenha permitido experimentar as funcionalidades e benefcios chaves do GeneXus:

Desenho de Aplicaes baseado em Conhecimento Comeamos por criar uma Base de Conhecimento e descrever os requerimentos de dados de nossa aplicao como uma srie de componentes do negcio chamados Objetos Transao no Modelo de Desenho da Base de Conhecimento. GeneXus usou esta informao para inferir o modelo de dados timo (3. forma normal) requerido para suportar todas suas Transaes. Tambm adicionamos algumas regras do negcio nas que GeneXus se baseou para gerar o cdigo da lgica do negcio da aplicao.

Gerao Automtica da Base de dados Escolhemos uma plataforma de execuo especfica (Web, linguagem de programao, DBMS, etc.) e criamos um Modelo no qual GeneXus gerou automaticamente uma base de dados fsica com o modelo de dados do Modelo de Desenho.

Gerao Automtica de Cdigo e Prottipo Completamente Funcional Geramos o cdigo fonte para os programas de nossa aplicao e testamos a aplicao no ambiente de prottipo.

Manuteno da Aplicao Vimos como simples manter/expandir uma aplicao, simplesmente editando os objetos GeneXus existentes e/ou adicionando novos, e depois GeneXus atualiza a base de dados e regenera os programas da aplicao em forma automtica.

Desenho de Processos No Interativo Proporcionamos uma viso geral sobre o que so os procedimentos independentemente da estrutura da base de dados da aplicao.

Desenvolvimento Multiplataforma Finalmente, descrevemos como migrar facilmente sua aplicao GeneXus de um ambiente para outro.

Pgina 58

GeneXus X: Quick Start

FAQ
Question GeneXus gera 100% do cdigo?

Sim, GeneXus desenha, gera e mantm a base de dados e o cdigo da aplicao.

Question

O cdigo gerado usa runtimes?

No. GeneXus gera cdigo nativo na plataforma selecionada e no requer runtimes.

Question

possvel utilizar estruturas de dados j existentes?

Sim, no GeneXus existe uma ferramenta (DBRET: Data Base Reverse Engineering) que permite acessar BD existentes em distintas tecnologias.

Question

possvel tocar o cdigo gerado?

Sim, embora no recomendvel visto que se perdem os benefcios de manuteno automtica e independncia da tecnologia. Em caso de querer utilizar cdigo j existente, possvel fazer chamadas dentro do GeneXus sem necessidade de modificar o cdigo gerado.

Question

Posso integrar controles (flash/Silverlight/JavaScript) em uma aplicao?

Sim, GeneXus permite integrar diferentes tipos de controles. http://gallery.genexus.com/catalog.aspx?3 e http://wiki.gxtechnical.com/commwiki/servlet/hwiki?category%3AUser+Controls,

Veja

mais

em em

Pgina 59

GeneXus X: Quick Start

Question

Qual o conceito de Tabela Estendida?

Dada uma tabela base, sua tabela estendida o grupo de atributos que so direta ou indiretamente determinados pela chave da tabela base:


Usos:

Atributos que pertencem tabela base. Atributos que pertencem a todas as tabelas que esto direta ou indiretamente relacionadas em uma relao N a 1 com a tabela base. O conceito de tabela estendida permite que os reportes e procedimentos GeneXus permaneam vlidos quando a estrutura da base de dados muda. A tabela estendida tambm tambm usada pelos objetos transao que podem inserir, atualizar e eliminar atributos que pertencem s tabelas estendidas das tabelas base referenciadas na estrutura da transao.

Para encontrar a tabela estendida de uma tabela dada possvel usar o Diagrama de Bachmann do modelo de dados da base de conhecimento: 1. Sobre a opo Objects, crie um novo objeto do tipo Diagrams 2. Selecione as tabelas que deseja desdobrar e arraste-as.

Figura 3 Diagrama de Bachmann do Modelo de Dados

Neste exemplo, podemos identificar a tabela estendida de cada uma das tabelas de nosso projeto: Tabela Base Customer Invoice InvoiceProduct Tabela Estendida Customer Invoice, Customer InvoiceProduct, Invoice, Customer

Pgina 60

GeneXus X: Quick Start

Question

Qual o conceito de For Each?

O comando For Each o corao da linguagem de procedimentos usado pelo GeneXus para definir reportes e procedimentos. Recupera e atualiza informao (mediante procedimentos online) a partir de sua base de dados. Com o comando For Each voc pode definir a informao que deseja acessar e nomear os atributos que deseja usar. GeneXus inferir automaticamente as tabelas apropriadas em tempo de gerao. Quando a estrutura da base de dados mudar, as definies do For Each permanecero vlidas. A sintaxe bsica do For Each a seguinte: for each print <something> endfor 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 sero acessadas so determinadas pelos atributos contidos no comando For Each. Para este grupo de atributos, GeneXus inferir a mnima tabela estendida. A tabela base deste grupo de atributos ser a tabela base do For Each

Pgina 61

GeneXus X: Quick Start

Contatos e Recursos
A Comunidade GeneXus
A Comunidade GeneXus lhe oferece diversas formas de obter respostas a suas perguntas e solues a seus problemas, bem como tambm oportunidades para compartilhar suas prprias experincias. Encontrar uma lista completa dos recursos disponveis da Comunidade em http://www.genexus.com/community/

Suporte
A Artech oferece uma ampla variedade de servios e recursos de suporte: Suporte Auto-Servio Online Estes recursos esto disponveis para todos online. No entanto, a informao que cada um possa acessar depende de seu Nvel de Acesso ao GXtechnical (Usurio Registrado ou Cliente). Servios de Suporte Interativo Interatue com outros membros da Comunidade ou com a Equipe 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 so vendidas atravs da rede de distribuidores no mundo todo. Encontre seu distribuidor mais prximo aqui http://www.genexus.com/distributors Ou entre em contato com sales@genexus.com

Links recomendados
Web site: http://www.genexus.com GeneXus X rea de capacitao: http://training.genexus.com Comunidade GeneXus: http://www.genexus.com/community

Pgina 62