FUNCTION MENU_PRODUCTO(cEmpresa,cUsuario)
Local oDlg, oBrw, oFont2, oCol, oSay, oBtn2[ 9 ]
LOCAL oGet,nIndex,aIdx:={}
LOCAL cBusca:= Space(60)
Local cSeek:=""
Local oCampo, cCampo :=space(50)
cTab_Art:=xServer:Query("SELECT a.*, b.*, c.* FROM tab_art AS a LEFT JOIN tab_fam AS b ON a.fam_art = b.cod_fam LEFT JOIN tab_mar AS c ON a.mar_art = c.cod_mar ORDER BY nom_art ")
Define Font oFont2 Name "Tahoma" Size 0,-11 Bold
DEFINE DIALOG oDlg ResName "BROW6BG" TITLE "TABLA DE PRODUCTOS"
Redefine BtnGet oCampo Var cCampo Id 1002 Of oDlg Resource "BTO_ZOOM" Font oFont2 PICTURE "@!" COLOR RGB(128,0,0) ;
Action (FiltrarProducto(oBrw,cCampo,cTab_Art))
Redefine BtnBmp oBtn2[1] Id 101 Resource "BTO_NUEVO" Of oDlg 2007; // BTO_NUEVO
Action (Add_Producto(.T.,oBrw, cTab_Art, cEmpresa),oBrw:Refresh() ) Tooltip "Permite Ingresar nuevo Registro.."
Redefine BtnBmp oBtn2[2] Id 102 Resource "BTO_CAMBIA" Of oDlg 2007;
Action (Add_Producto(.F.,oBrw, cTab_Art, cEmpresa),oBrw:Refresh() ) Tooltip "Permite Cambiar y/o Modificar Registro.."
Redefine BtnBmp oBtn2[3] Id 103 Resource "BTO_BORRA" Of oDlg 2007;
ACTION (Del_Producto(oBrw,cTab_Art,cEmpresa,cTab_Art:cod_art),oDlg:End()) Tooltip "Permite Borrar y/o Eliminar Registro.."
Redefine BtnBmp oBtn2[4] Id 104 Resource "BTO_PRINT" Of oDlg 2007;
ACTION ( MSGRUN( "Procesando...., espere un momento por favor ", "Usuario" , {|| Print_Producto(cEmpresa,cTab_Art) } ),oBrw:Refresh(),oBrw:Gotop()) Tooltip "Imprime informe General del Archivo.."
Redefine BtnBmp oBtn2[5] Id 105 Resource "BTO_EXCEL" Of oDlg 2007;
ACTION ( MSGRUN( "Procesando...., espere un momento por favor ", "Usuario", {|| Excel_Producto(cEmpresa,cUsuario,cTab_Art) } ),oBrw:Refresh(),oBrw:Gotop()) Tooltip "Excel informe General del Archivo.."
Redefine BtnBmp oBtn2[6] Id 106 Resource "BTO_SALIR" Of oDlg 2007;
ACTION oDlg:End() Tooltip "Salir del Proceso.."
oBrw:=TxBrowse():New(oDlg)
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW // Con cursor de todo el renglón
oBrw:nColDividerStyle := LINESTYLE_RAISED
oBrw:nRowDividerStyle := LINESTYLE_RAISED
oBrw:bClrSelFocus := {|| { nRGB( 0, 0, 0), nRGB(128,255,128) } } // para barra de linea selecc cuando el control tiene el foco
oBrw:lColDividerComplete := (.t.) // (.T.) Mantiene siempre llena la pantalla
oBrw:nHeaderHeight := 35 // Altura de los encabezados
oBrw:nRowHeight := 25 // Altura del renglón
oBrw:nHeaderLines := 3 // Número de líneas de encabezados
oBrw:nDataLines := 2 // Número de líneas de detalle
oBrw:nFooterHeight := 20 // Altura del footer
oBrw:nFooterLines := 2 // Número de líneas en el footer
oBrw:bClrHeader := {|| { nRGB(000,000,000), nRGB(128,255,128) } }
oBrw:bClrStd := {|| If( oBrw:KeyNo() % 2 == 0, { CLR_BLACK, RGB( 224, 236, 255 ) }, { CLR_BLACK, RGB( 189, 211, 253 ) } ) }
oBrw:bClrFooter := {|| { nRGB(000,000,000), nRGB(150,200,200) } }
oBrw:bClrSel := {|| { nRGB(000,000,000), nRGB(128,255,128) } } // para barra de linea selecc cuando el control no tiene el foco
oBrw:l2007:=.T.
oBrw:lFooter := (.T.) // Sí queremos línea de footer
oBrw:lHScroll := (.T.) // Quitamos el scroll horizontal
oBrw:lVScroll := (.T.) // Quitamos el scroll horizontal
oBrw:nStretchCol := STRETCHCOL_WIDEST
oBrw:bLDblClick := {|| Opcion_Producto(oBrw, cTab_Art, cEmpresa), cTab_Art:Refresh() }
oBrw:bRClicked := {|| Stock_Producto(.F.,oBrw, cTab_Art, cEmpresa, cTab_Art:cod_art), cTab_Art:Refresh() }
oBrw:bKeyDown := { | nKey | TeclasProducto(nKey, oBrw, cTab_Art, cEmpresa) }
oBrw:oFont := oFont2
oBrw:SetDolphin(cTab_Art,.T.,.T.)
oBrw:aCols[1]:SetCheck( { "BOTONSI", "BOTONNO" } ) NO QUIERO QUE PASE NADA AL HACER DOBLE CLICK SOBRE ESTA COLUMNA
oBrw:aCols[1]:cHeader := "Est"
oBrw:aCols[1]:nHeadStrAlign := AL_LEFT //LEFT
oBrw:aCols[1]:bBmpData := { || iif( cTab_Art:opcion=.t., 1, 2) }
oBrw:aCols[1]:nWidth := 20
oBrw:aCols[2]:cHeader := "Código"
oBrw:aCols[2]:bStrData := { || cTab_Art:cod_art }
oBrw:aCols[2]:nHeadStrAlign := AL_CENTER
oBrw:aCols[2]:nDataStrAlign := AL_LEFT //LEFT
oBrw:aCols[2]:nWidth := 100
oBrw:aCols[2]:cSortOrder := "cod_art"
oBrw:aCols[2]:bLClickHeader := {|| oBrw:GoTop() }
oBrw:aCols[2]:cToolTip :="Haga doble Click para ordenar por código"
oBrw:aCols[3]:cHeader := "Detalle"
oBrw:aCols[3]:bStrData := { || cTab_Art:nom_art }
oBrw:aCols[3]:nHeadStrAlign := AL_CENTER
oBrw:aCols[3]:nDataStrAlign := AL_LEFT //LEFT
oBrw:aCols[3]:nWidth := 350
oBrw:aCols[3]:cSortOrder := "nom_art"
oBrw:aCols[3]:bLClickHeader := {|| oBrw:GoTop() }
oBrw:aCols[3]:cToolTip :="Haga doble Click para ordenar por Detalle"
oBrw:aCols[4]:cHeader := "Familia" NO QUIERO QUE PASE NADA AL HACER DOBLE CLICK SOBRE ESTA COLUMNA
oBrw:aCols[4]:bStrData := { || cTab_Art:nom_fam }
oBrw:aCols[4]:nHeadStrAlign := AL_CENTER
oBrw:aCols[4]:nDataStrAlign := AL_LEFT //LEFT
oBrw:aCols[4]:nWidth := 100
oBrw:aCols[5]:cHeader := "Marca" NO QUIERO QUE PASE NADA AL HACER DOBLE CLICK SOBRE ESTA COLUMNA
oBrw:aCols[5]:bStrData := { || cTab_Art:nom_mar }
oBrw:aCols[5]:nHeadStrAlign := AL_CENTER
oBrw:aCols[5]:nDataStrAlign := AL_LEFT //LEFT
oBrw:aCols[5]:nWidth := 100
oBrw:aCols[6]:cHeader := "Barra" NO QUIERO QUE PASE NADA AL HACER DOBLE CLICK SOBRE ESTA COLUMNA
oBrw:aCols[6]:bStrData := { || cTab_Art:cod_bar }
oBrw:aCols[6]:nHeadStrAlign := AL_CENTER
oBrw:aCols[6]:nDataStrAlign := AL_LEFT //LEFT
oBrw:aCols[6]:nWidth := 100
oBrw:aCols[7]:cHeader := "Precio"+CRLF+"Venta" NO QUIERO QUE PASE NADA AL HACER DOBLE CLICK SOBRE ESTA COLUMNA
oBrw:aCols[7]:bStrData := { || Transform( cTab_Art:pve_art, "@E 99,999,999") }
oBrw:aCols[7]:nHeadStrAlign := AL_CENTER
oBrw:aCols[7]:nDataStrAlign := AL_RIGHT //LEFT
oBrw:aCols[7]:nWidth := 100
oBrw:aCols[8]:cHeader := "Stock"+CRLF+cEmpresa[21] NO QUIERO QUE PASE NADA AL HACER DOBLE CLICK SOBRE ESTA COLUMNA
oBrw:aCols[8]:bStrData := { || Transform(((cTab_Art:in1_art + cTab_Art:en1_art) - cTab_Art:sa1_art),"@E 999,999.99") }
oBrw:aCols[8]:nHeadStrAlign := AL_CENTER
oBrw:aCols[8]:nDataStrAlign := AL_RIGHT //LEFT
oBrw:aCols[8]:nWidth := 80
oBrw:aCols[9]:cHeader := "Stock"+CRLF+cEmpresa[22] NO QUIERO QUE PASE NADA AL HACER DOBLE CLICK SOBRE ESTA COLUMNA
oBrw:aCols[9]:bStrData := { || Transform(((cTab_Art:in2_art + cTab_Art:en2_art) - cTab_Art:sa2_art),"@E 999,999.99") }
oBrw:aCols[9]:nHeadStrAlign := AL_CENTER
oBrw:aCols[9]:nDataStrAlign := AL_RIGHT //LEFT
oBrw:aCols[9]:nWidth := 80
oBrw:CreateFromResource( 1000 )
Redefine Say oBrw:oSeek Var oBrw:cSeek Id 1001 Of oDlg Picture "@!" Font oFont2 COLOR Rgb( 255, 0, 0 ), Rgb(185,220,255)
ACTIVATE DIALOG oDlg CENTERED
oFont2:End()
cTab_Art:End()
Return NIl