Diferencia entre revisiones de «Listado de Empleados por Título y Dependencia»
De Wiki
(→Programa "prg_fec_permanencia.prg") |
|||
Línea 257: | Línea 257: | ||
ENDIF | ENDIF | ||
− | ===Botón " | + | ===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)=== | ===Botón "Cancelar" (btnCancelar)=== | ||
Línea 264: | Línea 282: | ||
===Botón "Ayuda"(btnAyuda)=== | ===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)=== | ||
Revisión del 10:16 31 ene 2012
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.