Para MMercado TSBrowse

Post Reply
JoseGS
Posts: 205
Joined: Wed Sep 02, 2009 3:11 am

Para MMercado TSBrowse

Post by JoseGS »

Hola Manuel

Tengo una pregunta:

En en siguiente codigo de un tsbrowse presento una lista de transacciones debito, credito y la correspondiente columna de saldo. Si el usuario cambia la fecha de una transaccion o altera el monto debito o credito, la columna saldo e recalcula utilizando la funcion CALCULARSALDO().... todo funciona bien, pero me he dado cuenta que cuando el dialogo de abre por primera vez, se ejecuta tres veces la funcion CALCULARSALDO() y he notado que la misma es invocada desde los POSTEDIT que he definido y que se muestran en el codigo. Tenia pensado que estos POSTEDIT solo e ejecutaban cuando se hacia una edicion en la correspondiente columna... para efectos de rapidez desearia que esto no suceda ya que CALCULARSALDO() recorre toda la base de datos y si es un archivo grande y al hacerlo 3 veces, puede ser una espera incomoda...
Ya he provado mediante el uso de VALID para llamar a la funcion CALCULARSALDO() y en efecto, mediante esta forma solo se ejecuta la funcion cuando se hace una edicion, pero la columna de saldo no presenta la variacion sino es haciendo un segundo enter en la celda....

Espero haberme hecho entender y gracias de antemano por tu tiempo y tu ayuda... Saludos hasta Mexico...

SELE CASHFLOW
REDEFINE BROWSE oBrw3 ID 302 OF oFld3:aDialogs[2] ALIAS "CASHFLOW" CELLED
ADD COLUMN TO oBrw3 DATA FieldWBlock('FECHA',SELECT('CASHFLOW')) HEADER 'FECHA' SIZE 65 ALIGN 1,1,1 EDIT;
PREEDIT dOldFec:=CASHFLOW->FECHA;
POST EDIT (CALCULARSALDO(2),oBrw3:REFRESH())
ADD COLUMN TO oBrw3 DATA FieldWBlock('INGRESOS',SELECT('CASHFLOW')) HEADER "INGRESOS" SIZE 70 ALIGN 2,1,1 EDIT;
POST EDIT (CALCULARSALDO(3),oBrw3:REFRESH())
ADD COLUMN TO oBrw3 DATA FieldWBlock('EGRESOS',SELECT('CASHFLOW')) HEADER "EGRESOS" SIZE 70 ALIGN 2,1,1 EDIT;
POST EDIT (CALCULARSALDO(4),oBrw3:REFRESH())


FUNC CALCULARSALDO()
...
..
...
RETU ....
Post Reply