Você está na página 1de 23

Introduo ao Genexus

Fonte: http://thiagoazeredogenexus.blogspot.com/

Nota ao Estudante Genexus


Com o objetivo de brindar aos desenvolvedores GeneXus uma fonte nica de informao com uma engenharia de busca que lhes permita acessar de forma rpida e fcil a informao tcnica (release notes, manuais, tips, whitepapers, etc.) referente ao diferente produtos que Artech desenvolve, criou-se a GXDL (Genexus Developer Library), uma biblioteca toda informao tcnicas. A consulta pode ser online ou utilizar localmente mediante um simples instalao: HTTP://www.gxtechnical.com/gxdl .

Introduo Teica Genexus


FERRAMENTAS E METODOLOGIAS

Nossa tarefa como profissionais de informtica consiste em desenvolver e manter aplicaes para apoiar ao usurio na sua atividade. Para realizar esta tarefa existem diferentes ferramentas e metodologias. Genexus uma ferramenta para o desenvolvimento de aplicaes sobre bases de dados. Seu objetivo permitir a implantao de aplicaes no menor tempo e com a melhor capacidade possvel. Em linhas gerais, o desenvolvimento de uma aplicao implica tarefas de anlise, desenho e implementao. Amaneira do GeneXus alcanar o objetivo anterior liberar as pessoas das tarefas automatizveis (desenho da base de dados), permitindo

assim se concentrar nas tarefas realmente difceis e no automatizveis (compreender os problemas do usurio). GeneXus emprega uma metodologia que tem um enfoque muito diferente da metodologias mais utilizadas. Apreender a utilizar Genexus adeguadamente vai alm de conhecer uma nova linguagem: o mais importante compreender sua metodologia. -> MODELAGEM DA REALIDADE A PARTIR DAS VISES DOS USURIOS

O primeiro problema enfrentado no desenvolvimento de aplicaes a obteno do conhecimento da realidade. Ningum dentro da empresa conhece os requerimentos e o alcance da aplicao para o desenvolvedor todas a aplicao. Ento, como fazer para obter o conhecimento da realidade de uma forma suficientemente objetiva e detalhada ao mesmo tempo, que nos permita construir um modelo corporativo? Este conhecimento encontrado em cada uma das vises dos usurios. Cada usurio conhece muito bem a sua realidade, os objetivos que trabalha cotidianamente, a informao que se administra neles, as regras que devem ser seguidas, os clculos que devem ser realizados. O ponto de partida da metodologia GeneXus : descrever as vises dos usurios para modelar o sistema; e a partir da definio da realidade do modelo, o GeneXus constri o suporte computacional: a base de dados e os programas de forma totalmente automtica.

COMPARAO DE METODOLOGIAS
Para fixar as idias, vamos comparar as metodologias tradicionais mais utilizadas atualmente, com a metodologia pelo GeneXus, conhecida com metodologia incremental As metodologias tradicionais diferem entre si em vrios aspectos, mas tambm tem uma

caracterstica em comum: separar a anlise dos dados processos. Veremos um esquema geral, que pode ser aplicado a qualquer metodologia tradicional atual e estudar seus problemas.

METODOLOGIA TRADICIONAL

A primeira tarefa realizada geralmente a Anlise de Dados, onde a realidade estudada de forma abstrata, para identificar os objetivos existentes e suas relaes e obter como resultado um Modelo de Dados com as entidades e relaes encontradas (modelo ER). fcil ver que existe um correspondncia muito simples entre o modelo de dados e a base de dados necessria para suport-lo. A seguinte tarefa ento, desenhar essa base de dados, partindo do modelo de dados. Construir um sistema integrado, requer um modelo de dados corporativos, e dependendo do tamanho da empresa, esta pode resultar numa tarefa de enorme complexidade. Quando isso ocorre, a complexibilidade pode ser resolvida dividindo o sistema em mdulo, onde cada um soluciona os problemas operacionais de uma de uma rea especfica da empresa desta forma, a tarefa de modelagem simplifica-se notavelmente, mas em contrapartida, os mdulos operam sem uma real integrao, o que provoca a existncia de informao redundante e com todos os problemas que isso acarreta. Se a tarefa seguinte for realizar a integrao desses mdulos, haver que realizar modificaes sobre o modelos e dados, o qual, apesar de sua complexidade, uma tarefa a ser realizada. As modificaes que devem ser efetuadas sobre os programas associados tm um custo muito elevado que torna invivel a integrao. Com a diviso do sistema em mdulos a empresa ter resultados de seus problemas operacionais, mas vo aparecer indefinidamente problemas de carncia de informao que permita orientar a gesto e a tomada de deciso de alto nvel. Na rbita gerencial, a informao necessria principalmente de natureza corporativa, porque a diviso do sistema em mdulos no satisfaz as necessidades atuais de obteno de informao. GeneXus soluciona este problema, brindando ferramentas e uma metodologia que torna possvel e fcil a criao e manuteno de sistema corporativos. Uma vez obtido o modelo de dados, o passo seguinte desenhar a base de dados. Existe

