by jponce » Wed Apr 30, 2008 3:58 pm
OK. REVISE LOS EJEMPLOS Y LO HICE DE ESTA MANERA
function PreccosV( oWnd )
Local oDlg, aGets := { Date(), Date(),space(20) }, oGet, oLbx
Local aTot := {0,0,0,0}
LOCAL oPara := _DaPara(), nAge , oSay, oGet1, oAgen, aLinea, oLinea, oSiNo,aSiNo
LOCAL cTabla, oDb, oBase, aAgen, oBGet1,aLi,oBaset,oBGet2,opcion:=1
LOCAL aHead1:= { 'No.', 'Agencia' }
Local oFoc
Local oPreccos,fXls,cHoja,oIcon
LOCAL bLAct2:= {||(EVAL(oFoc:bSetGet,AyudaG2( oFoc, "Linea Inventario", aLi, { 'Clave','Linea Inventario' },{80,200},150,100, {187,88} )), ;
oFoc:Refresh(),oFoc:SetFocus())}
oGet := Array( 2 )
oPreccos := TempPreccos();
///LINEAS DE INVENTARIO
oDb:= _BaseDatos()
cTabla := "catlineasi"
oBaset := TMsTable():New( oDb, cTabla )
if !oBaset:Open()
return( nil )
endif
aLi := {}
If !Empty( oBaset:LastRec() )
oBaset:GoTop():Read()
While !oBaset:Eof()
Aadd( aLi, { oBaset:FieldGet( 1 ), oBaset:FieldGet( 2 ) } )
oBaset:Fetch()
EndDo
EndIf
oBaset:Destroy()
if oWndFact01 != nil
return nil
endif
DEFINE ICON oIcon RESOURCE "ICONSIS"
DEFINE DIALOG oWndFact01 TITLE "CONSULTAS PRECIOS VRS COSTOS VENDEDOR" ;
OF oWnd RESOURCE "CONSULTAS" ICON oIcon
REDEFINE DTPICKER oGet[1] VAR aGets[1] ID 105 OF oWndFact01 UPDATE //fecha 1
REDEFINE DTPICKER oGet[2] VAR aGets[2] ID 106 OF oWndFact01 UPDATE // fecha 2
REDEFINE GET oFoc VAR aGets[3] ID 103 OF oWndFact01
REDEFINE BUTTON ID 16 ;
OF oWndFact01 ;
ACTION buscar_PreccosV( oLbx, oWndFact01, oPreccos, aGets )
REDEFINE BTNBMP ID 101 OF oWndFact01 RESOURCE "EXCELEQ" ;
ACTION PreccosVExcel( aGets,opcion,oPreccos:Codigo )
TWbrowse():lHscroll:= .T.
REDEFINE LISTBOX oLbx ;
FIELDS oPreccos:Codigo , ;
oPreccos:Nombre , ;
transform(oPreccos:ventas,"999,999,999.99") , ;
transform(oPreccos:Costo ,"999,999,999.99") , ;
transform(oPreccos:margen,"999,999,999.99") , ;
transform(oPreccos:utilidad,"999,999,999.99")+"%" ;
HEADER "Código","Nombre","Ventas", "Costo","Utilidad","Margen" ;
ID 172 ;
OF oWndFact01 ;
ON DBLCLICK dobleclick_PreccosV( oPreccos, aGets , oWndFact01 ) ;
SIZES 40,380,75,75,75,50 UPDATE
oPreccos:SetBrowse( oLbx )
oLbx:nLineHeight := 16
oLbx:nHeaderHeight := 16
oLbx:nFreeze := 4
oLbx:aHJustify:={2,2,2,2,2}
oLbx:aJustify:={.t.,.f.,.t.,.t.,.t.}
oLbx:lDrawFooters :=.T.
oLbx:aActions := Array( 6 )
oLbx:aActions[1] := { || OrdenArEq( 3, 3 , oPreccos, oLbx,oWndFact01,aGets ) }
oLbx:aActions[2] := { || OrdenArEq( 2, 3 , oPreccos, oLbx,oWndFact01,aGets ) }
oLbx:aActions[3] := { || OrdenArEq( 1, 3 , oPreccos, oLbx,oWndFact01,aGets ) }
oLbx:aActions[4] := { || OrdenArEq( 4, 3 , oPreccos, oLbx,oWndFact01,aGets ) }
oLbx:aActions[5] := nil
oLbx:aActions[6] := nil
//oLbx:aFooters :={|| {"","Total",Tran(aTot[1],"9,999,999,999 "),Tran(aTot[2],"9,999,999,999 "),Tran(aTot[3],"9,999,999,999 "),Tran(aTot[4],"9,999,999,999 ") }}
oLbx:bKeyDown := {|nKey| IF(nKey = 13, dobleclick_PreccosV( oPreccos, aGets , oWndFact01 ) , ) }
REDEFINE BUTTON ID 95 OF oWndFact01 ACTION oWndFact01:End() CANCEL
ACTIVATE DIALOG oWndFact01 NOWAIT CENTER RESIZE16;
VALID ( IIF( Salida(),( oWndFact01:=NIL, .T.), .F.) ) ;
ON INIT (oBGet1 := GetBitmap(oFoc,"Ayuda",,bLAct2),;
llenarlistbox( oLbx, oWndFact01, oPreccos, Agets, aTot ) );
RETURN NIL
Y ME FUNCIONO, PERO, AHORA TENGO OTRO PROBLEMA SI ME PASO A OTRA VENTANA QUE NO SEA DE MI APLICACION ESTA QUEDA ENCIMA DE LA OTRA VENTANA.
ES DECIR POR EJEMPLO, SI YO MINIMIZO ESTA VENTANA EN MI APLICACION PUEDO USAR OTRAS OPCIONES, PERO SI ME PASO A UNA HOJA DE EXCEL POR EJEMPLO ENTONCES LA VENTANA QUEDA ENCIMA DE LA HOJA DE EXCEL.
QUE ESTOY HACIENDO MAL?
DE ANTEMANO MUY AGRADECIDO
JULIO PONCE