#include "FiveWin.ch"
#include "XBrowse.ch"
MEMVAR oDatos
STATIC oWndGrupos, oBrw, aBtnBar[10], oBar, lNew, oFldx
FUNCTION mgrupos() // MAESTRO DE GRUPOS
LOCAL oDlg, oError, cQry, oQry, aCampos := {}, aVar[3], aGet[3]
lNew := .t.
TGet():lDisColors := .f.
cQry := "SELECT * FROM inv_grupos " +;
"WHERE empresa_id = '" + oDatos:emp_codigo +;
"' ORDER BY gru_codigo, gru_nombre ASC"
TRY
oQry := TDolphinQry():New( cQry, oDatos:oConex )
CATCH oError
MSGSTOP( oError:description() + CRLF + CRLF + ;
"Error Ejecución de Sentencia en Tabla(inv_grupos): " + ;
CRLF + CRLF + cQry, oDatos:cTitMsg )
RETURN NIL
END
IF oWndGrupos == NIL
// DEFINO WND
DEFINE WINDOW oWndGrupos BORDER SINGLE MDICHILD ;
STYLE nOr( WS_CAPTION, WS_VISIBLE, WS_SYSMENU, WS_MINIMIZEBOX ) ;
FROM 0, 1.0 TO 30.0, 107.0 ;
TITLE oDatos:cTit + "- Maestro de Grupos" ;
OF oDatos:oWndPPAL
// DEFINO BARRA DE BOTONES Y BOTONES
DEFINE BUTTONBAR oBar SIZE 50, 50 OF oWndGrupos 2010
oBar:bRClicked := {|| NIL }
DEFINE BUTTON aBtnBar[1] OF oBar NOBORDER GROUP ;
RESOURCE "NUEVO32" ;
Tooltip "Crear Registro" ;
ACTION ( lNew := .t., cargadata( oQry, aVar, aGet ) ,;
oFldx:aDialogs[2]:aEvalwhen(), oFldx:SetOption(2) )
DEFINE BUTTON aBtnBar[2] OF oBar NOBORDER ;
RESOURCE "MODIFI32" ;
Tooltip "Modificar Registro" ;
ACTION ( lNew := .f., cargadata( oQry, aVar, aGet ) ,;
oFldx:aDialogs[2]:aEvalwhen(), oFldx:SetOption(2) ) ;
WHEN ( oQry:RecCount() > 0 )
DEFINE BUTTON aBtnBar[3] OF oBar NOBORDER ;
RESOURCE "ELIMI32" ;
Tooltip "Eliminar Registros" ;
ACTION ( eliminar( oQry, oBrw, "gru_codigo" ), inivar( aVar ) ,;
iniget( aGet ), oFldx:aDialogs[2]:aEvalwhen(), oFldx:SetOption(1) ) ;
WHEN ( oQry:RecCount() > 0 )
DEFINE BUTTON aBtnBar[4] OF oBar NOBORDER ; // ESTA PENDIENTE...
RESOURCE "CANCEL32" ;
Tooltip "Cancelar Registros" ;
ACTION Alert("Cancelar...Pendiente...")
DEFINE BUTTON aBtnBar[5] OF oBar NOBORDER ;
RESOURCE "SALVAR32" ;
Tooltip "Grabar los Datos" ;
ACTION ( grabagrupo( oQry, aVar ), inivar( aVar ), iniget( aGet ) )
DEFINE BUTTON aBtnBar[6] OF oBar NOBORDER ;
RESOURCE "EXPOR32" ;
Tooltip "Exportar los Datos" ;
ACTION ( MSGINFO("Botones de la BAR") ) ;
WHEN ( oQry:RecCount() > 0 )
DEFINE BUTTON aBtnBar[9] OF oBar NOBORDER GROUP ;
RESOURCE "PRINT32" ;
Tooltip "Imprimir Listado" ;
ACTION ( oBrw:REPORT() ) ;
WHEN ( oQry:RecCount() > 0 )
DEFINE BUTTON aBtnBar[10] OF oBar NOBORDER GROUP ;
RESOURCE "SALIR32" ;
Tooltip "Salir al Menu" ;
ACTION ( lNew := NIL, oWndGrupos:END() )
aBtnBar[10]:lCancel := .t.
SET MESSAGE OF oWndGrupos TO " Inventario - Maestro de Grupos" 2007
// DEFINO DLG
DEFINE DIALOG oDlg RESOURCE "DLG_NOWAIT" OF oWndGrupos
// DEFINO FOLDER
REDEFINE FOLDEREX oFldx ID 401 OF oDlg ;
PROMPT "Listado", "Datos" ;
BITMAPS "CONFIG16", "GRUPO16" ;
DIALOGS "INV_BROWSE", "INV_CORTOS"
// DIALOGO 1
aCampos := {"gru_codigo", "gru_nombre"}
oBrw := TXBrowse():New( oFldx:aDialogs[1] )
WITH OBJECT oBrw
:SetDolphin( oQry, .t., .t., aCampos )
:nMarqueeStyle := MARQSTYLE_HIGHLROW
:nStretchCol := STRETCHCOL_LAST
:lColDividerComplete := .t.
:lAllowColHiding := .f.
:nHeaderHeight := 30
:lFooter := .t.
:lRecordSelector := .t.
:bClrStd := {|| IF( oQry:RecNo() % 2 == 0, {CLR_BLACK, CLR_WHITE} ,;
{0, RGB(203,226,254)} ) }
END WITH
WITH OBJECT oBrw:aCols[1]
:cHeader := "Código"
:bEditValue := {|| IIF( oQry:LastRec() == 0, SPACE(10) ,;
oQry:gru_codigo ) }
:nHeadStrAlign := AL_CENTER
:nDataStrAlign := AL_LEFT
:nWidth := 100
END WITH
WITH OBJECT oBrw:aCols[2]
:cHeader := "Nombre / Descripción"
:bEditValue := {|| IIF( oQry:LastRec() == 0, SPACE(10) ,;
oQry:gru_nombre ) }
:nHeadStrAlign := AL_CENTER
:nDataStrAlign := AL_LEFT
:nWidth := 200
END WITH
oBrw:CreateFromResource(100)
oBrw:GOTOP(); oBrw:REFRESH()
// DIALOGO 2
REDEFINE GET aGet[1] VAR aVar[1] ID 4004 PICTURE "@!" OF oFldx:aDialogs[2] UPDATE ;
VALID ( existe( oQry, aVar[1], aGet[1], "gru_codigo" ) ) ;
WHEN ( lNew )
REDEFINE GET aGet[2] VAR aVar[2] ID 4005 OF oFldx:aDialogs[2] UPDATE ;
VALID ( novacio( aVar[2] ) ) ;
WHEN ( !EMPTY( aVar[1] ) )
REDEFINE GET aGet[3] VAR aVar[3] MEMO ID 199 OF oFldx:aDialogs[2] UPDATE ;
WHEN ( !EMPTY( aVar[2] ) )
ACTIVATE DIALOG oDlg NOWAIT ON CLICK oDlg:UPDATE ;
ON INIT ( oDlg:MOVE( oBar:nHeight, 0 ) ) ;
VALID( !GETKEYSTATE( 27 ) )//VALID ( .f. )
ACTIVATE WINDOW oWndGrupos ;//ON INIT ( oFldx:SetFocus() ) ;
ON INIT ( oWndGrupos:SetSize( oDlg:nWidth, oDlg:nHeight, .t. ) ) ;
VALID ( oWndGrupos := NIL, .t. )
ELSE
oWndGrupos:Restore()
oWndGrupos:SetFocus()
ENDIF
RETURN NIL