Listado de Empleados por Título y Dependencia
De Wiki
Revisión del 10:17 31 ene 2012 de Mwilson (Discusión | contribuciones) (→Combo "Titulo" (cmbTitulo))
Contenido
FORMULARIO
INFORME
CÓDIGO
Programa "ver_titulos_empleados.prg"
*--------------------------------------------------------------------------------------------------------- *--PARAMETROS DEL PROGRAMA-------------------------------------------------------------------------------- PARAMETERS dependencia,titulo,mesFinanc,anioFinanc,flagBuscarPorPeriodo *--------------------------------------------------------------------------------------------------------- *--SACO LA FECHA ACTUAL----------------------------------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- **Se utilizara la fecha actual para poder verificar que la fecha de baja del empleado es superior **a la de la emisión del informe. CLEAR CLOSE TABLES all SET CENTURY ON SET DATE TO french **Se recupera fecha del sistema, que serán utilizados para el proceso de recuperación de **empleados. fecha="'" + alltrim(str(year(date()))) +"-"+ padl(alltrim(str(month(date()))),2,"0")+"-01'" *--------------------------------------------------------------------------------------------------------- *--LLAMO AL CARTEL DE ESPERA------------------------------------------------------------------------------ *--------------------------------------------------------------------------------------------------------- procesando=vm_formularios+"frmprocesando.scx" DO FORM &procesando *--------------------------------------------------------------------------------------------------------- *--TRAIGO LOS DATOS DE LAS TABLAS DH01,DH03,DH06 y DH33--------------------------------------------------- *--------------------------------------------------------------------------------------------------------- **Tabla DH01** consulta01="select nro_legaj,desc_appat,desc_nombr"; +" from dh01"; nom01=SYS(3) CREATE SQL VIEW &nom01; CONNECTION con_pampasql; AS &consulta01 SELE SELE(1) USE &nom01 ALIAS v01 *Creo Tabla tabla01=vm_bases_informes+"dh01Activos" *Creo Consulta SELECT *; FROM v01; ORDER BY v01.nro_legaj; INTO TABLE &tabla01 *Destruyo Vista SELECT v01 USE DROP VIEW &nom01 *--------------------------------------------------------------------------------------------------------- **Tabla DH03** consulta03="select distinct nro_legaj,codc_uacad"; +" from dh03"; +" where dh03.fec_baja>="+fecha+" or dh03.fec_baja is NULL"; nom03=SYS(3) CREATE SQL VIEW &nom03; CONNECTION con_pampasql; AS &consulta03 SELE SELE(1) USE &nom03 ALIAS v03 *Creo Tabla tabla03=vm_bases_informes+"dh03Activos" *Creo Consulta SELECT *; FROM v03; ORDER BY v03.nro_legaj; INTO TABLE &tabla03 *Destruyo Vista SELECT v03 USE DROP VIEW &nom03 *--------------------------------------------------------------------------------------------------------- **Tabla DH06** consulta06="select nro_legaj,codc_titul,fec_emisi,cant_anos,sino_liqui,idtituloona,mes_financ,anio_financ"; +" from dh06" nom06=SYS(3) CREATE SQL VIEW &nom06; CONNECTION con_pampasql; AS &consulta06 SELECT SELECT (1) USE &nom06 ALIAS v06 *Creo Tabla tabla06=vm_bases_informes+"dh06Activos" *Creo Consulta SELECT *; FROM v06; ORDER BY v06.nro_legaj; INTO TABLE &tabla06 *Destruyo Vista SELECT v06 USE DROP VIEW &nom06 *SELECT dh06Activos *BROWSE *--------------------------------------------------------------------------------------------------------- **Tabla DH33** consulta33="select codc_titul,desc_titul,codc_nivel"; +" from dh33" nom33=SYS(3) CREATE SQL VIEW &nom33; CONNECTION con_pampasql; AS &consulta33 SELECT SELECT (1) USE &nom33 ALIAS v33 *Creo Tabla tabla33=vm_bases_informes+"dh33Activos" *Creo Consulta SELECT *; FROM v33; ORDER BY v33.codc_titul; INTO TABLE &tabla33 *Destruyo Vista SELECT v33 USE DROP VIEW &nom33 *--------------------------------------------------------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- *--CREO LA TRABLA EMPLEADOS POR DEPENDENCIA CON FILTRO POR TITULO DEL COMBO DEL FORMULARIO---------------- *--------------------------------------------------------------------------------------------------------- tabla1=vm_bases_informes+"tituloSeleccionado" IF(titulo=="TODOS") IF(flagBuscarPorPeriodo==1) condWhere="dh03Activos.codc_uacad=dependencia AND dh06Activos.anio_Finan>="+ALLTRIM(anioFinanc)+" AND dh06Activos.mes_Financ>="+ALLTRIM(mesFinanc) ELSE condWhere="dh03Activos.codc_uacad=dependencia" ENDIF ELSE IF(flagBuscarPorPeriodo==1) condWhere="dh06Activos.codc_titul=titulo AND dh03Activos.codc_uacad=dependencia AND dh06Activos.anio_Finan>="+ALLTRIM(anioFinanc)+" AND dh06Activos.mes_Financ>="+ALLTRIM(mesFinanc) ELSE condWhere="dh06Activos.codc_titul=titulo AND dh03Activos.codc_uacad=dependencia" ENDIF ENDIF SELECT *; FROM dh01Activos INNER JOIN(dh03Activos INNER JOIN; (dh06Activos INNER JOIN dh33Activos; ON dh06Activos.codc_titul=dh33Activos.codc_titul); ON dh03Activos.nro_legaj=dh06Activos.nro_legaj); ON dh01Activos.nro_legaj=dh06Activos.nro_legaj; WHERE &condWhere; ORDER BY dh06Activos.nro_legaj; INTO TABLE &tabla1 *SELECT tituloSeleccionado *BROWSE *--------------------------------------------------------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- *--CREO LA TRABLA EMPLEADOS POR DEPENDENCIA - MOSTRANDO SOLO LOS TITULOS DESCRIPTIVOS--------------------- *--------------------------------------------------------------------------------------------------------- tabla2=vm_bases_informes+"titulosDescriptivos" IF(titulo<>"TODOS") SELECT *; FROM dh01Activos INNER JOIN(dh03Activos INNER JOIN; (dh06Activos INNER JOIN dh33Activos; ON dh06Activos.codc_titul=dh33Activos.codc_titul); ON dh03Activos.nro_legaj=dh06Activos.nro_legaj); ON dh01Activos.nro_legaj=dh06Activos.nro_legaj; WHERE dh03Activos.codc_uacad=dependencia AND ALLTRIM(dh33Activos.codc_titul)<>"TITA"; AND ALLTRIM(dh33Activos.codc_titul)<>"TITB" AND ALLTRIM(dh33Activos.codc_titul)<>"TITC"; AND ALLTRIM(dh33Activos.codc_titul)<>"TITD" AND ALLTRIM(dh33Activos.codc_titul)<>"DOCF"; AND ALLTRIM(dh33Activos.codc_titul)<>"MAEF" AND ALLTRIM(dh33Activos.codc_titul)<>"ESPF"; AND ALLTRIM(dh33Activos.codc_titul)<>"DOCT" AND ALLTRIM(dh33Activos.codc_titul)<>"MAGI"; AND ALLTRIM(dh33Activos.codc_titul)<>"ESPE"; ORDER BY dh06Activos.nro_legaj; INTO TABLE &tabla2 ENDIF *SELECT titulosDescriptivos *BROWSE *--------------------------------------------------------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- *--FILTRO LA TABLA DE TITULOS DESCRIPTIVOS---------------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- tablaDescripFiltro=vm_bases_informes+"descriptivosFiltrados" IF(titulo<>"TODOS") SELECT *; FROM titulosDescriptivos; WHERE nro_legaj_ IN(SELECT nro_legaj_ FROM tituloSeleccionado); INTO TABLE &tablaDescripFiltro ENDIF *SELECT descriptivosFiltrados *BROWSE *--------------------------------------------------------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- *--CREO LA TRABLA EMPLEADOS POR DEPENDENCIA - DESORDENADA------------------------------------------------- *--------------------------------------------------------------------------------------------------------- tablaGralDesordenada=vm_bases_informes+"estudioEmpDesordenada" IF(titulo<>"TODOS") SELECT *; FROM tituloSeleccionado; UNION; SELECT *; FROM descriptivosFiltrados; INTO TABLE &tablaGralDesordenada ENDIF *SELECT estudioEmpDesordenada *BROWSE *--------------------------------------------------------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- *--CREO LA TRABLA EMPLEADOS POR DEPENDENCIA - ORDENADA---------------------------------------------------- *--------------------------------------------------------------------------------------------------------- tablaGral=vm_bases_informes+"estudioEmp" IF(titulo=="TODOS") SELECT *; FROM tituloSeleccionado; ORDER BY nro_legaj_; INTO TABLE &tablaGral ELSE SELECT *; FROM estudioEmpDesordenada; ORDER BY nro_legaj_; INTO TABLE &tablaGral ENDIF *--------------------------------------------------------------------------------------------------------- *--CIERRO EL CARTEL DE ESPERA------------------------------------------------------------------------------ *--------------------------------------------------------------------------------------------------------- frmprocesando.release *--------------------------------------------------------------------------------------------------------- *--MUESTRO LA TABLA GENERAL------------------------------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- *SELECT estudioEmp *BROWSE *--------------------------------------------------------------------------------------------------------- *--MUESTRO EL REPORTE FINAL------------------------------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- IF(RECCOUNT("estudioEmp")==0) MESSAGEBOX("Su consulta no genero resultados") ELSE informe=vm_informes+"frx_titulo_emp_depen.frx" report form &informe preview ENDIF
Botón "Buscar" (btnBuscar)
----------------------------------------------------------------------------------------------------- *--CAPTURO LOS VALORES DE LOS COMBO QUE SERAN PASADO AL PROGRAMA COMO PARAMETRO--------------------------- *--------------------------------------------------------------------------------------------------------- dependencia=THISFORM.cmbDependencia.value titulo=THISFORM.cmbTitulo.value mesFinanc=THISFORM.cmbMes.value anioFinanc=THISFORM.cmbAnio.value flagBuscarPorPeriodo=THISFORM.chkBuscarPeriodo.Value *--------------------------------------------------------------------------------------------------------- *--LLAMO AL PROGRAMA-------------------------------------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- IF(ISNULL(titulo)=.T.) MESSAGEBOX("No ingreso dato") ELSE programa=vm_programas + "ver_titulos_empleados.prg" DO &programa WITH dependencia,titulo,mesFinanc,anioFinanc,flagBuscarPorPeriodo ENDIF
Botón "Cancelar" (btnCancelar)
THISFORM.Release
Botón "Ayuda"(btnAyuda)
DECLARE INTEGER ShellExecute ; IN SHELL32.DLL ; INTEGER nWinHandle,; STRING cOperation,; STRING cFileName,; STRING cParameters,; STRING cDirectory,; INTEGER nShowWindow V_busca='R:\werken\docs\ListEmp_Titul_Y_Depen.pdf' ShellExecute(0,"open",V_busca,"", Fullpath(""),0)
Combo "Dependencia" (cmbDependencia)
CLEAR CLOSE TABLES all *--------------------------------------------------------------------------------------------------------- *--LLAMO AL CARTEL DE ESPERA------------------------------------------------------------------------------ *--------------------------------------------------------------------------------------------------------- procesando=vm_formularios+"frmprocesando.scx" DO FORM &procesando *--------------------------------------------------------------------------------------------------------- *--TRAIGO LOS DATOS DE LA TABLA DP18---------------------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- **Tabla DP21** consulta1="select *"; +" from dp18"; nom1=SYS(3) CREATE SQL VIEW &nom1; CONNECTION con_pampasql; AS &consulta1 SELE SELE(1) USE &nom1 ALIAS v01 *Creo Tabla tablaDependencias=vm_bases_informes+"dp18Dependencias" *Creo Consulta SELECT v01.codn_area; FROM v01; ORDER BY v01.codn_area; INTO TABLE &tablaDependencias *Destruyo Vista SELECT v01 USE DROP VIEW &nom1 *--------------------------------------------------------------------------------------------------------- *--CIERRO EL CARTEL DE ESPERA------------------------------------------------------------------------------ *--------------------------------------------------------------------------------------------------------- frmprocesando.release *--------------------------------------------------------------------------------------------------------- *--CARGA DE LAS OPCIONES DEL CMBDEPENDENCIA--------------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- SELECT dp18Dependencias SCAN THISFORM.cmbDependencia.ADDITEM(PADL(ALLTRIM(STR(dp18Dependencias.codn_area)),2,"0")) ENDSCAN *--------------------------------------------------------------------------------------------------------- *--SELECCIONO POR DEFECTO EL PRIMER ITEM DEL COMBO-------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- THISFORM.cmbDependencia.SelectedID(1)=.T.
Combo "Titulo" (cmbTitulo)
*--------------------------------------------------------------------------------------------------------- *--CARGA DE LAS OPCIONES DEL CMBTITULO-------------------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- THISFORM.cmbTitulo.AddItem("TODOS") THISFORM.cmbTitulo.AddItem("TITA") THISFORM.cmbTitulo.AddItem("TITB") THISFORM.cmbTitulo.AddItem("TITC") THISFORM.cmbTitulo.AddItem("TITD") THISFORM.cmbTitulo.AddItem("MADF") THISFORM.cmbTitulo.AddItem("DOCF") THISFORM.cmbTitulo.AddItem("ESPF") THISFORM.cmbTitulo.AddItem("MAGI") THISFORM.cmbTitulo.AddItem("DOCT") THISFORM.cmbTitulo.AddItem("ESPE") *--------------------------------------------------------------------------------------------------------- *--SELECCIONO POR DEFECTO EL PRIMER ITEM DEL COMBO-------------------------------------------------------- *--------------------------------------------------------------------------------------------------------- THISFORM.cmbTitulo.SelectedID(1)=.T.