by jbrita » Thu Jun 02, 2011 3:28 pm
Leandro yo lo hago asi pero con array:
oBrw:aCols[1]:cHeader := 'Codigo'
oBrw:aCols[1]:cEditPicture := '!!!!!!!!!!!!!'
oBrw:aCols[1]:bClrEdit := oBrw:bClrStd
oBrw:aCols[1]:bOnPostEdit := { | oCol, xVal, nKey | If( nKey == VK_RETURN,"",),oBrw:GoRight(),oBrw:GoRight() }
oBrw:aCols[1]:nEditType := EDIT_GET_BUTTON
oBrw:aCols[1]:bEditValid := { | oGet, oCol | BuscarProd( oGet,oCol,oBrw,aDatos,oDlg1 ) }
oBrw:aCols[1]:bEditBlock := {|| LeerCodigo(oDlg1,oBrw,aDatos),oBrw:GoRight(),oBrw:GoRight() }
oBrw:aCols[1]:nDataStrAlign:= AL_LEFT
oBrw:aCols[1]:nHeadStrAlign:= AL_CENTER
oBrw:aCols[1]:bF2 := {|| LeerCodigo(oDlg1,oBrw,aDatos),oBrw:GoRight(),oBrw:GoRight() }
oBrw:aCols[1]:nWidth := 100
oBrw:aCols[1]:bLClickHeader:= {|r,c,f,o|LeerCodigo(oDlg1,oBrw,aDatos),oBrw:GoRight(),oBrw:GoRight() }
oBrw:aCols[1]:oHeaderFont := oFnt
STATIC FUNCTION BuscarProd( oGet,oCol,oBrw,aDatos,oDlg )
*-----------------------------------
Local m_codi :=oGet:Value
Local oDlg1
Local unicompra:=0
LOCAL aGets:= Array(10)
Local xMa_Comp,xMa_Flet,xMa_Desc1,xMa_Desc2,xMa_Desc3,xMa_Pcom,xExi_Suc
xMa_Comp :=0
xMa_Flet :=0
xMa_Desc1 :=0
xMa_Desc2 :=0
xMa_Desc3 :=0
xMa_Pcom :=0
If oGet:Value#" "
xExi_Suc:=oServer:Query("SELECT * FROM exi_suc Where ma_arti='"+AllTrim(m_codi)+"' ORDER BY ma_arti")
xExi_Suc:GoTop()
If (xExi_Suc:Reccount) == 0
MsgAlert( "Codigo de Producto "+AllTrim(m_codi)+ " no Existe",oApp:cVersion)
SQL CLOSE xExi_Suc
Return .F.
Else
aDatos[oBrw:nArrayAt,1]:=SQLField(xExi_Suc,"ma_arti")
aDatos[oBrw:nArrayAt,2]:=SQLField(xExi_Suc,"ma_des1")
uniCompra:=SQLField(xExi_Suc,"ma_con_com")
If unicompra=0 //Por Defecto cuando es cero lo toma como uno
aDatos[oBrw:nat,9]:=1
Else
aDatos[oBrw:nat,9]:=uniCompra
Endif
oBrw:GoRight()
oBrw:GoLeft()
Endif
SQL CLOSE xExi_Suc
Else
m_Codi:=LeerCodigo(oDlg,oBrw,aDatos)
If ! EMPTY(m_codi)
xExi_Suc:=oServer:Query("SELECT * FROM exi_suc Where ma_arti='"+AllTrim(m_codi)+"' ORDER BY ma_arti")
xExi_Suc:GoTop()
If (xExi_Suc:Reccount) #0
aDatos[oBrw:nArrayAt,1]:=m_codi
Endif
SQL CLOSE xExi_Suc
Endif
Endif
oBrw: SETFOCUS()
RETURN .T.
todo va aca en donde cargo el Get
Saludos