Listado de Empleados por Título y Dependencia

De Wiki
Revisión del 10:20 31 ene 2012 de Mwilson (Discusión | contribuciones) (Combo "Año" (cmbAnio))

Saltar a: navegación, buscar

FORMULARIO

Fmr Emp por Titulo y Dependencia.PNG

INFORME

Frx titulo emp depen.PNG

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.

Combo "Año" (cmbAnio)

  *---------------------------------------------------------------------------------------------------------
  *--CARGO EL COMBO DE LOS AÑOS-----------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  FOR I=(YEAR(DATE())-10) TO YEAR(DATE())
  	THISFORM.cmbAnio.AddItem(STR(I))
  ENDFOR
  *---------------------------------------------------------------------------------------------------------
  *--SELECCIONO EL PRIMERO DE LOS ELEMENTOS DEL COMBO POR DEFECTO-------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  THISFORM.cmbAnio.SelectedID(11)=.T.

Combo "Mes" (cmbMes)

MANUAL DEL USUARIO

Procedimiento de Uso