uma transformao trivial entre um bom modelo de dados, e o desenho da base de dados necessrio para suport-lo Para isso, o modelo de dados no suficiente para desenvolver os programas de aplicao, j que o mesmo descreve os dados, mas no os comportamentos. Recorre-se, ento, a uma tarefa chamada Anlise Funcional, onde a empresa estudada desde o ponto de vista das funes existentes, e o resultado da dita tarefa uma Especificao Funcional. Seria desejvel que a especificao funcional fosse independente da especificao de dados, mas isto no ocorre nas metodologias estudadas. As modificaes funcionais, sendo esta a causa fundamental dos grandes custos de manuteno que este sistema possuem. Com base de dados e a especificao funcional prontas, j esto dadas as condies para criar programas de aplicao. Hoje em dia existem vrias alternativas: Programao em linguagem de terceira e quarta gerao (L3G, L4G) Gerao /Implementao No ponto de vista conceitual no tem diferena entre a programao em linguagem 3 e/ ou de 4 gerao. Em ambos os casos o analista deve estudar o problema, transform-lo num algoritmo e codific-lo na linguagem de programao escolida. A principal diferena entre ambas as alternativas esto na linguagem 4 gerao se escrevem menos cdigos (aproximadamente 10 vezes menos) e, como conseguncia, a produtividade maior e o nmero de erros ocorridos menor. Agora, o problema das descries dos processos depende da base de dados que afeta a ambos por iqual, porque as linguagens de 4 gerao permiti aumento de produtividade , maiores sobre as de 3 gerao na tarefa de desenvolvimento, mas quase no ajudam na etapa de manuteno. Uma alternativa possvel a utilizao de um gerador : uma ferramenta que pode interpretar uma especificao funcional e produz automaticamente os programas. Aqui existe uma diferena conceitual importante em relao ao caso anterior. Neste caso o analista descreve o problema de uma forma declarativa (no existe nem algoritmo nem condies estruturao alguma). Por isso a especificao funcional deve ser informal e rigorosa. Existem atualmente no mercado vrias ferramentas desta classe. Existe outra categoria de ferramentas conceitualmente idntica: aquelas que simplesmente interpretam a especificao. A programao em ambos os casos totalmente automtico, pelo qual o aumento da produtividade sobre as ferramentas de 3 e 4 gerao so enormes. Em definitivo, do ponto de manuteno nenhuma ferramenta ajuda muito, visto que em todas elas so utilizados descrio de processos que podem perder sua validez quando existem grandes modificaes de arquivo e que, por isto, devem ser revisados e mantidos manualmente. O custo de manuteno, difere enormemente entre essas diversas alternativas, j que utilizando geradores ou interpretadores, uma vez realizada as especificaes funcionais a gerao dos programas automtica. Se fosse verdade: pode obter-se uma base de dados estvel, os problemas anteriores seriam irrelevantes. Entretanto, temos vrios exemplos que nos provam o contrrio. Concluses No possvel fazer de forma abstrata um modelo de dados detalhado da empresa e com um nvel suficiente de detalhes e objetividade, j que ningum a conhece totalmente. Pelo contrrio, necessrio recorrer a mltiplos interlocutores, cada um aportando sua prpria subjetividade. Tendo como conseqncia durante todo o ciclo de vida aplicao mudana no modelo.

