hoy me puse a modificar pequeñas cosas en un sistema TVP (POS : point of sale)
modifique una celda textbox numerico por un spinner el cual modifica la cantidad de articulos vendidos, un doble click permite modificar la cantidad entre 1 y 24 pero al seleccionar una x cantidad y darle enter por mas que lo envio a una rutina donde genera el precio total no se ve la modificacion Fila 1 : 1 articulo , $65, subtotal $65
Fila 2 : 2 articulos, $65 subtotal $130
modifico con el spinner la cantidad de la fila 2 en 1 producto y no se ve reflejado el cambio..
Code: Select all
DEFINE GRID Articulos
ROW 5
COL 5
WIDTH 748
HEIGHT 470
VALUE 1
WIDTHS {60 , 140 ,260 ,130 ,150 }
HEADERS { 'Can' ,' Codigo',' Descripción ',' P.Unitario ','Total' }
FONTNAME "Arial"
FONTSIZE 12
JUSTIFY { GRID_JTFY_RIGHT, ;
GRID_JTFY_RIGHT, ;
GRID_JTFY_LEFT , ;
GRID_JTFY_RIGHT, ;
GRID_JTFY_RIGHT }
COLUMNCONTROLS { {'SPINNER' , 1 , 24 } , ;
{'TEXTBOX' ,'CHARACTER' } , ;
{'TEXTBOX' ,'CHARACTER' } , ;
{'TEXTBOX' ,'NUMERIC','$ 999999.99' } , ;
{'TEXTBOX' ,'NUMERIC','$ 999999.99' } }
DYNAMICFORECOLOR { foreColor, foreColor, foreColor, foreColor , foreColor}
ON CHANGE ( ActualizaVenta() , Ventas.Text_1.Value := '0' , ventas.Text_1.SETFOCUS )
FONTBOLD .T.
SHOWHEADERS .T.
ALLOWEDIT .T.
CELLNAVIGATION .F.
ITEMCOUNT 100
END GRID
Code: Select all
*----------------------------------------------------------------------------*
Procedure ActualizaVenta()
*----------------------------------------------------------------------------*
Ventas.Text_1.Value := ''
Ventas.nTotalArt.Value := 0
Ventas.nTotal.Value := 0.0
For nFor := 1 to Ventas.Articulos.ItemCount
Ventas.nTotalArt.Value := Ventas.nTotalArt.Value + Ventas.Articulos.Cell( nFor , 1 )
Ventas.nTotal.Value := Ventas.nTotal.Value + (Ventas.Articulos.Cell( nFor , 4 ) * Ventas.Articulos.Cell( nFor , 1 ) ) //
Ventas.Articulos.Cell( nFor , 5 ) := Ventas.Articulos.Cell( nFor , 4 ) * Ventas.Articulos.Cell( nFor , 1 )
Next
Ventas.Articulos.Refresh
Ventas.Text_1.SetFocus
Return