Páginas

Criar um campo display em um formulário.

Ontem precisei criar um método display em um formulário e ao contrário de um display em um relatório é um pouco mais trabalhoso e meu amigo Ricardo Pichler me mostrou um artifício bem legal para consumir menos memória colocando o método em cache.

Utilizei em um formulário o Data Source CustTrans, porém necessitava retornar um campo da CustTransOpen.

Para isso criei na tabela CustTrans o seguinte método:
  1. display DueDate dueDateOrigin(CustTrans _custTrans)
  2. {
  3.     CustTransOpen   custTransOpen;
  4.     ;
  5.  
  6.     select firstonly DueDateOriginal from custTransOpen
  7.         where custTransOpen.RefRecId == _custTrans.RecId;
  8.  
  9.     return custTransOpen.DueDateOriginal;
  10. }
Em seguida, no método init do meu Data Source adicionei após o super() a seguinte linha de código:
  1. this.cacheAddMethod(tablemethodstr(CustTrans, dueDateOrigin));
Depois criei o campo arrastando o método direto da tabela para o design do formulário e alterei a propriedade DataSource para CustTrans.

[]'s 
Alexssander