Mesmo ao considerar a situao ideal, na qual se conhecem exatamente as necessidades e, portanto possvel definir uma base de dados tima , o modelo, de todas as formas, no permanecem esttico, j que deve acompanhar a evoluo da empresa. Tudo isso no seria importante se a especificao funcional e a base de dados fossem independentes. Dado que a especificao funcional refere-se base de dados, as inevitveis modificao nesta ltima, implica nas modificaes (manuais) na primeira. As principais conseqncias do item anterior so os altos custos de manuteno: na maioria das empresas que trabalham de maneira convencional admitido que 80% dos recursos que teoricamente esto destinados ao desenvolvimento, so utilizados na realidade na manuteno nesta ltima, implicam nas modificaes (manuais) na primeira. As principais conseqncias do item anterior so os altos custos de manuteno: na maioria das empresas que trabalham de maneira convencional admitido que 80% dos recursos que teoricamente esto destinados ao desenvolvimento, so utilizados na realidade na manuteno das aplicaes j implementadas. Visto que muito difcil neste contexto determinar e propagar as conseqncias das mudanas da base de dados sobre os processos, habitual que, em vez de efetuarem-se as trocas necessrias, se opte por introduzir novos arquivos redundantes, levando a degradao da qualidade dos sistemas e o incremento dos custos de manuteno.

METODOLOGIA GENEXUS
Os fundamentadores de ARTech tm desenvolvido uma ampla atividade de consultoria internacional no desenho de grandes bases de dados, trabalhando com verdadeiros modelos corporativos que possuem inmeras tabelas. Em sua trajetria, convenceram-se de que no deveriam perder mais tempo buscando algo que no existe: Bases de dados estveis. Logo, a partir de importantes investigaes, desenvolveram uma teoria, organizaram uma metodologia e programaram uma ferramenta para possibilitar o desenvolvimento incremental, permitido a convivncia com as bases de dados instveis com um custo mnimo.

Utilizando GeneXus, a tarefa bsica do analista a descrio da realidade. Somente o homem pode desenvolver esta tarefa, j que s ele pode entender o problema do usurio. O analista GeneXus trabalha em alto nvel, em vez de realizar tarefas de baixo nvel como: desenhar arquivos, normalizar, desenhar programar, buscar e eliminar erros dos programadores. Para comear o desenvolvimento de uma aplicao com GeneXus, primeiramente deve ser criado um novo projeto ou base de conhecimento. Uma vez criada uma nova base de conhecimento (cujo termo em ingls : Knowledge base, KB), o seguinte passo descrever as vises dos usurios. Para isso, os objetos da realidade devem ser identificados (prestando ateno aos substantivos que os usurios mencionam em suas descries, como por exemplo: clientes, produtos, faturas) e passar a defini-los mediante objetivos GeneXus Com a definio deste objetos, o GeneXus pode extrair o conhecimento, desenhar a base de dados e os programas da aplicao em forma totalmente automtica.

A partir dos objetivos definitivos na base de conhecimento, Genexus gera automaticamente tanto os programas de criao/reorganizao da base de dados como os programas da aplicao. Quando um objetivo da realidade muda, so identificados as novas ou diferenas caracterstica acerca do mesmo, ou encontrado objetos ainda no modelados. O analista Genexus deve refletir sobre mudanas correspondncia nos objetos GeneXus e a ferramenta se encarrega automaticamente de realizar as modificaes necessrias tanto na base de dados como nos programas associados. A metodologia GeneXus uma metodologia Incremental, pois, parte da base da construo de um sistema realiza-se mediante realizaes sucessivas. Em cada momento, o analista GeneXus define o conhecimento que tem e assim que passa a ter mais conhecimento (ou simplismente um conhecimento diferente), reflete na base de conhecimento, e o GeneXus se ocupa de fazer automaticamente todas as adaptaes na base de dados e nos programas. Caso o GeneXus no seja capaz de realizar automaticamente as modificaes na base de dados e nos programas, conforme sejam realizadas as mudanas que assim o requerem, o desenvolvimento incremental seria invivel.

Comparao de Metodologias

Como foi visto, existem vrios caminhos para a implementao de aplicaes. 1. Programao utilizando linguagem de 3 gerao. 2. Programao utilizando linguagens de 4 gerao. 3. Gerao / interpretao automtica da especificao funcional 4. Desenvolvimento incremental A produtividade no desenvolvimento de aplicaes aumentou muito. Diminuindo em grande parte a manuteno das aplicaes (dados e programas), o que somente se consegue com o desenvolvimento incremental.

