quinta-feira, 31 de maio de 2012

=.+

Calma, não se trata de nenhum palavrão, na verdade é uma frase muito útil. Quem me ensinou isso foi o Daniel Krueger, e veja como ele é um poliglota!!  Sabe do que se trata?

Pois é, de um assunto muito interessante, mas tal qual o Mandarin, tem lá suas dificuldades.  Trata-se de uma expressão regular cujo propósito é remover o indesejavel   = /* Algum comentario */ que é inserido automaticamente pelo Genexus ao se arrastar um SDT para um Data Provider.

Ao arrastar um SDT para um objeto Data Provider o Genexus inclui, além da estrutura com seus elementos propriamente ditos, um sinal de = e um espaço para comentários, para que se realize a atribuição do valor ao elemento e claro, se inclua uma descrição da operação.


O problema é que sabemos que um elemento do SDT que tenha o mesmo nome de um atributo não necessita da atribuição, portanto, o sinal de igual seria totalmente dispensável na maioria das situações.  Portanto, NotaFiscalId = NotaFiscalId, poderia ser simplesmente registrado no DataProvider como NotaFiscalId, visto que trata-se de um atributo da tabela. Desta forma, o que seria um facilitado torna-se um pequeno problema de edição.

Ai é que entra o Daniel com sua invenção! Uma expressão regular que limpa além da atribuição o próprio comentário automático. Para que funcione abra uma janela de Replace, defina o Find What como =.+ e marque a opção Use: Regular Expression.


Resultado? O data provider limpo e claro.


Para os interessados em aulas de Mandarin recomendamos: