Hola a todos
Me estoy quedando perplejo con un tema en un browse.
Para haceros una idea. Una tabla de asientos contables. Campos : Asiento, Fecha, Cuenta, Nombre, documento, Concepto, debe, haber. Tipos N,6,0--D,8,0,--N,8,0--C,30,0--C,12,0,C,40,0--N,10,2--N,10,2
El tema es que cuando termino de general el primer registro, hago un cl贸n del mismo y lo grabo como siguiente registro, lo presento en el browse para que el usuario cambie lo que necesite. Pues bien, suponiendo haber grabado el primero con los siguientes datos : ASIENTO = 1, FECHA = 22/01/2009, CUENTA=700000, NOMBRE= VENTAS DE MERCADERIAS, DOCUMENTO= 4 , CONCEPTO= VENTAS DEL DIA, DEBE= 0, HABER= 2,000.00
En el siguiente registro grabado previamente, quedar铆A igual al anterior excepto el debe y haber, que quedar铆an al reves, es decir, si debe no ten铆a valor, se graba con el valor del haber y el haber se graba con cero, o viceversa. Pues cuando paso por el debe, que ser铆a este caso, y he pulsado intro sin poner cantidad, solo aceptar la que hay grabada, el browse me cambia la cantidad de 2,000.00 por 2.00 . Puse una funci贸n que me informara del valor de la variable y su tipo, y curiosamente, la variable trae el valor de 2,000.00 y su tipo es caracter, cuando voy a grabar lo hago con un Val(variable)
y aqui es cuando el valor se transforma en 2.00.
驴es esto normal? porque no lo veo.
El c贸digo del browse es este
La funcion miradato s贸lo sirve para informar del tipo de dato y el valor de la variable xVal
Me estoy quedando perplejo con un tema en un browse.
Para haceros una idea. Una tabla de asientos contables. Campos : Asiento, Fecha, Cuenta, Nombre, documento, Concepto, debe, haber. Tipos N,6,0--D,8,0,--N,8,0--C,30,0--C,12,0,C,40,0--N,10,2--N,10,2
El tema es que cuando termino de general el primer registro, hago un cl贸n del mismo y lo grabo como siguiente registro, lo presento en el browse para que el usuario cambie lo que necesite. Pues bien, suponiendo haber grabado el primero con los siguientes datos : ASIENTO = 1, FECHA = 22/01/2009, CUENTA=700000, NOMBRE= VENTAS DE MERCADERIAS, DOCUMENTO= 4 , CONCEPTO= VENTAS DEL DIA, DEBE= 0, HABER= 2,000.00
En el siguiente registro grabado previamente, quedar铆A igual al anterior excepto el debe y haber, que quedar铆an al reves, es decir, si debe no ten铆a valor, se graba con el valor del haber y el haber se graba con cero, o viceversa. Pues cuando paso por el debe, que ser铆a este caso, y he pulsado intro sin poner cantidad, solo aceptar la que hay grabada, el browse me cambia la cantidad de 2,000.00 por 2.00 . Puse una funci贸n que me informara del valor de la variable y su tipo, y curiosamente, la variable trae el valor de 2,000.00 y su tipo es caracter, cuando voy a grabar lo hago con un Val(variable)
y aqui es cuando el valor se transforma en 2.00.
驴es esto normal? porque no lo veo.
El c贸digo del browse es este
oCol = oBrw:AddCol()
oCol:bStrData := { ||Transform( (oBrw:cAlias)->Debe,"9,999,999.99" ) }
oCol:nDataStrAlign := 1 //alineado a la derecha
oCol:nEditType := EDIT_GET
oCol:cHEADER := "DEBE"
oCol:bOnPostEdit = { | oCol, xVal, nKey | If( RecCount() == 0, DbAppend(),),;
If( nKey == VK_RETURN, ( (miradato(xVal),(oBrw:cAlias)->debe := Val(xVal)),;
If ( Val(xVal) <> 0, ((oBrw:cAlias)->haber := 0, CUADREDIARIO(VAL(xVal),1,oDlg)),) ,),) }La funcion miradato s贸lo sirve para informar del tipo de dato y el valor de la variable xVal
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO