- Code: Select all Expand view
STATIC Function EditaCelda( oBrw, nCol, cBuffer, aDet, lFirstEdit,lpedido,oHasedro)
LOCAL aResult, nAt:= oBrw:nAt, uBuffer, lContinue:= .t.
LOCAL bValid, nColReal:= nCol
LOCAL aProd
nCol-- // Para que sea como si no exisiera BitMap
uBuffer:= aDet[nAt,nCol]
if !lpedido .and. ncol = 6 .and. !empty(nComision)
uBuffer := nComision
endif
While .t.
Do Case
Case ( nCol == 4 .and. nCol == 3 ) .and. lFirstEdit
Alert( "Columnas NO EDITABLES" )
return .f.
Case nCol == 1
bValid:= {|| aProd := bprodu(ubuffer),bbvalid(@aProd,acliente:cedronar,acliente:nclia,acliente:vtocedro, acliente:inv,oHasedro) }
If lContinue:= oBrw:lEditCol( nColReal, @uBuffer, "@ZE 9999", bValid,,CLR_YELLOW)
aDet[nAt,1]:= aProd[1] //código
aDet[nAt,3]:= aProd[3] //unidad de medida
aDet[nAt,4]:= aProd[2] //producto
aDet[nAt,7]:= aProd[4] // envase
EndIf
Case nCol == 2 // Cantidad // etc.....
En aProd cargo los datos del producto, código, nombre, envase, unidad de medida, que se muestran en el browse en distintas columnas
En xbrowse el código que utilizo para que me muestre el array es el siguiente
- Code: Select all Expand view
REDEFINE XBROWSE oBrw id 108 of odlg update columns 1,2,3,4,5,6 ;
COLSIZES 50,70,50,250,120,70;
HEADER "Código", "Cantidad", " ", "Producto","Envase", "Comisión" ;
PICTURE "9999", "@E 999,999.99",,"@!",,"999.99";
array aDET lines cell fastedit
oBrw:nEditTypes := EDIT_GET
oBrw:lAutoAppend := .t.
Funciona bien pero no se como hago para poder en la columna 1 hacer lo que hacía con el wbrowse, hice algunas pruebas pero no encuentro la forma.
Muchas Gracias
Feliz año nuevo