Pessoal,
Estava dando manutenção em um código e o código tratava de verificar o saldo em aberto do cliente. Na situação em questão, o desenvolvedor fazia um loop em CustTrans, dentro deste loop ele fazia outro na CustTransOpen e ia somando uma variável do tipo Amount para recuperar o valor das transações abertas em questão.

O grande problema ai é a performance, sem contar que a legibilidade do código vai para o espaço.

Esta simples situação pode ser resolvida assim:

1
2
3
4
5
6
7
8
static void getCustVendTransBalance(Args _args)
{
    Amount                  openTransactions;
    ;
    openTransactions    = TmpCustVendTrans::custTransBalanceCurrency('Conta do Cliente').AmountCur;
    print openTransactions;
    pause;
}

Fácil né!?

Abraço,
Pichler