OBJETO GENEXUS

Uma vez criada uma nova base de conhecimento, o passo seguinte consiste em comear a descrever os objetos da realidade mediante ao objeto GeneXus. TRANSAES Permite definir objetos da realidade que o usurio manipula (ex: clientes, produtos, fornecedores, faturas, etc.). So os primeiros objetos que so definidos, porque atravs das transaes que o GeneXus infere o desenho da base de dados. As transaes tm o objetivo definir a realidade e a conseqente criao da base de dados normalizando. Cada transao tem associada uma tela para o ambiente Windows e outra para o ambiente web, para permitir ao usurio inserir, eliminar e modificar de forma interativa na base de dados. O analista GeneXus decidir se vai trabalhar em ambiente Windows, web ou ambos, e o GeneXus decidir se vai trabalhar em ambiente Windows, web, ou ambos, e o GeneXus gerar os programas necessrios. REPORTES Permite recuperar informaes da base de dados, e mostr-las seja na tela, num arquivo ou impressa em papel. So as tpicas listas ou relatrios. No permitem atualizar a informao da base de dados*. PROCEDIMENTOS Tem as mesmas caractersticas que os reportes, mas a diferena destes que permitem a atualizao da informao da base de dados. WORK PANELS Permitem ao usurio realizar internamente consultas a base de dados, atravs de uma tela. Exemplo: uma work panel permite ao usurio informar uma faixa de caracteres, e mostra a continuao de todos os clientes cujos nomes se encontram dentro dessa faixa. So objetos muito flexvel que se prestam para mltiplos usos. No permitem a atualizao da base de dados, apenas consult-la. WEB PANELS So simples as work Panels, salvo que so usadas atravs de browsers em ambiente internet / Intranet / Extranet.

Existem outros objetos GeneXus, alguns dos quais veremos neste curso, como os Subtype Groups e os Structure Data Type, que so objetos, definidos na base de conhecimento caracterstica que os diferenciam da maioria deles, como o fato de no gerar programas prprias, mas sim que seu conhecimento utilizado dentro de outro objetos.

PROCESSO DE DESENVOLVIMENTO DE APLICAO COM GENEXUS

Os primeiros objetivos definidos so as transaes, j que a partir deles que o GeneXus extrai o conhecimento necessrio para desenhar o modelo de dados normalizados normalizados ( em 3 gerao forma normal). Logo vo se definindo os demais objetivo que correspondam.

Criao de Base de Dados

O GeneXus gera automaticamente os programas necessrios para criar a base de dados e os executa. Desta forma a base de dados criada pelo GeneXus de forma automtica.

Gerao dos programas da aplicao

Logo, o GeneXus gera os programas de aplicao para interagir com a base de dados previamente criada.

Resultado final na Etapa de Desenvolvimento

As vises dos usurios mudam

Durante o ciclo da aplicao, vai surgir repetidamente necessidade de serem feitas modificaes na base de conhecimento, seja porque as vises dos usurios mudaram, ou porque devem ser feitas correes, ou acrescentar novos conhecimento. As modificaes realizadas na base de conhecimento sero analisadas pelo GeneXus para avaliar se necessrio efetuar mudanas na base de dados ( por exemplo: modificao/criao de tabelas/ndices), ou no. Em caso de detectar mudanas para efetuar na base dados, o GeneXus vai detalhar os

mesmos num relatrio de anlise de impacto (IAR: Impacto Analisis Report), um relatrio que explica todas as mudanas sobre a tabelas, ndice, dados, etc. que precisam ser realizadas para refletir a nova realidade. Mesmo assim, no relatrio de anlise de impacto, se informam os eventuais problemas que as mudanas em questo podem ocasionar com ter inconsistncia ou redundncias.

Anlise de Impacto totalmente automtico

- Algumas vezes a nova base de dados coincide com a anterior. Outras vezes isto no ocorre, a base de dados sofre alguma modificao para representar a nova realidade. - O Analista deve estudar o relatrio de analise de impacto de resolver se deseja realizar efetivamente as mudanas na base de dados, ou renunciar a base de dados e deixar como estava, ou fazer outras alteraes.

