viernes, febrero 09, 2001

Mejorando un poquito por A.Etchart y R.Carballo

Ayer , tuve una situación algo particular. Necesitaba cambiar el precio de los productos de un pedido. Para esto, hice un wp que mostraba el número de pedido, el número de producto, la moneda, el precio actual, y obviamente una variable (inicializada en 0), para que se ingresara el precio nuevo. El problema se daba cuando al regresar del wp con el botón Cerrar, el procedimiento que tomaba el valor retornado por el wp actualizaba a 0 el precio del producto. No se podía filtrar ese valor ya que 0 es un precio posible. Mirando el help de GX surgió lo siguiente como posible solución que puede ser empleada en otros casos.
Events:
Event Start
&leave = 'S' // initialize the flag

EndEvent

Event Enter
...
&leave = 'E' // indicates that Enter event has been triggered
return // explicit return command
EndEvent

Event Exit
if &leave <> 'E' // Not exiting by return command
&leave = 'C' // ESC was pressed to Cancel
endif
EndEvent

Rules:
Parm(&leave); //Return parameter indicating exit method

Con esto se logra saber, en el objeto de llegada, de que botón vuelvo y así actualizar o no el precio del producto.
Referencias: Help de GX sobre el evento Exit (aquí se puede ver otro ejemplo con transacciones que también puede ser útil).

por A.Etchart y R.Carballo

No hay comentarios.: