??? E na hora de utilizarmos linguagens mais recentes ??? Ruby apelaremos para quem ?? o Santo Darma Ruby ?? existe ?? no Japao ???E oura coisa.. o codigo csharp gerado manualmente pelas tags CSHARP estao impossiveis de serem entendidos .. vejam abaixo: /* User Code */ Boleto.CidadeSacado = AV54Cidade.Trim(); /* User Code */ Boleto.EstadoSacado = AV24Estado.Trim(); /* User Code */ Boleto.CepSacado = AV25CepSac.Trim(); AV6Hoje = DateTimeUtil.DToC( DateTimeUtil.Today( ), 4, "/") ; /* User Code */ Boleto.DataDocumento = AV6Hoje; AV7Vencime = DateTimeUtil.DToC( AV30Vencim, 4, "/") ; /* User Code */ Boleto.DataVencimento = AV7Vencime.Trim(); /* User Code */ Boleto.NumeroDocumento = AV26Numero.Trim(); /* User Code */ Boleto.ValorDocumento = (double)AV27ValorD; /* User Code */ Boleto.PercentualJurosDiaAtraso = (double)AV32Empres; /* User Code */ Boleto.PercentualMultaAtraso = (double)AV33Empres; /* User Code */ Boleto.PercentualDesconto = (double)AV34Empres; /* User Code */ Boleto.DiasProtesto = AV35Empres; /* User Code */ Boleto.PadroesBoleto.Demonstrativo = AV28Demons.Trim();O codigo acima nao ficaria mais facil de entender se fosse conforme o codigo abaixo??( tudo bem que o codigo abaixo e em GX 9, talvez em GX X/EVL esteja melhor) /* User Code */ Boleto.CidadeSacado = AV54Cidade.Trim(); Boleto.EstadoSacado = AV24Estado.Trim(); Boleto.CepSacado = AV25CepSac.Trim(); AV6Hoje = DateTimeUtil.DToC( DateTimeUtil.Today( ), 4, "/") ; Boleto.DataDocumento = AV6Hoje; AV7Vencime = DateTimeUtil.DToC( AV30Vencim, 4, "/") ; Boleto.DataVencimento = AV7Vencime.Trim(); Boleto.NumeroDocumento = AV26Numero.Trim(); Boleto.ValorDocumento = (double)AV27ValorD; Boleto.PercentualJurosDiaAtraso = (double)AV32Empres; Boleto.PercentualMultaAtraso = (double)AV33Empres; Boleto.PercentualDesconto = (double)AV34Empres; Boleto.DiasProtesto = AV35Empres; Boleto.PadroesBoleto.Demonstrativo = AV28Demons.Trim(); /* User Code */Ou .. se o codigo abaixo csharp string EMailSubject = "Envio de E-mail do Depto ";csharp string EMailMessage = [!&BoletoHtml!];csharp string SMTPHost = "host.de.envio";csharp int SMTPPort = 25;csharp string SMTPEmailPassword = "senha";nao poderia ser escrito assim e GX ?CSHARP{string EMailSubject = "Envio de E-mail do Depto ";string EMailMessage = [!&BoletoHtml!];string SMTPHost = "host.de.envio";int SMTPPort = 25;string SMTPEmailPassword = "senha";Vai aqui nossa modesta experiencia em geradores:Gerar codigo comentando linha a linha ajuda e muito a manutencao / debug por parte dos desenvolvedores; E o principal; a geracao(sobreposicao) de codigo nativo(feito pelo programador) sobre o codigo gerado pelo GX deveria ser respeitado e de responsabilidade do analista/desenvolvedor a qualquer momento e em qualquer situacao.Querem ver um exemplo clasico .. os codigos fontes gerados pelas principais classes do GX GXCommon, GXMail, GXDbi32, GXOffice, e pelo GXGeral .js deveriam estar de facil acesso a equipe de desenvolvimento para que pudessemos debuga-los e ate altera-los ao nosso gosto.Claro , a Artech vai nos dizer que ai a responsabilidade de suporte dela terminaria ate alterarmos o codigo fonte gerado, mas ai .. vamos responder .. aguardariamos uma solucao /debug ate quando ?? a cada preview de 2 a dois meses ? ate perdermos nosso contrato ??? por demora nesta solucao por parte da Artech ??? Nos da area de TI, entendemos probleminhas, problemas e problemoes..agora nossos clientes de diversas areas nao entendem e nao gostam de esperar.O post acima foi so para clarear a todos (nos, Artech , suporte e desenvolvedores) a que ponto chegamos na hora dos gargalos serios.. e como podemos resolve-los. O GX nos permite resolver varios problemas serios de muitas maneiras.. (partir para a linguagem nativa e um deles.. ), mas o ideal e