Erro no IIS7 (VISTA) gerado para o GeneXus ( MODIFICANDO O IIS) TEM OUTRA SOLUO NO BLOG
************************* Encontrei o relato abaixo que estava em espanhol e que segundo ele deu certo... o nome dele -> Enrique Almeida Montevideo, Uruguay <Contudo nesse blog tem um que testei funcionou apenas troca no WebService.... MODIFICAO NO GX !SIMPLES ************************* Siga os passos da documentao sem problemas, eu queria fugir. Embora a coleta

mostraram que no h erros, no poderia ser executada. Mais exaustivamente verificar a especificao / gerao / compilao e encontrar um erro dizendo "No possvel criar diretrio virtual". Ningum parecia demasiado complicado erro, tente digitar os administradores do IIS, e eu disse que ele no poderia applicationHost.config porque no um arquivo XML vlido. E realmente passou a verificar-se vazia. um dos dois arquivos usando IIS7 para salvar as configuraes de modo que era difcil porque eu no podia levantar ou at mesmo fazer isso foi o que eu tinha previamente configurado. Felizmente, depois de algumas investigaes, descobrimos que guarda uma cpia das configuraes anteriores em c: \ inetpub \ histria. No que se refere cpia da verso anterior podem resolver o problema. DICA passo a passo, se algum acontece. Ocorreu no IIS7 (o IIS que vem com o Windows Vista).

Hostear aplicaciones en IIS 7.0 o superior


A partir de IIS 7 se cuenta con la propiedad Managed Pipeline Mode a nivel de Application Pool, cuyo valor puede ser: 1. Classic 2. Integrated Cuando su valor es Classic, el Application Pool de IIS 7.0 funciona de igual forma que IIS 6.0 con respecto a ASP.NET. Cuando su valor es Integrated, el Application Pool funciona de acuerdo a la nueva implementacin de IIS 7.0. Por mas informacin: http://www.iis.net/default.aspx?i=928&subtabid=25&tabid=2 Si tenemos una aplicacin hosteada en un IIS 6.0 funcionando correctamente y queremos hostearla en un IIS 7.0 podemos hacer lo siguiente: 1. Asociar un Application Pool a nuestro Virtual Directory cuya propiedad Managed Pipeline Mode sea Classic, de no existir dicho App Pool en el IIS crear uno con dicha propiedad seteata en Classic y asociarlo al Virtual Directory en cuestin. 2. Asociar un Application Pool a nustro Virtual Directory cuya propiedad Managed Pipeline Mode sea Integrated, y luego ejecutar el siguiente comando: > %windir%\system32\inetsrv\Appcmd migrate config ""

Donde: * "" = "Default Web Site/" o * "" = "Default Web Site/WebApplication/" Por mas informacin: http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-oniis-70/ Nota: - Cuando se crea un directorio virtual en el IIS version 7.0 por defecto el valor de la propiedad Application Pool es DefaultAppPool. - Para cambiar el Application Pool asociado a un Virtual Directory se deben realizar los siguientes pasos: 1. botn derecho sobre el directorio virtual 2. seleccionar la opcin: Manage Application -> Advanced Settings 3. cambiar el valor de la propiedad Application Pool - Para cambiar la propiedad Managed Pipeline Mode a nivel de Application Pool se deben realizar los siguientes pasos: 1. botn derecho sobre el Application Pool 2. seleccionar la opcin: Advanced Settings 3. cambiar el valor de la propiedad Managed Pipeline Mode

********************************************************************** TRADUO PARA PORTUGUS ********************************************************************** Uma vez que o IIS 7 a propriedade Dirigido Pipeline Mode Application Pool nvel, cujo valor pode ser: 1. Clssico 2. Integrada Quando seu valor Clssico, o Application Pool no IIS 7,0 funciona da mesma forma que o IIS 6.0 em comparao com ASP.NET. Quando o seu valor integrado, o Application Pool executado em consonncia com a nova aplicao do IIS 7.0. Para mais informaes: http://www.iis.net/default.aspx?i=928&subtabid=25&tabid=2 Se tivermos um bom acolhimento no IIS 6.0 e deseja hospedar um IIS 7,0 ns podemos fazer o seguinte:

1. Associar um Application Pool em nossa propriedade Dirigido Gasoduto Virtual Directory Modo Clssico , na ausncia da App Pool no IIS essa propriedade para criar um clssico seteata andaluzia Virtual Directory e ligao em questo. 2. Associar um Application Pool para nustro propriedade Virtual Directory est integrado Dirigido Pipeline Mode, em seguida, execute o seguinte comando: >% Windir% \ system32 \ inetsrv \ Appcmd migrar config "" Onde: * "" = "Default Web Site /" ou * "" = "Default Web Site / WebApplication /" Para mais informaes: http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changeson-iis-70/ Nota: - Ao criar um diretrio virtual no IIS verso 7.0 propriedade valor padro DefaultAppPool Application Pool. - Para alterar o Application Pool associada com um diretrio virtual deve realizar os seguintes passos: 1. Boto direito do mouse sobre o diretrio virtual 2. selecione: Application Management -> Configuraes avanadas 3. Altere o valor da propriedade Application Pool - Para alterar a propriedade Managed Pipeline Mode Application Pool devem ser realizados os seguintes passos: 1. Boto direito do mouse sobre o Application Pool 2. selecione a opo Configuraes avanadas 3. Altere o valor do imvel Managed Pipeline Mode

Erro HTTP 404,0 - No Encontrado O recurso que voc est procurando foi
Eu estava com o seguinte erro do ttulo (que estava dando ao executar meu aplicativo..) ento comecei a fazer pesquisa ...E acabei achando a soluo e estou aqui agora divulgado para todos. Acabou seu erro na execuo do seu aplicativo .Net gerado pelo Genexus X .. erro de IIS7 (Windows Vista) ... Na PREFERENCES dever ter em seu progeto .Net Environment > Generators > Default(C# Web)

click F4 ( Abrir as propriedades ) V na opo Execution > WebService > Ter as seguintes opes (Internet Information Server / ASP .Net Development Web Server / WebDev.Server2 COLOQUE ----->>>>>>> WebDev.Server2 <<<<<<<<-------------FUNCIONAR !!!!!!!!!!!!!!!!!! Abaixo est o exemplo ...

GENEXUS - SMPT - Envio de e-mail


Abaixo se encontra uma rotina na qual faz o envio de e-maile com suas explicaes necessrias. ********************************************************************** /* Autor : Thiago Azeredo Data : 13/03/2009 Objetivo : Enviar e-mail! .... Usando o corpo do e-mail com WebPanel, entre outras coisa. */ 1 Passo: Criar varivel de caracter para receber de uma tabela de parmetro os dados do servidor de sada, usurio e a senha do usurio. OBS: Motivo para que esse dados estejam dentro de uma tabela, Facilitar a modificao

de servidor e at mesmo de usurio da conta de email ! Ex: &emailServer = SMTP.GMAIL.COM &emailUsr = azeredo.thiago@gmail.com &emailPwd = 123 */ // Ler configurao (WEBMAIL) Parmetros padres ! &emailServer = udp(BuscaParametroSystem,'EMAILSERVSAIDA') &emailUsr = udp(BuscaParametroSystem,'EMAILSERVUSR') &emailPwd = udp(BuscaParametroSystem,'EMAILSERVPWD') /* 2) Passo: Criar uma varivel do Type MailMessage. OBS: A maior parte da configurao de seu e-mail ir para essa varivel, como o corpo do e-mail. */ // O Nome de quem est mandando. OBS: Mesmo sendo outra pessoa quem mando aparecer esse nome // Sender = Remetente &MailMessage.Sender.Name = 'Blog thiagoazeredo.blogspot.com' // O endereo que chegar para o recebedor do e-mail, ou seja, podemos mascarar o email! &MailMessage.Sender.Address = 'azeredo.thiago@gmail.com' //OBS: Isso pode ser feito com o From .. CC ... BCC

// CONFIGURAO DO SMTP - SMTPSession // &SMTP uma varivel do tipo SMTPSession // Autenticar e-mail &SMTP.Authentication = 1 // Indica o servidor de sada SMTP &SMTP.Host = &emailServer (SMTP.GMAIL.COM) // Usurio que eviar o e-mail &SMTP.UserName = &emailUsr (azeredo.thiago@gmail.com) // Senha do usurio que enviar o e-mail &SMTP.Password = &emailPwd (123) // Logando no servidor de sada! &SMTP.Login()

// Sada de e-mail identificou erro no servidor ... if &SMTP.ErrCode <> 0 msg(&SMTP.ErrDescription) else // Mensagem retornada no servidor! &SMTP.Send(&MailMessage) // Caso no retorne nada no indicador, ou seja, seja zero em msg SUSCESSO if &SMTP.ErrCode = 0 Msg('E-mail enviado com sucesso!') else // Erro retornado pelo servidor! msg(&SMTP.ErrDescription) endif EndIf

///************************************************ // OBSERVE: NO TEM O CORPODO E-MAIL PORQUE RECEBEREMOS POR UM PARMETRO. Parm(in:&MailMessage); // Para que o cdigo dessa procedure no seja duplicado. Pois, essa uma configurao de envio de e-mail. Ter uma procedure em outra postagem mostrando como configura um corpo do e-mail com WebPanel

CORPO DO E-MAIL - ENVIO DE E-MAIL


/* Fiz uma rotina simples para que possa enviar para a procedure de SMTP, utilizando uma WebPainel. Para isso criaremos uma varivel do Type &MailRecipient (Tipo MailRecipient), &MailMessage (Tipo MailMessage) e Wrap (Tipo WebWrapper) */ // E-mail para? (TO) For Each where EmpCod = &EmpCod where UserId = &UserId // Nome do usurio &UserName = UserName // Senha do usurio &UserSenha = UserSenha

// Coloca a pessoa que ir receber // OBS: poderia ter diversos e-mails For Each where ContatoTipo = 'E' // Adiciona no continer &MailRecipientTO.Address = ContatoContato &MailRecipientTO.Name = ContatoName &MailMessage.To.Add(&MailRecipientTO) // COLOCA DIVERSOS E-MAIL DE FROM (PARA) ... CC / BCC EndFor // Assunto do e-mail &MailMessage.Subject = 'ASSUNTO DO E-MAIL' // WEBWRAPPER - WebPainel que ir no e-mail est sendo atribudo a um objeto &Wrap.Object = Create(EmailSenha,&EmpCod,&UserName,&UserSenha) // Corpo do e-mail - Atribui o web painel a uma varivel em HTML &MailMessage.HTMLText = &Wrap.GetResponse() // Envia para a procedure de SMTP na qual tem todas as configuraes de SMTP // para que possa ser enviado o e-mail SMTP.Call(&MailMessage) EndFor

Colocar dados em Sesso


1) Passo Criar uma varivel com type ( WEBSESSION ). 2) Passo // Nesse momento estou colocando na sesso o cdigo da empresa .. com Id de sesso chamado EMPCOD &Session.Set('EMPCOD','MAIS') 3) Passo // Pegar o dados que est na sesso &EmpCod = &Session.Get('EMPCOD') // Valor que ser atribuido a varivel &empcod 'MAIS'

OBS: Vantagens para o uso da sesso. Caso seu sistema seja com diversas empresas ento em vez de passar parmetros para diversas tela s colocar na sesso e pelo evento Start carregar a empressa que est na sesso !

Eventos de disparos
-> A maioria das regras nas transaes permitem agregar um evento ou momento de disparo. -> Ao agregar um evento ou momento de disparo a uma regra, estamos especificando qua a regra deve ser excutada nesse determinado momento. -> Evento de disparo: * BeforeValidade Antes da validao * AfterValidate Depois da validao * BeforeInsert Antes do Insert * BeforeUpdate Antes do Update * BeforeDelete Antes do delete * AfterInsert Depois do insert * AfterUpdate

Depois do Update * AfterDelete Depois da Deleo * AfterLevel Delepois de passar o level * BeforeComplete Antes de completar * After Complete Deppois do complete

Exemplo: Relatado em e-mail de suporte Estrutura: Cod ** Vld ** AttCount = Formula Count(Quant) nome1 CodIt *** DscIt Quant > Regra : Error('Digite pelo menos um item') If AttCount = 0 and (insert or update) on AfterLevel level Quant;

Você também pode gostar