terça-feira, 6 de julho de 2010

O perigo de ter duas mulheres!

Esse assunto é tão delicado que até o título é perigoso. Nunca aconteceu comigo, mas já vi esse filme várias vezes. E acho que você também. Faz parte do quotidiano da raça. Algo do tipo chamar a Jane de Francisca é algo inconcebível no relacionamento, e aí é que mora o perigo. Tão grande que pode causar até o pior...

Imaginemos então uma situação diferente, um sorteio através de uma lista de nomes, alguns homônimos, tipo José da Silva, José da Silva, José da Silva,..., e mais alguns Josés da Silva. No momento do sorteio, se sair José da Silva, complicou a vida.

GeneXus também tem um problema quando se trata de coisas iguais na interface, e olha que nem é culpa dele, a tecnologia web tem dessas coisas. E da mesma forma que acontece nos ‘causos’ citados anteriormente, aqui também a coisa pega.

Por exemplo, se você colocar um ClienteId e ClienteNome no Grid1, claro que o ClienteId não precisa ser apresentado, pode ficar oculto, e no Grid2 que trata das compras do Cliente, colocamos ClienteId, CompraData, CompraValor, e por algum acaso da necessidade, deverá se expandir o registro de compras, ... , poderemos estar chamando a Jane de Francisca.

Acontece que existem dois ClienteId’s em dois grids distintos, que poderão possuir valores distintos também, nunca se sabe. Por exemplo, o primeiro Grid1 mostra todos os clientes, e o Grid2 mostra as compras que ainda não foram pagas por todos os clientes. Ou seja, os grids podem operar de forma desassociada um do outro.

Daí meu amigo, é crime! Como referenciar uma operação de expansão de um registro do Grid2, se você não controla o valor de ClienteId?

Confuso? Isso é o que dá duas mulheres ao mesmo tempo, confusão, então simplifique, nunca coloque na mesma interface atributos ou variáveis iguais, senão estará casando com duas mulheres, ou mais, ...