Está en la página 1de 96

ASESORES EN INFORMTICA, S.A. DE C.V.

Sistema para la Administracin de Recursos


Humanos
Visual HUR versin 3.1

Gua para la

Administracin y
Parametrizacin

A S E S O R E S E N I N F O R M T I C A , S . A . D E C . V.

Administracin y Parametrizacin
Visual HUR versin 3.1

Asesores en Informtica, S.A. de C.V.


Boulevard El Hipdromo No. 638
Colonia San Benito, San Salvador, El Salvador
Telfonos (503) 2263-8078, 2264-6078, 2263-8197 Fax (503) 2264-8078
www.aseinfo.com.sv

Tabla de Contenidos
Herramientas de Soporte

Instalacin de Visual HUR

Instalacin de Microsoft ActiveX Data Objects (ADO) 2


Instalacin de Microsoft Script Engine (MSScript)
3
Instalacin de las librerias de Visual Basic SP6 en la computadora Cliente para ejecutar Visual HUR
Registro de las libreras propias de Visual HUR en la computadora Cliente 3
Establecer una conexin a la base de datos
4
Agregar el usuario al Mdulo de Seguridad
4
Modalidades de Instalacin de Visual HUR
4

Men Principal de Visual HUR


Conexin a la Base de Datos
Activacin de la Aplicacin
Mdulo de Seguridad

6
7
8
9

Herramientas de Parametrizacin

13

Administracin del Diccionario de Listas de Valores


Propiedades de cada elemento del diccionario

13

15

Configuracin de Controles de Seleccin (Query Builder) 17


Propiedades del Control de Seleccin
18
Propiedades del detalle de columnas del Control de Seleccin

19

Configuracin de Listas de Valores para RHCodCombo.ocx en formas de ingreso de datos


19
Propiedades de la configuracin de CodCombo

21

Configuracin de Columnas Dropdown List en controles Grid de las formas de bsqueda.


21
Propiedades de la configuracin de Columnas Dropdown List de los controles Grid 22

Configuracin de Columnas SubGrid en controles Grid de las formas de bsqueda.


23
Propiedades de la configuracin de Columnas SubGrid de los controles Grid

24

Configuracin de las Secciones Extensibles del Expediente de Personal


Modificacin de la tabla correspondiente
25
Configuracin de la Seccin del Expediente
25
Panel con las secciones configurables
26
Panel con la descripcin de la llave primaria de la seccin seleccionada
26
Panel con la configuracin de cada campo de la tabla que se est configurando
Funcin VBScript de validacin de campos.
29
Funcin VBScript que se ejecuta antes y despus de editar un campo.
30
Descripcin de la Clase Categoras.
32

Integracin de Reportes elaborados con Seagate Crystal Reports


Panel de Reportes
Panel con Roles de Seguridad por Reporte
Panel con Mdulos por Reporte
Panel con Parmetros del Reporte
Ejemplo

24

27

35

36
37
37
37
38

Creacin de Conjuntos de Datos para el Asistente de Generacin de Hojas de Excel 40


Creacin de una vista en el servidor de base de datos40
Integracin del conjunto de datos a Visual HUR
41

Panel de Conjuntos de Datos (Panel 1)


42
Panel con reas o Agrupaciones de las columnas de la vista contenidas en el Conjunto de Datos (panel 2) 43
Panel con Mdulos para Utilizacin del Conjunto de Datos (panel 3)
44
Panel con Roles de Seguridad con permiso para utilizar el Conjunto de Datos (panel 4)
44
Panel con los Campos de la Vista contenidas en el Conjunto de Datos (panel 5)
44

Integracin de Plantillas de Word para generar Cartas y Constancias

45

Creacin de la Plantilla de Microsoft Word


45
Creacin de una vista en el servidor de base de datos47
Integracin de la Plantilla a Visual HUR
48
Panel de Plantillas de Word
48
Panel con Parmetros de Filtrado para la Plantilla 49
Panel con Roles de Seguridad por Reporte
51
Panel con Mdulos por Reporte
51

Integracin de Procedimientos Almacenados o DTS ejecutados desde Visual HUR. 51


Integracin a Visual HUR
51
Panel de Procedimientos Configurados
52
Panel con Parmetros del Procedimiento Almacenado53
Panel con Roles de Seguridad para la Ejecucin del Procedimiento o DTS 53
Panel con Mdulos desde los cuales se puede ejecutar el Procedimiento o DTS

Configuracin del Clculo de Planillas

53

54

Creacin de Cursores para el Clculo de Planillas 55


Configuracin del Clculo de Planillas: Ventana de Administracin de Factores
57
Configuracin del Clculo de Planillas: Ventana de Creacin o Modificacin de Factores
Cmo funciona el programa de generacin de Planillas?
63
Cmo funciona el programa de autorizacin de Planillas?
66
Documentacin de la Clase Factores
66
Documentacin de la clase Agrupadores
67
Ejemplo de configuracin de Planillas
69

61

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Herramientas de Soporte
Introduccin a las herramientas de
soporte de Visual HUR

dems de los mdulos que administran la informacin,


Visual HUR contiene un conjunto de programas de
soporte. En esta seccin se discute el proceso de
instalacin de Visual HUR en las computadoras cliente. Tambin
se describen los programas de soporte de la aplicacin, como es
el caso del la activacin del sistema, la conexin a la base de
datos, la configuracin del men principal de la aplicacin y el
Mdulo de Seguridad.
Estos temas sern tratados en este documento, el cual est
orientado a los tcnicos en recursos humanos y en informtica,
responsables del soporte para el funcionamiento de Visual HUR
en una instalacin especfica.

Instalacin de Visual HUR


Visual HUR es una aplicacin creada utilizando el modelo COM
propuesto por Microsoft, por lo que est compuesto de una serie
de programas ejecutables y un conjunto de componentes COM.
Esto conlleva que la instalacin de Visual HUR comprende una
serie de pasos que permiten registrar libreras de ejecucin de
Microsoft Visual Basic y de soporte como Microsoft ActiveX Data
Objects, as como los componentes del sistema.
Requerimientos de Hardware para los clientes

Pentium III 1Ghz (Pentium IV recomendado)

64Mb de RAM (para Windows 95, 98 o ME)

128Mb de RAM (para Windows 2000 o XP)

20Mb de espacio libre en disco duro

Requerimientos de Software para los clientes

Asesores en Informtica, S.A. de C.V.

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Sistema Operativo Windows 2000 o superior (se recomienda Windows XP Profesional


SP2, ya que contra este sistema operativo la aplicacin est certificada para operar
correctamente)

Microsoft Office 2000 o superior (se requiere para clientes que tendrn permisos de
generar cartas y constancias o de utilizar el asistente para la generacin de Consultas)
Microsoft ActiveX Data Objects versin 2.7 o superior (ya viene instalado en
Windows XP)

Requerimientos de Software para el Servidor de Base de Datos


y/o de Aplicaciones

Sistema Operativo Windows 2000 SP4 o superior (se recomienda Windows 2003 Server)

Microsoft SQL Server 2000 o superior (se recomienda la versin 2005)

Si desea conocer los requerimientos de hardware para la


ejecucin de SQL Server, dirjase al sitio de Microsoft SQL
Server en la Web.
A continuacin se muestran los pasos requeridos para la
instalacin del programa en el equipo que lo ejecutar.
Instalacin de Microsoft ActiveX Data Objects (ADO)

Visual HUR requiere que la computadora cliente (la


computadora donde ser ejecutado el sistema) cuente con la
versin 2.7 o superior de Microsoft ADO.
Si usted est instalando en un equipo con Windows XP, este paso no es
necesario, ya que viene instalada una versin compatible con Visual HUR.

En el directorio de instalacin existe un flder llamado Soporte


en el cual hay un flder llamado ADO en el que se incluyen los
programas de instalacin correspondientes.
Dependiendo del idioma del sistema operativo, es el ejecutable
que se debe utilizar para instalar ADO. En el directorio se
proveen instaladores para Windows en espaol y en ingls.
Idioma de Windows

Ejecutable que debe utilizarse

Espaol

Mdac_typ_270 es.exe (versin 2.7)


mdac_typ_280 es.exe (versin 2.8)

Ingls

Mdac_typ_270.exe (versin 2.7)


mdac_typ_280.exe (versin 2.8)

Asesores en Informtica, S.A. de C.V.

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Se incluye la versin 2.5 en el directorio de Instalacin ya que


para computadores con versiones de Windows previas a la
versin 2000, se debe ejecutar primero el instalador de la
versin 2.5 y luego el de la versin 2.7.
Si desea obtener la versin ms nueva de Microsoft ADO,
descargela gratuitamente en el sitio en la Web de Microsoft en
Universal Data Access.
Instalacin de Microsoft Script Engine (MSScript)

La librera de ejecucin de Microsoft Script permite a Visual


HUR la ejecucin de los factores de clculo de la planilla. Esta
librera es instalada de manera automtica al instalar Microsoft
Internet Explorer (IE) a partir de la versin 5.0 en adelante.
Si usted est instalando en un equipo con Windows XP, este paso no es
necesario, ya que viene instalada una versin compatible con Visual HUR.

Sin embargo, el directorio de instalacin de Visual HUR provee


en el flder Soporte\MsScript, los ejecutables para instalar por
separado esta librera. Si desea obtener las versiones ms
actualizadas de estos componentes o si desea consultar ms
informacin sobre este tema dirjase a Microsoft Windows
Scripting.
En el directorio pueden verse tres directorios, los cuales
determinan los instaladores que deben ser ejecutados, de la
siguiente forma:
Librera

Ejecutable que se utiliza

Script Control OCX

\Soporte\MsScript\Script
Control
OCX\sct10en.exe
Este componente instala el OCX para
manejo del Script Engine desde Visual
Basic (no es requerido instalarlo para
Windows 2000 o superior)

Microsoft
Windows
Script
5.6
para
Windows 9x, Me o NT

\Soporte\MsScript\Win
9x
NT4\scr56en.exe (en ingls)
\Soporte\MsScript\Win
9x
NT4\scr56es.exe (en espaol)

Microsoft
Windows
Script
5.6
para
Windows 2000 o XP

\Soporte\MsScript\Win2000
XP\scr56en.exe (en ingls)
\Soporte\MsScript\Win2000
XP\scr56es.exe (en espaol)

Asesores en Informtica, S.A. de C.V.

Me

Me

y
y
y

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Instalacin de las libreras de Visual Basic SP6 en la computadora


Cliente para ejecutar Visual HUR

Para instalar en una computadora cliente, es necesario ejecutar


el programa de instalacin de las libreras de soporte de Visual
Basic. Esto se realiza ejecutando el instalador que se provee en
el directorio Instalacion\SetupRunTime\setup.exe
Siguiendo las instrucciones del instalador se copiaran y
registrarn todos los componentes de la librera de soporte de la
aplicacin.
Registro de las libreras propias de Visual HUR en la computadora
Cliente

Para registrar las libreras propias de Visual HUR debe


ejecutarse el programa RHRegistrar.Exe que se encuentra
en el directorio de la aplicacin. Este programa registra los
componentes propios de Visual HUR para su ejecucin en la
computadora cliente.

La primera vez que se ejecuta se registran los componentes del


directorio BIN, luego se ejecuta de nuevo pero esta vez se
registran los componentes del directorio COM+
Al finalizar la aplicacin estar lista para su ejecucin.
Establecer una conexin a la base de datos

El siguiente paso es establecer la conexin a la base de datos.


Para ello siga los pasos planteados en la seccin Conexin a la
base de datos ms adelante en este documento.
Agregar el usuario al Mdulo de Seguridad

Finalmente es necesario crear un usuario dentro del Mdulo de


Seguridad de Visual HUR, y determinar que permisos de
seguridad tendr.

Asesores en Informtica, S.A. de C.V.

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Recuerde que cada usuario que tiene acceso a Visual HUR debe
estar registrado en el Mdulo de Seguridad a travs de su
usuario de red.
Ms adelante en este documento se explica el funcionamiento
del Mdulo de Seguridad.
Modalidades de Instalacin de Visual HUR

Visual HUR puede ser instalado en tres modalidades diferentes,


las cuales se describen a continuacin
Cliente Servidor Puro

En este esquema los ejecutables y los componentes de la


aplicacin se instalan localmente en el computador cliente y se
direccionan las comunicaciones al servidor SQL Server
centralizado. Adems se debe asegurar el acceso a directorios
compartidos donde se concentran las fotos de los expedientes y
los formatos de reportes y consultas.
Este esquema es apropiado para computadores mviles, que se
conectan al sistema desde diferentes puntos de la WAN. Ya que
el trfico de red se concentrara al envo de datos entre el
servidor de base de datos y la computadora cliente.
Tambin es el recomendado para situaciones en las cuales los
clientes tienen enlaces a la WAN con anchos de banda limitados
(menores de 256Kb)
A nivel de los clientes que utilizarn Visual HUR de esta manera,
se debe instalar el soporte de libreras de Visual Basic y de
Visual HUR a nivel local. El requerimiento mnimo es Windows
2000 Profesional y no ms de 15 MB de espacio en disco para la
instalacin de las libreras de soporte.
Esta opcin es la que conlleva mayor trabajo de soporte para la
aplicacin, ya que se tendran que replicar cambios en los
ejecutables instalados en muchas computadoras.
Cliente Servidor a travs de un Application Server

En este caso se sugiere instalar los objetos y componentes de


Visual HUR en un servidor de aplicaciones, que puede ser el
mismo de la base de datos o no.
El criterio para la instalacin es optimizar el trfico de la red,
para lo cual sera conveniente instalar la aplicacin en un

Asesores en Informtica, S.A. de C.V.

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

servidor que se est lo ms cercano a los clientes que utilizarn


Visual HUR.
En el caso de instalaciones en donde se centralizar la base de
datos en un pas y se tendrn usuarios remotos en otros pases,
con el afn de optimizar la ejecucin del programa se debiera
instalar la aplicacin en un servidor en cada pas y solamente los
accesos a la base de datos se deberan centralizar.
El servidor para la aplicacin no requiere de configuraciones
especiales ni mayor espacio en disco. El requerimiento mnimo
de Windows 2000 Server es suficiente para poner all los
componentes y objetos de Visual HUR.
A nivel de los clientes que utilizarn Visual HUR, se debe instalar
el soporte de libreras de Visual Basic y de Visual HUR a nivel
local y luego tener acceso va la red al servidor de aplicaciones
en donde se ubican los ejecutables y al servidor de base de
datos. El requerimiento mnimo es Windows 2000 Profesional y
no ms de 5 MB de espacio en disco para la instalacin de las
libreras de soporte.
Cliente Servidor a travs de Terminal Server o Cytrix

En este caso se debe instalar la aplicacin en el servidor que


proveer los servicios de Terminal Server o Cytrix. Y a travs de
la configuracin de estos servicios se da acceso a los clientes
para ejecutar Visual HUR.
En el caso de instalaciones en donde se centralizar la base de
datos en un pas y se tendrn usuarios remotos en otros pases,
sera recomendable instalar un servidor Terminal Server o Cytrix
en cada pas, con el afn de optimizar la utilizacin del ancho de
banda, de tal forma que nicamente sean datos los que fluyan
por la red.
Esta opcin reduce los esfuerzos de mantenimiento de la
aplicacin, ya que solo debe asegurarse el funcionamiento
correcto en los servidores que proveen el acceso a los usuarios.

Men Principal de Visual HUR


El men principal de Visual HUR es una
aplicacin que instala un icono en la barra

Asesores en Informtica, S.A. de C.V.

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

de tareas, a travs de l pueden accederse a los diferentes


mdulos del Visual HUR.
Al dar clic con cualquiera de los botones del ratn, aparecer el
men principal de Visual HUR. En este men se listan aquellos
mdulos a los cuales el usuario autenticado puede acceder.
Adicionalmente al listado de los mdulos pueden verse tres
opciones ms. La primera dice Acerca del Men, esta opcin
permite ver la identificacin del men y permite obtener
informacin sobre el sistema operativo y las aplicaciones
instaladas.
La segunda opcin dice Configuracin del
Men permite al usuario configurar la
apariencia del men principal de Visual
HUR.
Las configuraciones permitidas son:

Agregar, modificar, eliminar o mover


opciones al men. Adicionalmente a
los mdulos del Visual HUR, el usuario
puede agregar programas al men de
Visual HUR, tales como la calculadora,
el bloc de notas, etc.

Cambiar el ttulo del men y el


mensaje de ayuda que muestra cuando
se posiciona el cursor del ratn sobre el icono en la barra de
tareas.

Mostrar iconos de 16 o de 32 puntos para las opciones del


men.

Habilitar o deshabilitar la opcin de configuracin del men y


la de descargar el men.

En la grfica que se muestra a continuacin puede verse la


ventana de configuracin descrita:

Asesores en Informtica, S.A. de C.V.

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Al final del men principal se muestra una opcin que permite


descargar el men principal.

Conexin a la Base de Datos


El programa RHConexion.Exe que se encuentra en la
instalacin de Visual HUR en la carpeta de Administracin,
permite establecer los parmetros para la conexin a la base de
datos.
Al ejecutar este programa se muestra el siguiente dilogo:

Asesores en Informtica, S.A. de C.V.

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Esta ventana permite configurar los parmetros de conexin


(comnmente llamada Cadena de Conexin o DSN) y que
describe el servidor de base de datos al que se conecta la
aplicacin, as como el usuario y contrasea para la conexin y el
esquema de base de datos que se utilizar.
Presionando el botn Probar conexin, puede verificar si los
parmetros son vlidos y la conexin se pudo establecer
exitosamente. Luegodebera recibir una notificacin como la
siguiente si los parmetros estn correctos.

Luego puede presionar el botn Siguiente que le permite


finalizar el asistente para establecer la conexin.

Activacin de la Aplicacin
El programa RHLockApp.Exe que se encuentra en el
directorio de Instalacin de Visual HUR en la carpeta de

Asesores en Informtica, S.A. de C.V.

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Administracin, permite activar o desactivar la ejecucin de


Visual HUR en un computador.
Al instalar Visual HUR en un cliente, por defecto se ejecuta en
modo "demostracin" en este modo Visual HUR puede
ejecutarse durante 30 das nicamente y alguna funcionalidad
del sistema est deshabilitada.
Para que Visual HUR pase a un modo de ejecucin normal es
necesario registrar la aplicacin, lo que significa introducir una
clave de liberacin nica para cada cliente donde se ejecuta
Visual HUR.
Si Visual HUR est instalado en modo "demostracin", al
ejecutar este programa se muestra el siguiente dilogo:

Solicite al administrador del sistema que le provea de una clave


de liberacin para poder ejecutar Visual HUR en modo normal.
Este programa tambin sirve para retirar la informacin del
registro de un computador, garantizando de esta manera que no
se tendr acceso al sistema. En este caso al ejecutar este
programa se mostrar una ventana que pregunta si se desea
retirar la informacin de registro.

Asesores en Informtica, S.A. de C.V.

10

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Mdulo de Seguridad
El programa Seguridad.exe que se encuentra en el
directorio de Instalacin de Visual HUR en la carpeta de
Administracin, permite establecer los permisos de seguridad
que tienen los usuarios de Visual HUR.
Determina a travs de roles de seguridad, compuestos por uno o
mas usuarios, que mdulos pueden ejecutarse, que opciones de
cada mdulo estn activas (determinando permisos de consulta,
insercin, actualizacin, eliminacin y autorizacin.
Tambin permite establecer que secciones del expediente del
empleado son visibles para cada rol de seguridad.
Adicionalmente el mdulo de seguridad permite especificar a
que empresas tiene acceso un rol de seguridad y dentro de cada
una de ellas, determina que unidades administrativas puede ver.
Esto permite que un rol de seguridad pueda ver expedientes y
acciones de personal de empleados que pertenecen a las
unidades administrativas a las cuales se le ha dado permiso a los
roles de seguridad.
Tambin es posible determinar seguridad a nivel de Tipo de
Planilla, de tal manera que se pueda restringir el acceso de los
usuarios a los empleados que pertenecen a un Tipo de Planilla
especfico.
Al ejecutar este programa primero se
solicitar del usuario la contrasea
correspondiente para poder ejecutar este
programa. Esta contrasea es especificada
por el administrador de la aplicacin.
Si la contrasea es correcta, a continuacin se muestra la
pantalla principal de ste mdulo.

Asesores en Informtica, S.A. de C.V.

11

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

El programa muestra una serie de paneles cada uno contiene


parmetros de seguridad aplicables al role seleccionado y una
barra de herramientas en la parte superior de la forma que
permiten administrar: Roles, Usuarios, Centros de Costo por
Usuario, Actualizar la vista y Cambiar la contrasea de ejecucin
de este mdulo.
El panel Roles/Usuarios muestra un listado de usuarios
agrupados por role de seguridad. Al seleccionar un usuario o un
rol, el programa cambia el contenido de los diferentes paneles
para mostrar la configuracin de seguridad de cada uno de ellos.
Es posible asociar ms de un role a un usuario, esto permite que
la creacin de roles se haga de manera concreta y que la suma
de todos los permisos de los roles a que pertenece un usuario,
sean los permisos del usuario en la aplicacin.
El panel Accede a estos Mdulos lista los mdulos de Visual
HUR, a los cuales tiene acceso un rol de seguridad, aquellos que
se muestran chequeados son los mdulos que puede ejecutar.
El panel Accede a estas Formas lista las opciones existentes en
cada mdulo y permite marcar aquellas a las cuales tendr
acceso el rol de seguridad. Si se da doble clic sobre una de las
opciones se muestra una ventana que detalla el tipo de acceso
que se dar al rol.

Asesores en Informtica, S.A. de C.V.

12

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Por ejemplo, al dar doble clic sobre la opcin "Unidades" del


Mdulo de "Estructura Organizativa", se puede determinar si el
rol de seguridad tendr acceso a Agregar, Modificar, Eliminar o
Autorizar (si fuera aplicable para esa opcin).

El panel Acceso al Expediente lista las diferentes secciones de


las cuales est compuesto el expediente del empleado y permite
determinar a cuales tendr acceso el rol de seguridad.
En el panel ESQUEMA se podr determinar a que empresas
tiene acceso el rol de seguridad seleccionado. Adems podr
determinarse dentro de cada empresa de qu unidades
administrativas podr consultar expedientes o acciones de
personal.
Si est chequeada una empresa y no se especifica ninguna unidad, el
sistema asume que el rol de seguridad puede ver la totalidad de empleados y
acciones de la empresa.

Finalmente, en el panel Tipos de Planilla por Rol es posible


determinar para cada role de seguridad, que empleados de qu
tipos de planilla puede ver. Esta configuracin permite que sea
posible delimitar qu roles pueden ver un tipo de planilla
Confidencial, por ejemplo.
Una vez se realicen modificaciones al esquema de seguridad se
debe presionar el botn Salvar que se mostrar habilitado en la
barra de herramientas. El botn Cancelar anular cambios
realizados en el esquema de seguridad.
Recuerde que al momento de crear una nueva empresa, ningn rol de
seguridad podr verla hasta que utilice este programa para darle acceso a
algn usuario.

Asesores en Informtica, S.A. de C.V.

13

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Asesores en Informtica, S.A. de C.V.

14

Herramientas de
Parametrizacin
Introduccin a las herramientas de
Parametrizacin de Visual HUR

stas herramientas, permiten modificar el funcionamiento


de Visual HUR, adaptndolo a un implantacin especfica,
de acuerdo a los requerimientos del cliente. Consisten
fundamentalmente en configuraciones para las listas de valores
en los formularios de ingreso de datos y en columnas de las
formas que muestran listados de registros.
Adems permite administrar la parametrizacin del expediente
del empleado, la integracin de plantillas de Word y reportes de
Crystal Reports, y la generacin de conjuntos de datos para que
los usuarios elaboren sus propias consultas de la informacin
almacenada por el sistema.
Estas configuraciones se acceden a travs del Mdulo de
Parametrizacin y Configuracin (RHConfig.Exe) que se
encuentra en el directorio Administracin de la instalacin de
Visual HUR.

Administracin del Diccionario de Listas de


Valores
Visual HUR provee de un diccionario para mantener listas de
valores que se utilizan en el resto de opciones de configuracin y
en las formas de ingreso de datos.
El objetivo de estas listas de valores es asociar a las columnas de
las tablas o a controles visuales en las formas listas de valores
estandarizadas, de tal manera que se si desea cambiar su
comportamiento se pueda realizar desde la herramienta de
configuracin y no sea necesario modificar el cdigo fuente del
sistema.

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Al ejecutar esta opcin se muestra una ventana similar a la


siguiente grfica.

La forma muestra una barra de herramientas en la parte


superior que permite: agregar, modificar, eliminar, actualizar la
vista, generar un script y copiar elementos del diccionario.
Tambin muestra dos paneles, el de la izquierda lista todos los
elementos del diccionario y al seleccionar uno, en la parte de la
derecha se muestran las propiedades del elemento seleccionado.
En la parte inferior de la forma tiene un botn Copiar Select al
Portapapeles, con este botn se puede copiar la instruccin
select, incluyendo la clusula order by, para que sea revisada
utilizando Query Analyzer de Microsoft SQL Server.
Es importante destacar que es posible generar scripts en T-SQL
para la creacin de los elementos del diccionario, a travs del
botn correspondiente en la barra de herramientas.
Esta
caracterstica permite de manera simple, trabajar en un
ambiente de desarrollo y luego generar los scripts de los
elementos modificados o aadidos para que sea ejecutado
posteriormente en el ambiente de produccin.

Asesores en Informtica, S.A. de C.V.

16

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Al presionar dicho botn se muestra una ventana de seleccin


similar a la siguiente grfica:

En esta ventana el implantador puede seleccionar para cules


elementos del diccionario desea generar un script y luego debe
especificar el nombre del archivo en el cual se generar el script.
Finalmente presionando el botn Generar se ejecuta la accin.
Esta caracterstica de generacin de scripts es comn para todas
las opciones de configuracin de este mdulo.
Propiedades de cada elemento del diccionario
Propiedad

Descripcin

Field Key

Identificador de la lista de valores

Prompt

Texto por defecto que se muestra a los usuarios cuando se


utiliza la lista de valores

Tipo

Tipo de dato de la lista de valores. Corresponden a tipos de


datos soportados por la aplicacin: Bolean, Date, DateTime,
Time, Float, Real, SmallInt, Int, y Text.

Tamao

Aplicable para tipos de datos Text, determina el largo en


caracteres.

Default

Valor que utiliza por defecto la lista de valores (deben ser


valores congruentes con el tipo de dato)

Asesores en Informtica, S.A. de C.V.

17

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Tipo de Lista

Determina la fuente de la cual se obtiene la lista de valores,


las posibilidades son: No List, List y Select.
Cuando se especifica No List, es crear elementos del
diccionario que no estn asociados a una lista de valores,
sino que nicamente describan el tipo de dato y las
propiedades de formato para la exportacin a Microsoft
Excel.
Cuando se especifica List, la lista de valores se forma con
valores constantes.
Cuando se especifica Select la lista de valores proviene de
la ejecucin de una instruccin select contra la base de
datos.

Lista | FROM

Cuando se especifica un tipo de lista List contiene un


texto con los elementos constantes de la lista.
Cuando se especifica un tipo de lista Select contiene la
instruccin que se ejecutar contra la base de datos para
llenar la lista de valores. (No se debe incluir clusula order
by)

Order By

Esta propiedad es opcional, y se debe utilizar cuando el tipo


de lista es Select.
Determina la clusula Order By del Select.

Use
Data

Item

Determina si la lista de valores tiene secuencias (cdigo |


descripcin) o cuando la instruccin select tiene columna
para cdigo y columna para descripcin.
Esta propiedad permite mostrar descripciones en las listas
de valores y almacenar los cdigos correspondientes.

Expr.
Data

Item

Determina si el cdigo en la lista de valores corresponde a


una expresin que puede utilizarse en una clusula WHERE
de un select.
Por ejemplo: Puede crearse una lista de valores para un
campo tipo fecha, de la siguiente forma:
month(fecha)=1|Enero;month(fecha)=2|Febrero;
month(fecha)=3|Marzo;...; month(fecha)=12|Diciembre
En este caso en el rea cdigo de la lista de valores se
encuentra una expresin SQL y el campo "Exp. In ItemData"
debe tener "S"

First Letter

Determina si en una lista de valores constantes se utiliza el


primer carcter de la descripcin como el cdigo del campo.
Por
ejemplo:
si
la
lista
de
valores
es
"Mensual;Quincenal;Semanal", entonces al definir "S" en
este campo se utilizarn las letras M, Q o S para almacenar
en la base de datos.

Alignment

Determina la alineacin preferida para el campo cuando se


utiliza en una hoja de Excel generada por el asistente.

Formato

Formato de la columna cuando el campo se utiliza en una

Asesores en Informtica, S.A. de C.V.

18

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

hoja de Excel generada por el asistente. Debe utilizarse la


sintaxis de formato de Microsoft Excel.
AutoFit

Determina si la columna tendr ancho automtico cuando el


campo se utiliza en una hoja de Excel generada por el
asistente.

Mximo

Si AutoFit = NO, determina el ancho mximo de la columna


cuando el campo se utiliza en una hoja de Excel generada
por el asistente.

WrapText

Determina si se utiliza la funcin de justificacin de Excel


cuando el campo se incluye en una hoja generada por el
asistente.

Las listas de valores deben crearse bajo las siguientes


condiciones:

Si el tipo de lista es List (lista constante) entonces la lista de valores debe tener
secuencias as:
[Cdigo1|]Valor1;[Cdigo2|]Valor2;...;[CdigoN|]ValorN
Por ejemplo:
Diario;Mensual
1|Sin Lista;2|Lista Constante;3|Lista con SELECT

Si el tipo de lista es Select (lista con una instruccin SELECT) este campo contiene la
instruccin SELECT para obtener la lista de valores. Por ejemplo:
select afp_codigo, afp_nombre from pla_afp_afps order
select uni_codigo, uni_nombre from pla_uni_unidad where uni_codcia =
<<CODCIA>>
Si en la instruccin select se halla la secuencia <<CODCIA>> o <<CODGRC>> o
<<USER>> estas sern reemplazadas por el cdigo de la empresa o el cdigo de grupo o el
username del usuario que utiliza la aplicacin, respectivamente.
NO DEBEN INCLUIRSE CLUSULAS ORDER BY.

Configuracin de Controles de Seleccin (Query


Builder)
Visual HUR provee un mecanismo para configurar los controles
de bsqueda y seleccin que se utilizan en las formas de los
diferentes mdulos.

Asesores en Informtica, S.A. de C.V.

19

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

El objetivo de este control es generar una instruccin select


que luego es utilizada para mostrar registros en una
presentacin en tabla o para ejecutar algn proceso.
Por ejemplo en el Mdulo de Expedientes de Personal, cuando se
buscan expedientes, se muestra una ventana con un control de
seleccin similar al que se presenta en la siguiente imagen.

Controles de Seleccin como estos pueden configurarse de


acuerdo a las necesidades de la implantacin, utilizando esta
opcin en el Mdulo de Parametrizacin y Configuracin.
La pantalla de configuracin correspondiente que se muestra
luce como la siguiente imagen.

Asesores en Informtica, S.A. de C.V.

20

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

La forma est compuesta por una barra de herramientas en la


parte superior, que permite: agregar, modificar, eliminar,
actualizar la vista, generar un script y copiar una configuracin
de Query Builder.
Se presentan dos paneles, el superior tiene las diferentes
selecciones configuradas y en la parte inferior, el detalle de
columnas que se muestran en el control de seleccin.
Al seleccionar un registro del panel superior, se refresca el
detalle de columnas en el panel inferior.
Propiedades del Control de Seleccin
Propiedad

Descripcin

FormName

Determina el nombre de la forma en cdigo fuente en donde


se encuentra el control de Seleccin

Desc. Forma

Descripcin del control de seleccin

SelectFieldLi
st

Listado de columnas utilizadas para la generacin de la


instruccin select

Asesores en Informtica, S.A. de C.V.

21

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

SelectTableLi
st

Listado de tablas o vistas que intervienen en la instruccin


select generada. Puede incluir la clusula JOIN, de tal
manera que sea posible relacionar columnas de diferentes
tablas.

SelectJoinCla
use

Listado de expresiones lgicas que se generarn siempre en


la clusula where del select generado

SelectOderCl
ause

Listado de columnas que se utilizarn para la generacin de


la clusula order by

Propiedades del detalle de columnas del Control de Seleccin


Propiedad

Descripcin

No.

Correlativo que identifica la columna. Tambin determina


el orden en que se muestran las columnas en el control de
seleccin.

Prompt

Texto que se muestra al usuario en el control de seleccin

FieldName

Nombre de la columna o expresin T-SQL perteneciente a la


vista o tabla configurada y que se utiliza para generar la
clusula WHERE

FieldKey

Cdigo de elemento en el Diccionario de Listas de Valores.

UseDatePick
er

Usa control DatePicker para leer fechas, cuando el


FieldType es Date o DateTime

DefaultExp

Expresin por defecto para la columna

FieldType

Solo de Lectura. Tipo de Lista de Valores

List Source

Solo de Lectura. Lista de Valores

Use

Solo de Lectura. Parmetros, UseItemData, UseFirstLetter y


Exp. In ItemData

Format

Formato de la lista de valores

Configuracin de Listas de Valores para


RHCodCombo.ocx en formas de ingreso de
datos
Visual HUR provee un mecanismo para configurar las listas de
valores asociadas a controles RHCodCombo.OCX en las formas
de ingreso de datos.
Este control permite configurar por fuera del cdigo fuente, las
listas de valores, la descripcin que muestran y su ordenamiento.

Asesores en Informtica, S.A. de C.V.

22

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

A continuacin se muestra un ejemplo tomado de la forma de


ingreso de unidades administrativas, en donde se utilizan 6
controles de este tipo.
Como puede verse en el
ejemplo,
el
rea
Funcional, el Tipo de
Unidad, la unidad de la
cual
depende,
la
empresa y el pas en
donde
se
ubica
fsicamente la unidad y
el cdigo del empleado
que se desempea como
Jefe de la Unidad, se
muestra
un
control
visual que presenta del
lado izquierdo el cdigo
y del lado derecho la
descripcin de una lista
de valores especfica.
Esta seccin trata sobre la configuracin de estas listas de
valores que se muestran principalmente en las formas de ingreso
de datos.
Al ejecutar RHConfig.Exe y Selecciona la opcin CodCombo en el
men vertical, se muestra la pantalla de configuracin de estas
listas de valores.

Asesores en Informtica, S.A. de C.V.

23

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

La pantalla muestra un listado en tabla de las configuraciones


existentes en la base de datos. Cada configuracin est asociada
al nombre de la forma y el control en el cdigo fuente de la
aplicacin.
Propiedades de la configuracin de CodCombo
Propiedad

Descripcin

Nombre de la
Forma

Nombre de la forma en cdigo fuente que se est


configurando

Descripcin
de la Forma

Descripcin de la forma (texto explicativo para facilitar la


ubicacin de formas en la configuracin)

Nombre del
Control

Nombre del control en la forma del cdigo fuente que se


est configurando.

FieldKey

Cdigo de elemento en el Diccionario de Listas de Valores.

DefaultExp

Expresin por defecto para la lista de valores

Es importante sealar que por restricciones de diseo de


RHCodCombo.OCX, solamente se pueden asociar listas que corresponden a
campos tipo Smallint o Int. Adems la lista de valores debe estar ordenada
por la columna que contiene el cdigo en la lista de valores.

Asesores en Informtica, S.A. de C.V.

24

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Configuracin de Columnas Dropdown List en


controles Grid de las formas de bsqueda.
Visual HUR provee un mecanismo para configurar las listas de
valores asociadas a columnas Dropdown List en controles
Grid de las formas de bsqueda de datos.
Este control permite configurar por fuera del cdigo fuente, las
listas de valores, la descripcin que muestran y su ordenamiento,
para columnas de seleccin dropdown list. A continuacin se
muestra un ejemplo del uso de esta configuracin en la
aplicacin.

Como puede verse en la imagen, la tabla tiene una lista de


valores para la especificacin del Tipo de Requisito. Esta lista
puede ser administrada desde la opcin Grid Columns
Dropdown List del mdulo de Parametrizacin y Configuracin.
A continuacin se muestra una imagen de la pantalla de
configuracin referida.

Asesores en Informtica, S.A. de C.V.

25

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Para identificar una configuracin se utiliza el nombre de la


forma, el nombre del control grid y la llave de la columna que
se desee enlazar a las listas de valores.
Propiedades de la configuracin de Columnas Dropdown List de los
controles Grid
Propiedad

Descripcin

Nombre de la
Forma

Nombre de la forma en cdigo fuente que se est


configurando

Nombre del
Grid

Nombre del control Grid en la forma del cdigo fuente


que se est configurando.

Key de la
Columna

Key de la columna en el Grid que se est configurando

FieldKey

Cdigo de elemento en el Diccionario de Listas de Valores.

Descripcin
de la Forma

Descripcin de la forma (texto explicativo para facilitar la


ubicacin de formas en la configuracin)

DefaultExp

Expresin por defecto para la lista de valores

Asesores en Informtica, S.A. de C.V.

26

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Configuracin de Columnas SubGrid en


controles Grid de las formas de bsqueda.
Visual HUR provee un mecanismo para configurar las listas de
valores asociadas a columnas Dropdown List en controles
Grid de las formas de bsqueda de datos.
El objetivo es poder configurar columnas que muestran un Grid
Secundario, como mecanismo para seleccionar registros en
columnas de tablas de ingreso de datos tipo Grid.
A continuacin se muestra como ejemplo, el SubGrid utilizado
para seleccionar el empleado a retirar en la pantalla de ingreso
de Retiros del Mdulo de Acciones de Personal.

El Mdulo de Parametrizacin y Configuracin permite


configurar estos grid secundarios a travs de una pantalla como
la que se muestra a continuacin.

Asesores en Informtica, S.A. de C.V.

27

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Propiedades de la configuracin de Columnas SubGrid de los


controles Grid
Propiedad

Descripcin

Nombre de la
Forma

Nombre de la forma en cdigo fuente que se est


configurando

Descripcin
de la Forma

Descripcin de la forma (texto explicativo para facilitar la


ubicacin de formas en la configuracin)

Nombre del
Grid

Nombre del control Grid Principal en la forma del cdigo


fuente que se est configurando.

Key de la
Columna

Key de la columna en el Grid Principal que se est


configurando

Nombre del
SubGrid

Nombre del control del Grid Secundario en la forma del


cdigo fuente que se est configurando.

ndice de la
columna
Enlace

ndice de la columna en el Grid Secundario que se enlaza


con la columna en el Grid Principal.

Instruccin
Select del
SubGrid

Instruccin select que se ejecuta contra la base de datos y


que llena los registros del Grid Secundario.

Asesores en Informtica, S.A. de C.V.

28

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Configuracin de las Secciones Extensibles del


Expediente de Personal
Visual HUR tiene la capacidad de ampliar o reducir
dinmicamente el contenido de informacin del expediente del
empleado. Para ello dispone de mltiples secciones que son
configurables, entre ellas estn: la informacin sobre
documentos
de
identificacin
del
empleado
(tabla
pla_ide_ident_emp),
la
informacin
relacionada con el
clculo de salarios
(tabla

pla_dpl_datos_planilla), la informacin adicional al expediente


(tabla pla_ead_empleado_adic), etc.
Al momento de implantar Visual HUR se definen los
requerimientos de datos del expediente y se decide en cul de
las secciones configurables se ubican dichos datos.
Esta imagen muestra la pantalla de ingreso de expedientes a la
base de datos. En esta pantalla se destaca el control visual sobre
el cual tratan estas configuraciones.
Con esta configuracin tambin se pueden adecuar otros
ingresos de datos utilizados en la aplicacin, tales como:
Contratacin, Registro de Liquidaciones, Escenarios de
Liquidacin, captura de parmetros para generacin de perodos
de vacacin, parmetros Generales por Empresa, etc.
En esta seccin se tratan temas relacionados con VBScript, que
es el lenguaje en que se escriben las funciones de validacin y
los eventos que se ejecutan antes y despus de editado un campo

Asesores en Informtica, S.A. de C.V.

29

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

de las secciones extensibles. Si desea informacin sobre este


lenguaje visite el sitio Microsoft Windows Script Technologies.
Ahora se discute el procedimiento para realizar la configuracin
de secciones del expediente del empleado:
Modificacin de la tabla correspondiente

Inicialmente el administrador de la aplicacin debe modificar la


tabla que desea configurar, agregando, modificando o
eliminando campos. Esto se realiza a travs de programa de
Administracin de Microsoft SQL Server.
Configuracin de la Seccin del Expediente

A continuacin debe ejecutarse la opcin Property Grid


del mdulo de Parametrizacin y Configuracin de Visual
HUR que se encuentra en el directorio de instalacin de Visual
HUR en la carpeta de Administracin. El programa al ejecutarlo
luce como la grfica que se muestra a continuacin:

La ventana tiene una barra de herramientas en la parte superior,


que permite agregar, modificar o eliminar una configuracin,
actualizar la vista, generar un script y hacer una copia de la

Asesores en Informtica, S.A. de C.V.

30

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

configuracin seleccionada. Finalmente tiene un botn para


probar la configuracin desde esta pantalla, de tal forma que se
pueda verificar que no tiene errores sin salir del programa de
configuracin.
Adems el formulario se encuentra divido en una serie de
paneles con informacin relacionada con la configuracin que se
est trabajando.
1.

Panel con el listado de secciones, correspondientes a las tablas mencionadas anteriormente


(al seleccionar una tabla en este panel, se muestra la informacin relacionada en ella en los
paneles 2 y 3)

2.

Panel con el listado la definicin de la llave primaria de la tabla que se seleccion en el


panel 1.

3.

Panel con la tabla de descripcin de campos de la tabla seleccionada en el panel 1.

Panel con las secciones configurables

En este panel aparece la lista de controles Property Grid que


se pueden configurar a travs de esta herramienta, el panel
muestra las siguientes columnas:
Propiedad

Descripcin

ID

ID nico para identificar la Seccin Configurable

Nombre de la
Tabla

Nombre de la Tabla en la Base de Datos

Descripcin de la
Tabla

Descripcin de la Seccin Configurable

La tabla en la base de datos donde se almacena esta informacin


es: cfg_pg_tables
Panel con la descripcin de la llave primaria de la seccin
seleccionada

En este panel se lista los campos de la tabla que forman la llave


primaria de la tabla que se est configurando (si aplica). Este
panel muestra las siguientes columnas:
Propiedad

Descripcin

ndice

Determina el nombre de ndice correspondiente a la


llave primaria (si se deja en blanco el programa de
configuracin sabr que existen otros campos en la
tabla que no se estn utilizando para almacenar
informacin)

Asesores en Informtica, S.A. de C.V.

31

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

No.

Determina el ordenamiento de los campos en la tabla

Nombre de la
Columna

Nombre de la Columna de la Tabla configurada

Tipo

Lista de valores con los tipos existentes para las


columnas de la tabla

Tamao

(opcional) Solamente aplica para campos tipo Texto y


determina el largo en caracteres de la columna de tipo
Char o Varchar.

CanBeNull?

Determina si la columna puede quedar sin especificar al


momento de insertar o actualizar datos en la tabla

Llave Primaria?

Determina si la columna forma parte de la llave


primaria de la tabla

Panel con la configuracin de cada campo de la tabla que se est


configurando

En este panel se muestra una lista de definiciones para los


campos que formarn la seccin configurable.
Las columnas de esta tabla son:
Propiedad

Descripcin

No.

Determina el nmero de categora al que pertenece el


campo configurado

Categora

Nombre de la categora a la cual pertenece el campo


configurado

No

Ordenamiento de los campos dentro de la misma


categora

Empresa

Cdigo de Empresa en donde es visible este campo (si


el valor es Nulo, entonces este campo es visible en los
expedientes de todas las empresas)

Ttulo o
descripcin del
campo

Es el texto que aparece como ttulo o etiqueta para la


columna cuando se le presenta al usuario final en la
forma de ingreso de datos.

Nombre de la
Columna

Nombre de la columna en la base de datos

FieldOnTable

Determina si el campo corresponde a una columna de


la tabla destino de la seccin configurable. Permite
crear campos que no se leen o actualizan en la tabla
destino

Tipo

Lista de valores con los tipos posibles de las columnas


de la tabla

Asesores en Informtica, S.A. de C.V.

32

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Tamao

(opcional) Solamente aplica para campos tipo Texto y


determina el largo en caracteres de la columna de tipo
Char o Varchar.

Formato

(Opcional) determina el formato que se utiliza para


mostrar los datos en la pantalla. Sigue la sintaxis de
formato de Visual Basic Script (VBScript)

Default

(opcional) determina el valor por defecto que tiene este


campo durante su lectura

Regla de
Validacin

Funcin escrita en VBScript que retorna un valor


verdadero o falso y que permite validar si el valor
ingresado para el campo es vlido.

Error de
Validacin

Cadena de caracteres que se muestra cuando la funcin


de validacin falla

CanBeNull?

Determina si el campo es requerido o puede quedar sin


especificar

EditMode

Determina si el campo es editable o no cuando se


visualiza desde la forma de ingreso de datos

Visible

Determina si el campo es visible cuando se visualiza


desde la forma de ingreso de datos

Control de
Lectura

Determina el tipo de control visual que se utilizar para


ingresar datos (TextBox o ComboBox) Cuando se
especifica un ComoBox se activan las columnas
relacionadas con la lista de valores.

Multiline

Para campos que se leen con un Textbox, permite


determinar si se muestra ms de una lnea o no

# Lines

Nmero de lneas a mostrar cuando MultiLine = True

Select?

Determina si la lista de valores se obtiene de una


instruccin SELECT o si por el contrario es una lista de
valores constantes

Lista de Valores

Lista de valores para el campo o instruccin SELECT


que se ejecuta para obtenerla

Use First Letter

Determina si en una lista de valores constantes se


utiliza el primer caracter de la descripcin como el
cdigo del campo. Por ejemplo: si la lista de valores es
"Mensual;Quincenal;Semanal", entonces al definir "S"
en este campo se utilizarn las letras M, Q o S para
almacenar en la base de datos

Cdigo para el
evento BeforeEdit

Funcin VBScript que se ejecuta antes de entrar a


editar un valor en la forma de lectura

Cdigo para el
evento AfterEdit

Funcin VBScript que se ejecuta despus de terminar


la edicin a un valor en la forma de lectura

Asesores en Informtica, S.A. de C.V.

33

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Las listas de valores deben crearse bajo las siguientes


condiciones:

Si el tipo de lista es List (lista constante) entonces la lista de valores debe tener
secuencias as:
[Cdigo1|]Valor1;[Cdigo2|]Valor2;...;[CdigoN|]ValorN
Por ejemplo:
Diario;Mensual
1|Sin Lista;2|Lista Constante;3|Lista con SELECT

Si el tipo de lista es Select (lista con una instruccin SELECT) este campo contiene la
instruccin SELECT para obtener la lista de valores. Por ejemplo:
select afp_codigo, afp_nombre from pla_afp_afps order
select uni_codigo, uni_nombre from pla_uni_unidad where uni_codcia =
<<CODCIA>>
Si en la instruccin select se halla la secuencia <<CODCIA>> o <<CODGRC>> o
<<USER>> estas sern reemplazadas por el cdigo de la empresa o el cdigo de grupo o el
username del usuario que utiliza la aplicacin, respectivamente.

Al posicionarse sobre un rengln de este panel puede


presionarse el icono de propiedades de la barra de herramientas
o la combinacin de teclas <Ctrl-E> para mostrar una ventana
secundaria que facilita el ingreso de las funciones elaboradas
con VBScript. La pantalla que se muestra luce as:

Asesores en Informtica, S.A. de C.V.

34

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Como puede verse en la ventana mostrada, en la parte superior


hay botones para ver la funcin de validacin (ValidationRule), la
lista de valores (ListValues), la funcin del evento
BeforeEditCode y la funcin del evento AfterEditCode.
Al modificar estos campos en esta forma secundaria se modifican
en la tabla que se muestra en el programa de configuracin.
Funcin VBScript de validacin de campos.

Para cada columna es posible la creacin de una funcin de


validacin para el valor digitado por el usuario. Esta se ejecuta
luego de que el usuario modifica un valor en la forma de ingreso
de datos y trata de moverse al siguiente campo (luego de que el
control de edicin pierde el foco y antes del evento AfterEdit).

Asesores en Informtica, S.A. de C.V.

35

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

La funcin recibe como nico parmetro el valor ingresado por


el usuario y debe retornar un valor verdadero o falso luego de
ejecutar la funcin. A continuacin se muestra un ejemplo:
Function Validate(ByVal Value)
Validate = (value > 50 and value < 500)
End Function

Este es el texto que debe ingresarse en la columna Regla de


Validacin si se desea asegurar que el valor ingresado por el
usuario en este campo est entre 51 y 499 inclusive.
Recuerde que el campo Error de Validacin le permite escribir
un mensaje de error que ser mostrado al usuario cuando la
funcin de validacin retorna un valor falso.
Funcin VBScript que se ejecuta antes y despus de editar un campo.

Para cada columna en la configuracin se permite la creacin de


funciones que se ejecutan antes y despus de editar campos en
la forma de ingreso de datos.
La funcin recibe como parmetros el objeto Cat que contiene la
estructura de datos en memoria donde se almacenan las
configuraciones de las categoras y campos de la forma de
ingreso de datos configurable, tambin recibe dos parmetros
ms que identifican en que categora y campo se encuentra
posicionado el cursor. La funcin no debe retornar ningn valor.
A continuacin se muestra un ejemplo:
Function AfterEdit(Cat, CurCat, CurRow)
if Cat(CurCat).Rows(CurRow).Value = "S" then
Cat(CurCat).Rows(CurRow+1).EditMode = 0
else
Cat(CurCat).Rows(CurRow+1).EditMode = 2
end if
End Function

En este ejemplo antes de editar un campo, se investiga el valor


que tiene para deshabilitar el ingreso de datos en el siguiente
campo de la forma. Si el campo donde se encuentra posicionado
el usuario tiene un valor "S", entonces modifica la propiedad

Asesores en Informtica, S.A. de C.V.

36

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

"EditMode" del siguiente campo para que permita editarlo, por


el contrario si tiene un valor "N", entonces lo marca como
deshabilitado para la modificacin.
Estas funciones permiten realizar operaciones ms complejas,
como por ejemplo, inicializar la lista de valores del prximo
campo, dependiendo del valor del campo en el que se encuentra
el usuario.
A continuacin se muestra un ejemplo de este comportamiento:
El tiene un campo que requiere el cdigo de pas del usuario,
dependiendo del cdigo de pas seleccionado, el siguiente campo
debe tener en su lista de valores los departamentos
pertenecientes al pas seleccionado, por lo que luego de editar el
campo "pas" se ejecuta esta funcin que lee de la base de datos
los departamentos de ese municipio y genera la lista de
departamentos apropiada.
Function AfterEdit(Cat, CurCat, CurRow)
Dim conn
Dim oRS
Dim xSQL
Dim errMsg
Set conn = CreateObject("ADODB.Connection")
Set oRS = CreateObject("ADODB.Recordset")
errMsg = ""
On Error Resume Next
conn.Open Cat.ConnectString
If Err.Number = 0 Then
xSQL = "select dep_codigo, dep_nombre" & _
" from pla_dep_departamento" & _
" where dep_codpai = " & Cat(CurCat).Rows(CurRow).Value & _
" order by dep_nombre"
oRS.Open xSQL, conn, 3
If Err.Number = 0 Then
If oRS.EOF Then
Cat(CurCat).Rows(CurRow + 1).EditMode = 2
Else
With Cat(CurCat).Rows(CurRow + 1)
.EditMode = 0
.HasValueList = True
.ValueList.Clear
Do Until oRS.EOF
.ValueList.Add oRS.Fields("dep_codigo").Value, _
oRS.Fields("dep_nombre").Value
oRS.MoveNext
Loop
End With
End If

Asesores en Informtica, S.A. de C.V.

37

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Else
errMsg = "Error: " & Err.Number & " - " & Err.Description
End If
oRS.Close
conn.Close
Else
errMsg = "Error: " & Err.Number & " - " & Err.Description
End If
On Error GoTo 0
if errMsg <> "" then
MsgBox errMsg & vblf & vblf & xSQL
end if
end function

Como puede verse en el ejemplo, el objeto Cat como una de sus


propiedades tiene el "String de Conexin" a la base de datos, por
lo que utilizando Microsoft ADO es posible establecer una
conexin a la base de datos y ejecutar una instruccin select.
Utiliza las funciones CreateObject("ADODB.Connection") y
CreateObject ("ADODB.Recordset") para tal fin.
Adems puede verse que para un campo en la forma de ingreso
de datos se tienen propiedades y mtodos para controlar la lista
de valores, tales como .HasValueList (true/false), .ValueList.Clear
y .ValuList.Add. Esto permite construir la lista de valores dentro
de la funcin ejecutada luego de editar el campo pas.
Descripcin de la Clase Categoras.

A continuacin se har una descripcin detallada de las


propiedades y mtodos de la Clase Categoras, que es la que se
enva como parmetro a las funciones con los eventos
AfterEditCode y BeforeEditCode de la configuracin de campos.
rhPGCategories

Clase con la coleccin de Categoras

ConnectString as String

String de Conexin a la base de datos

DataAccessLayer as
rhDataAccessLayer

Objeto conexin a la base de datos ya


inicializado dentro de la aplicacin.

UsuarioWindows as String

Nombre de usuario validado en el arranque de


Windows.

Count as Long

Nmero de elementos en la coleccin

Item (vntIndexKey) as rhPGCategory Elemento (vntIndexKey) de la coleccin


Add (Prompt as String, [Visible as
Boolean = True, [sKey as String])

Agrega un elemento a la coleccin

Clear ()

Elimina todos los elementos de la coleccin

Asesores en Informtica, S.A. de C.V.

38

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Remove (vntIndexKey)

rhPGCategory

Elimina el elemento (vntIndexKey)

Clase con el objeto categora

Expanded as Boolean

Determina si la clase esta expandida o


colapsada en la forma

Index as Integer

Nmero de elemento en la coleccin

Prompt as String

Ttulo de la categora

Rows as rhPGRows

Coleccin de Renglones en la categora

rhPGRows

Clase con la coleccin de Renglones de una


Categora

Count as Long

Nmero de elementos en la coleccin

Item (vntIndexKey) as rhPGRow

Elemento (vntIndexKey) de la coleccin

Add (Prompt As String, [FieldName


As String], [FieldType As
pg_FieldTypeConstants =
pg_Entero], [FieldSize As Integer],
[FormatString As String],
[DefaultValue], [EditMode As
pg_EditModeConstants = pg_Edit],
[CanBeNull As Boolean = False],
[InputControl As
pg_InputControlConstants =
pg_TextBox], [HasValueList As
Boolean = False], [SelectExpression
As String], [ValidateRule As String],
[ValidationErrorMsg As String],
[BeforeEditCode As String],
[AfterEditCode As String], [Visible
As Boolean = True], [Tag], [sKey As
String])

Agrega un elemento a la coleccin

Clear ()

Elimina todos los elementos de la coleccin

Remove (vntIndexKey)

Elimina el elemento (vntIndexKey)

rhPGRow

Clase con el objeto Rengln

Actualizado as Boolean

Determina si el rengln fue actualizado en la


base de datos

AfterEditCode as String

Almacena la funcin de VBScript que se ejecuta


al salir del campo luego de editarlo

BeforeEditCode as String

Almacena la funcin de VBScript que se ejecuta


antes de entrar a editar el campo

CanBeNull as Boolean

Determina si el valor del rengln puede quedar


nulo

DefaultValue as Variant

Valor por defecto para el rengln

EditMode as pg_EditModeConstants Modo de Edicin del Rengln de acuerdo a las


constantes permitidas
FieldName as String

Nombre del Campo en la Tabla

FieldOnTable as Boolean

Determina si el rengln corresponde a una

Asesores en Informtica, S.A. de C.V.

39

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

columna que existe fsicamente en la tabla a la


cual se asoci el PropertyGrid
FieldSize as Integer

Largo del Campo en la Tabla (aplica solamente


para FieldType = pg_Texto)

FieldType as pg_FieldTypeConstants Tipo de dato almacenado en la propiedad Value


del Rengln, de acuerdo las constantes
permitidas
FormatString as String

Formato para mostrar la propiedad Value del


Rengln

HasValueList as Boolean

Determina si utiliza la coleccin ValueList para


restringir los valores permitidos para la
propiedad Value

Index as Integer

Correlativo de Rengln dentro de la misma


categora

InputControl as
pg_InputControlConstants

Determina que control visual se utiliza para la


lectura del valor del rengln.

Multiline as Boolean

Determina si el rengln utiliza un TextBox de


ms de una lnea o no.

Prompt

Ttulo del Rengln

SelectExpression as String

Instruccin select que utiliza el rengln para


llenar su lista de valores

Tag as Variant

Propiedad para contener cualquier informacin


que se desee almacenar

TextValue as String

Texto del Rengln (es la propiedad Value,


formateada para ser presentada en la forma de
ingreso de datos)

ValidateRule as String

Funcin de VBScript que valida el valor del


rengln

ValidationErrorMsg as String

Mensaje de Error que muestra cuando falla la


funcin de validacin del rengln

Value as Variant

Valor del Rengln

ValueList as rhPGValueItems

Coleccin con la lista de valores asociada al


rengln

Visible as Boolean

Determina si el rengln est visible para edicin

VisibleLines as Integer

Si el rengln est configurado con MultiLine =


True, entonces permite determinar el nmero
de lineas visibles en el Textbox.

rhPGValueItems

Clase con la coleccin de la lista de valores de


los renglones

Count as Long

Nmero de elementos en la coleccin

Item (vntIndexKey) as
rhPGValueItem

Elemento (vntIndexKey) de la coleccin

Add (Value, Description As String,


[Tag], [sKey As String])

Agrega un elemento a la coleccin

Clear ()

Elimina todos los elementos de la coleccin

Remove (vntIndexKey)

Elimina el elemento (vntIndexKey)

rhPGValueItem

Clase con cada valor de la lista de valores

Description as String

Descripcin de la propiedad Value de la Lista

Index as Integer

Nmero correlativo de valor en la lista

Asesores en Informtica, S.A. de C.V.

40

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Tag as Variant

Propiedad para contener cualquier informacin


que se desee almacenar

Value as Variant

Valor de la Lista

pg_EditModeConstants

Constantes para el Modo de Edicin de los


Renglones

pg_Edit = 0

Determina que el rengln es editable

pg_NoEdit = 1

Determina que el rengln NO es editable

pg_NoEditAndDisabled = 2

Determina que el rengln NO es editable y se


muestra deshabilitado

pg_FieldTypeConstants

Constantes para los tipos de dato que pueden


almacenarse en la propiedad Value del Rengln

pg_Booleano = 6

Corresponde al tipo Bit de la base de datos

pg_Byte = 0

Corresponde al tipo TinyInt de la base de datos

pg_Doble = 4

Corresponde al tipo Float de la base de datos

pg_Entero = 1

Corresponde al tipo SmallInt de la base de datos

pg_EnteroLargo = 2

Corresponde al tipo Int de la base de datos

pg_Fecha = 5

Corresponde al tipo DateTime de la base de


datos

pg_Memo = 8

Corresponde al tipo Text de la base de datos

pg_Simple = 3

Corresponde al tipo Real de la base de datos

pg_Texto = 7

Corresponde al tipo VarChar de la base de datos

pg_InputControlConstants

Constantes para el Control Visual que se


utilizar para leer el rengln

pg_ComboBox = 2

Utiliza un ComboBox

pg_DatePicker = 1

Utiliza el DatePicker OCX

pg_TextBox = 0

Utiliza el TextBox

Integracin de Reportes elaborados con Crystal


Reports
Visual HUR tiene tres modalidades de generar informacin para
ser impresa, la primera es generando Hojas de Microsoft Excel,
la segunda es integrando plantillas de Microsoft Word para
generar cartas y constancias y la tercera es elaborando reportes
utilizando Crystal Reports y luego integrndolos en el sistema.
Esta seccin trata sobre el programa de configuracin para
integrar los reportes elaborados al sistema. Se asume que el

Asesores en Informtica, S.A. de C.V.

41

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

usuario conoce como elaborar reportes con Crystal Reports, por


lo que nicamente se discutir su integracin al Visual HUR.
Para obtener informacin sobre Crystal Reports dirjase a su
pgina en Internet en www.businessobjects.com
Inicialmente el administrador de la aplicacin debe crear un
reporte que se conecte a la base de datos de Visual HUR, el
reporte creado debe conectarse a la base de datos utilizando
ADO.
Luego debe copiar el reporte creado al directorio "Reportes" que
existe en el directorio de instalacin de Visual HUR.
A continuacin debe ejecutarse el programa que permite
indicarle a Visual HUR los parmetros de generacin del
reporte, as como el(los) rol(es) de seguridad que tendrn acceso
a l y los ejecutables en donde ser visible. Para ello debe
ejecutarse el programa RHConfig.exe que se encuentra en el
directorio de instalacin de Visual HUR en la carpeta de
Administracin y luego la opcin Reportes Estticos.
El programa al ejecutarlo luce como la grfica que se muestra a
continuacin:

En la parte superior de la ventana, se presenta una barra de


herramientas que permite: agregar, modificar o eliminar una
configuracin de reportes estticos. Adems permite actualizar

Asesores en Informtica, S.A. de C.V.

42

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

la vista, generar un script T-SQL y copiar una configuracin


especfica.
La ventana se encuentra divida en una serie de paneles con
informacin relacionada con el reporte que se est integrando a
Visual HUR.
1. Panel con el listado de reportes integrados al Visual HUR (al seleccionar un reporte en
este panel, se muestra la informacin relacionada en los paneles 2, 3 y 4)
2. Panel con el listado de roles de seguridad que pueden utilizar el reporte seleccionado
en el panel 1.
3. Panel con el listado de programas ejecutables o mdulos de Visual HUR que se puede
utilizar el reporte seleccionado en el panel 1.
4. Panel con el listado de parmetros para filtrado de informacin que se pueden utilizar
en el reporte seleccionado en el panel 1.
Panel de Reportes

En este panel aparece una tabla que muestra los reportes que
han sido integrados a Visual HUR, el panel muestra las
siguientes columnas:
Propiedad

Descripcin

SetID

Identificador nico de reporte

Nombre del
Reporte

Nombre o descripcin del Reporte

Nombre del
Archivo RPT

Nombre del Reporte creado con Crystal Reports


(archivo .RPT existente en el directorio Reportes de la
instalacin de Visual HUR)

Archivo?

Determina si la salida del reporte va a una ventana de


vista previa o si se exporta a un archivo. Los reportes
que generan los disquetes para la transferencia
bancaria o para el seguro social, tiene "S" en este
parmetro

Tipo Cursor

Determina si la fuente de datos para el reporte proviene


de una vista o de un procedimiento almacenado en la
base de datos.

Nombre
Procedimiento

Nombre del procedimiento almacenado o vista de la


cual proviene la informacin para el reporte

La tabla donde se almacena esta informacin en la base de datos


es: rep_res_reportes_estaticos

Asesores en Informtica, S.A. de C.V.

43

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Panel con Roles de Seguridad por Reporte

En este panel se listan los roles de seguridad para los cuales est
visible el reporte seleccionado en el panel 1. Para agregar roles
de seguridad se posiciona el cursor en la fila (*) de la tabla y se
selecciona el rol deseado.
Panel con Mdulos por Reporte

En este panel se listan los mdulos de Visual HUR en los cuales


est visible el reporte seleccionado en el panel 1. Para agregar
mdulos se posiciona el cursor en la fila (*) de la tabla y se
selecciona el mdulo deseado.
Panel con Parmetros del Reporte

En este panel se listan los parmetros que se utilizan para


generar la informacin en el reporte seleccionado en el panel 1.
En esta tabla se muestran las siguientes columnas:
Propiedad

Descripcin

Orden

Determina el ordenamiento de los parmetros en la


ventana de generacin de reportes preelaborados de
Visual HUR.

Nombre del
Campo

Nombre del campo o parmetro para la generacin del


reporte.

Referencia al
FieldKey

Referencia
(FieldKey).

Prompt

Determina el texto que aparece como explicacin del


campo en la ventana de generacin de reportes

CodCia?

Determina si el parmetro es el cdigo de empresa. El


cdigo de empresa es conocido de antemano por todos
los mdulos al momento de ejecutarlos. Entonces
cuando se determina que un campo de la tabla
corresponde al cdigo de empresa, la ventana de
generacin de reportes lo enva de manera automtica
sin preguntarlo al usuario

Fecha?

Determina si el parmetro corresponde a la fecha de


generacin de reporte que el usuario puede ingresar en
la ventana de generacin de reportes

Mensaje?

Determina si el parmetro corresponde al texto libre


que puede ser ingresado por el usuario en la ventana de
generacin de reportes

al

Diccionario

de

Listas

de

Valores

Convencin de para los nombres de campo:

Asesores en Informtica, S.A. de C.V.

44

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Cuando se utiliza un campo que proviene de una vista en la base datos se deben encerrar
entre llaves y se debe anteponer al nombre del campo, el nombre del proveedor de base de
datos utilizado para crear el reporte. Por ejemplo: {ado.inn_codcia} significa que se est
utilizando ADO como proveedor para los datos el reporte y se desea filtrar utilizando el
cdigo de empresa de la tabla cuyo nombre es INN_CODCIA.

El segundo caso es cuando se utiliza un campo que es un parmetro de un procedimiento


almacenado en la base de datos. En este caso debe ponerse el nombre del parmetro tal y
como fue definido al crear el procedimiento (es sensitivo a las maysculas y minsculas)
sin anteponer el signo de arroba (@)

El tercer tipo de parmetros es cuando se desea filtrar el reporte utilizando una frmula
creada a nivel del reporte, en este caso se utiliza el nombre de la frmula y no se encierra
entre llaves ni se especifica el proveedor de base de datos, Por ejemplo,
FECHA_REPORTE para pasar al reporte la fecha de generacin que se desea utilizar.

Ejemplo

Para aclarar la utilizacin de este programa de configuracin se


desarrollar el siguiente ejemplo:
Suponiendo que se desea integrar a Visual HUR un reporte que
genera un listado de empleados activos con su fecha de ingreso y
su antigedad en meses, agrupado por unidad administrativa.
Inicialmente se debe crear un reporte en Crystal Reports que
genere este listado, tal y como se muestra en la grfica
siguiente:

Para crear este reporte se uso la siguiente instruccin SQL,


conectada a travs de ActiveX Data Objects (ADO).

Asesores en Informtica, S.A. de C.V.

45

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

select emp_codcia, emp_codigo, emp_nombre_empleado_x_nombre,


uni_codigo, uni_nombre
from pla_emp_nombre_emp_v
join pla_plz_plaza on plz_codcia = emp_codcia
and plz_codigo = emp_codplz
join pla_uni_unidad on uni_codcia = plz_codcia
and uni_codigo = plz_coduni
where emp_estado = 'A'

Tambin se cre una frmula para obtener la antigedad del


empleado. La formula se nombr: "Antigedad" y tiene la
siguiente instruccin:
DateDiff("M", {ado.emp_fecha_ingreso}, CurrentDate).

Luego se posicionaron los campos en el reporte y se le dio


formato. Se salv el reporte en el directorio "Reportes" del
directorio de instalacin de Visual HUR.
Luego se ejecut el programa de configuracin RHConfig.Exe y
se creo un nuevo reporte en el panel 1 con la siguiente
informacin:

SetID: El siguiente nmero libre

Nombre o descripcin del Reporte: Listado de Empleados Activos y sus Antigedades

Nombre del Reporte creado con Crystal Reports: listEmp_Antiguedad.RPT

Archivo? = No

Tipo Cursor = Tabla o Vista

Nombre del Procedimiento en blanco

En el panel 2 se dio permiso al rol "Administradores" y en el


panel 3 se ingreso el mdulo de Expedientes de Personal. Esto
garantiza que todos los usuarios cuyo rol de seguridad sea
Administradores pueden ver el reporte cuando ejecutan el
mdulo de expedientes de personal.
Para generar el reporte se decidi que deba poder filtrarse por
unidad administrativa, es decir, generar el listado para un
departamento o gerencia en particular y que tambin se deba
permitir filtrar por la frmula Antigedad, para que el reporte
genere un listado de aquellas personas cuya antigedad sea

Asesores en Informtica, S.A. de C.V.

46

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

igual a un nmero o en general, que cumplan con la expresin


que se puede incluir en la ventana de generacin de reportes.
Para ello en el panel 4 se ingreso la siguiente informacin:
Orde Nombre del
n
Campo

Referencia al
Fieldkey

Prompt

CodCi
a?

Fech
a?

Mensa
je?

{ado.emp_codcia}

DefaultSmallInt

CodCIA

No

No

{ado.uni_codigo}

Unidad

Unidad Admin.

No

No

No

{@Antiguedad}

DefaultSmallInt

Antigedad
(meses)

No

No

No

Ntese que se agrega al inicio el campo {ado.emp_codcia} para


que el generador filtre automticamente la empresa en la cual se
encuentra autenticado el usuario al ejecutar el Mdulo de
Expedientes de Personal, adems note que para este campo la
columna Codcia? esta marcada con un "Si".
El cdigo de unidad administrativa est definido en su
comportamiento por el FieldKey = "Unidad" que se encuentra en
el Diccionario de Listas de Valores.
El parmetro para filtrar la antigedad se escribi con la sintaxis
de Crystal como {@Antigedad} y est asociado a un FieldKey
llamado "DefaultSmallInt" que permite manipular nmero
enteros entre -32766 y 32767.
Una vez se realiz esta configuracin se puede iniciar el mdulo
de Expedientes de Personal y generar el reporte.

Creacin de Conjuntos de Datos para el Asistente


de Generacin de Hojas de Excel
Visual HUR tiene tres modalidades de generar informacin para
ser impresa, la primera es generando Hojas de Microsoft Excel,
la segunda es integrando plantillas de Microsoft Word para
generar cartas y constancias y la tercera es elaborando reportes
utilizando Crystal Reports y luego integrndolos en el sistema.
Esta seccin trata sobre el programa para la creacin de los
conjuntos de datos que le permiten al asistente generar Hojas de
Microsoft Excel para la creacin de consultas dinmicas de la
base de datos.

Asesores en Informtica, S.A. de C.V.

47

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Creacin de una vista en el servidor de base de datos

El primer paso es crear una vista en la base de datos que


permita obtener la informacin que se requiere para cada
conjunto de datos. Puede obtener mayor informacin sobre el
procedimiento para crear vistas en la base de datos consultando
el manual en lnea de Microsoft SQL Server.
Por ejemplo, se crear un conjunto de datos para generar
estadsticas simples sobre las causas de las incapacidades
registradas en la base de datos:
create view estadisticas_incapacidades as
select ixe_codcia,
year(ixe_inicio) ixe_anio_inicio,
month(ixe_inicio) ixe_mes_inicio,
txi_descripcion ixe_tipo,
count(*) ixe_frecuencia,
sum(ixe_dias_incapacitado) ixe_dias_persona,
avg(ixe_dias_incapacitado) ixe_dias_promedio
from pla_ixe_incap_empleado
join pla_txi_tipo_incapacidad
on txi_codcia = ixe_codcia and txi_codigo = ixe_codtxi
group by ixe_codcia, year(ixe_inicio),
month(ixe_inicio), txi_descripcion

Esta vista retorna el nmero de eventos de incapacidad, la suma


total de das de incapacidad y el promedio de das de
incapacidad por tipo de incapacidad, y cada mes del ao en cada
empresa existente en la base de datos.
Integracin del conjunto de datos a Visual HUR

A continuacin debe ejecutarse el programa que permite


crear o modificar los conjuntos de datos para el asistente
de generacin de consultas dinmicas de Visual HUR. Para ello
debe ejecutarse el programa RHConfig.exe que se encuentra en
el directorio de instalacin de Visual HUR y luego seleccionar la
opcin Conjuntos de Datos.
El programa al ejecutarlo luce como la grfica que se muestra a
continuacin:

Asesores en Informtica, S.A. de C.V.

48

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

La forma muestra una barra de herramientas en la parte


superior, por medio de la cual es posible agregar, modificar o
eliminar conjuntos de datos. Adems permite actualizar la vista,
generar un script, copiar un conjunto de datos y mostrar una
forma para prueba de los conjuntos de datos desde dentro del
Mdulo de Parametrizacin y Configuracin.
La ventana se encuentra divida en una serie de paneles con
informacin relacionada con la el conjunto de datos que se est
integrando a Visual HUR.
1. Panel con el listado de conjuntos de datos creados e integrados al asistente de
generacin de consultas dinmicas.
2. Panel con el listado de reas o agrupaciones de campos contenidas en el conjunto de
datos seleccionado en el panel 1.
3. Panel con el listado de mdulos en donde se puede utilizar el conjunto de datos
seleccionado en el panel 1.
4. Panel con el listado de roles de seguridad que puede utilizar el conjunto de datos
seleccionado en el panel 1 para generar consultas.
5. Panel con el listado de campos o columnas contenidos en cada rea o agrupacin del
conjunto de datos seleccionado en el panel 1.

Asesores en Informtica, S.A. de C.V.

49

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Panel de Conjuntos de Datos (Panel 1)

En este panel aparece una tabla que muestra los conjuntos de


datos creados e integrados al Visual HUR, el panel muestra las
siguientes columnas:
Propiedad

Descripcin

DataSet ID

Identificador nico del conjunto de datos

Nombre del
Conjunto de
Datos

Nombre que se muestra en el asistente para generacin


de consultas

Destino

Determina el destino de las consultas generadas con


este conjunto de datos (actualmente slo est
disponible el destino Excel Worksheet, en versiones
futuras se podrn seleccionar otros destinos).

Nombre de la
Tabla o Vista de la
base de datos

Nombre de la tabla o vista en la base de datos que


retorna los registros que se utilizarn para crear el
conjunto de datos

Agrega al Where

Permite indicar una expresin SQL que se agrega a la


clusula WHERE de la instruccin SELECT que retorna
los registros del conjunto de datos

Descripcin del
conjunto de datos

Texto explicativo del tipo de informacin que se puede


generar con este conjunto de datos. Se muestra al
usuario al seleccionar un conjunto en el asistente de
creacin de consultas.

Nombre Default

Nombre sugerido por defecto al crear una consulta


basada en este conjunto de datos

Ttulo Default

Ttulo para la consulta que se sugiere por defecto al


crear una consulta basada en este conjunto de datos

Subttulo Default

Subttulo para la consulta que se sugiere por defecto al


crear una consulta basada en este conjunto de datos

La tabla donde se almacena esta informacin es: wrp_set_sets


Continuando con el ejemplo que se est desarrollando, la
informacin que se debe ingresar en este panel es la siguiente:
Columna del
Panel

Valor a ingresar

DataSet ID

rhds_acc99

Nombre

Informacin Estadstica sobre Incapacidades

Destino

Excel Worksheet

Nombre Tabla o

estadisticas_incapacidades

Asesores en Informtica, S.A. de C.V.

50

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Vista
Agrega al Where

ixe_codcia = <<CODCIA>>

Descripcin del
Conjunto de Datos

Este conjunto de datos permite obtener informacin sobre el nmero


de incapacidades, el total de das de incapacidad y el promedio de das
de incapacidad por evento, para cada tipo de incapacidad definido
durante cada mes del ao.

Nombre Default

Nueva Consulta de Incapacidades

Ttulo Default

Ttulo de la Nueva Consulta de Incapacidades

Subtitulo Default

Subttulo de la Nueva Consulta de Incapacidades

Panel con reas o Agrupaciones de las columnas de la vista


contenidas en el Conjunto de Datos (panel 2)

En este panel se listan las reas o agrupaciones en las cuales se


presentarn los campos de la vista al usuario para la generacin
de la consulta. Las columnas que deben llenarse en este panel
para cada rea son las siguientes:
Propiedad

Descripcin

Area ID

Identificador nico de cada rea del conjunto de datos

Orden

Ordenamiento de reas para presentarlas en el


asistente de generacin de consultas

Prompt

Nombre del rea, el cul aparece en el asistente de


generacin de consultas

Continuando con el ejemplo que se est desarrollando, la


informacin que se debe ingresar en este panel es la siguiente:
Columna del
Panel

Valor a ingresar

rea ID

Orden

Prompt

Incapacidades

Note que debe seleccionar el rea recin creada para agregar los campos de
la vista en el panel 5
Panel con Mdulos para Utilizacin del Conjunto de Datos (panel 3)

En este panel se listan los mdulos de Visual HUR en los cuales


est visible el conjunto de datos seleccionado en el panel 1. Para
agregar mdulos se posiciona el cursor en la fila (*) de la tabla y
se selecciona el mdulo deseado.

Asesores en Informtica, S.A. de C.V.

51

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Para fines del ejemplo que se est desarrollando debe agregarse


el mdulo de Acciones de Personal a este panel
Panel con Roles de Seguridad con permiso para utilizar el Conjunto
de Datos (panel 4)

En este panel se listan los roles de seguridad para los cuales est
visible el conjunto de datos seleccionado en el panel 1. Para
agregar roles de seguridad se posiciona el cursor en la fila (*) de
la tabla y se selecciona el rol deseado.
Para fines del ejemplo que se est desarrollando debe agregarse
el rol Administradores a este panel.
Panel con los Campos de la Vista contenidas en el Conjunto de Datos
(panel 5)

En este panel se listan los campos contenidos en la vista y que el


conjunto de datos mostrar a los usuarios para que generen sus
consultas a partir de ellos. En esta tabla se muestran las
siguientes columnas:
Propiedad

Descripcin

Field Name

Nombre del campo en la vista de la base de datos (esta


es la llave nica que identifica al campo en el conjunto
de datos)

Field ID

Referencia a la tabla de descripcin de campos


(FieldKey).

Prompt

Ttulo del campo en el asistente de generacin de


consultas

Orden

Determina el ordenamiento de los campos en la


ventana de seleccin del campos del asistente de
generacin de consultas de Visual HUR

GroupBy

Determina si esta columna puede utilizarse para la


clusula GROUP BY de la instruccin SELECT que
retorna los registros del conjunto de datos

Filter In

Determina el mecanismo para realizar el filtrado de la


informacin, las opciones son en la clusula WHERE o
en la clusula HAVING. Normalmente todos los campos
se filtran en la clusula WHERE

Replace Values

Determina si al momento de generar la consulta se


muestra el cdigo o la descripcin, aplica para aquellos
campos cuyo Field ID apunta a un campo que tiene
definida una lista de valores

SQL Expression

Permite ingresar una expresin SQL para agregar a las


columnas de la vista

Asesores en Informtica, S.A. de C.V.

52

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Continuando con el ejemplo desarrollado, en este panel se


debera ingresar la siguiente informacin:
Orde
n

Group
By

Filter
In

Replace
Values

Ao

Si

Where

No

DefaultSmallI
nt

Mes

Where

No

ixe_tipo

DefaultString

Tipo Incapacidad

Where

No

ixe_frecuencia

DefaultSmallI
nt

Frecuencia

Where

No

ixe_dias_person
a

DefaultSmallI
nt

Das Incapacidad

Where

No

Promedio Das
Evento

Where

No

Field Name

Field ID

Prompt

ixe_anio_inicio

DefaultSmallI
nt

ixe_mes_inicio

ixe_dias_promed DefaultSmallI
io
nt

Tome en cuenta que la columna ixe_codcia de la vista no se


agreg al listado de campos, ya que su uso para filtrar la
empresa se defini en la configuracin Agregar al Where del
panel 1.
Todos los campos tiene Group By = Si y Filter In = Where. Esta
configuracin es la que se requiere para cualquier campo de una
vista.
Una vez se realiz esta configuracin se puede iniciar el mdulo
de Acciones para generar la consulta.

Integracin de Plantillas de Word para generar


Cartas y Constancias
Visual HUR tiene tres modalidades de generar informacin para
ser impresa, la primera es generando Hojas de Microsoft Excel,
la segunda es integrando plantillas de Microsoft Word para
generar cartas y constancias y la tercera es elaborando reportes
utilizando Crystal Reports y luego integrndolos en el sistema.
Esta seccin trata sobre el programa de configuracin para
integrar plantillas de Microsoft Word para la generacin de
cartas y constancias para los empleados de la empresa. Est
fuera de este documento discutir el procedimiento para crear

Asesores en Informtica, S.A. de C.V.

53

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

plantillas de Word, para ello dirjase al manual de Microsoft


Word para obtener una explicacin sobre como crear este tipo de
documentos.
Creacin de la Plantilla de Microsoft Word

Inicialmente el administrador de la aplicacin debe crear una


plantilla de Microsoft Word (un archivo con extensin .DOT) que
cumpla con las siguientes condiciones:

Debe ser posible crear una vista en la base de datos en la que cada registro debe coincidir
con una constancia o carta que se desea generar. Esto significa que no puede crearse una
vista en donde ms de un registro sea requerido para formar el documento (no es posible
generar cartas o constancias en donde la vista genera una relacin maestro/detalle).

La plantilla debe tener el texto que ser generado en cada carta o constancia, no
importando si ocupa una o ms pginas por cada una.

Puede utilizarse toda la gama de opciones de presentacin y formateo vlidas para los
documentos de Word.

La Plantilla de Word no debe contener macros que sean ejecutados al crear documentos a
partir de la plantilla.

Para ubicar los campos de la vista dentro del texto de la plantilla se utilizar la siguiente
notacin:
<%=nombre_columna_de_la_vista%>
Se identifica la ubicacin de los campos de la vista encerrando su nombre entre los
signos "<%=" y "%>" sin espacios en blanco dentro de los delimitadores. Por ejemplo:

<%=emp_primer_nom%> (inserta en este lugar el


primer nombre del empleado)
A continuacin se muestra un ejemplo de una plantilla creada
para este fin:

Asesores en Informtica, S.A. de C.V.

54

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Como puede verse en el ejemplo, los campos que corresponden a


la vista de la base de datos se han encerrado entre los
delimitadores "<%=" y "<%>" sin espacios en blanco u otros
caracteres dentro de ellos. Note tambin que se les puede
asignar formato, como tipo de letra, tamao o alguna
decoracin.
Note tambin que la pgina tiene encabezado y una imagen al
fondo de la pgina al estilo de una marca de agua.

Asesores en Informtica, S.A. de C.V.

55

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Esta plantilla debe salvarse en el directorio "Plantillas" del


directorio de instalacin de Visual HUR.
Creacin de una vista en el servidor de base de datos

El siguiente paso es crear una vista en la base de datos que


permita obtener la informacin que se requiere para la
generacin de las constancias. Puede obtener mayor informacin
sobre el procedimiento para crear vistas en la base de datos
consultando el manual en lnea de Microsoft SQL Server.
Siguiendo el ejemplo mostrado en el paso anterior, se debe crear
la siguiente vista en la base de datos:
CREATE VIEW ConstanciaSimpleTrabajo AS
SELECT CIA_CODIGO AS codcia,
CIA_DES AS nombre_empresa,
EMP_CODIGO AS cst_codemp,
emp_nombres_apellidos nombre_empleado,
EMP_PRIMER_APE AS cst_primer_ape,
EMP_SEGUNDO_APE AS cst_segundo_ape,
EMP_APELLIDO_CAS AS cst_apellido_cas,
EMP_PRIMER_NOM AS cst_primer_nom,
EMP_SEGUNDO_NOM AS cst_segundo_nom,
convert(varchar, EMP_FECHA_INGRESO, 103) AS fecha_ingreso,
convert(varchar, convert(money, EMP_SALARIO),1) AS salario,
EMP_SALARIO cst_salario,
EMP_FECHA_INGRESO,
cia_rep_nombre AS firmante
FROM SIDE_GEN_CIA
INNER JOIN PLA_EMP_EMPLEADO ON CIA_CODIGO = EMP_CODCIA
where emp_estado = 'A'

Esta vista retorna un registro por cada empleado con la


informacin requerida por la plantilla de Word.
Note que los nombres de las columnas de la vista coinciden con los campos
insertados en la plantilla de Word.
Note tambin que en la plantilla aparecen dos columnas que no
corresponden a campos de la vista, <%=fecha_letras%> y <%=destinatario
%>, estas columnas sern ledas en al momento de generar la constancia
como veremos ms adelante.
Integracin de la Plantilla a Visual HUR

A continuacin debe ejecutarse el programa que permite


indicarle a Visual HUR los parmetros de generacin de las
cartas y constancias. Para ello debe ejecutarse el programa
RHConfig.exe que se encuentra en el directorio de instalacin de

Asesores en Informtica, S.A. de C.V.

56

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Visual HUR en la carpeta de Administracin y luego seleccionar


la opcin Reportes de Word.
El programa al ejecutarlo luce como la grfica que se muestra a
continuacin:

La ventana presenta una barra de herramientas en la parte


superior, la que permite: agregar, modificar y eliminar una
plantilla de Word integrada a Visual HUR. Adems, es posible
actualizar la vista, generar un script T-SQL y copiar una
configuracin.
La ventana se encuentra divida en una serie de paneles con
informacin relacionada con la plantilla que se est integrando a
Visual HUR.
1. Panel con el listado de plantillas integrados al Visual HUR (al seleccionar un plantilla
en este panel, se muestra la informacin relacionada en el panel 2)
2. Panel con el listado de parmetros para filtrado de informacin que se pueden utilizar
en con la plantilla seleccionada en el panel 1.
3. Panel con el listado de roles de seguridad que pueden utilizar el reporte seleccionado
en el panel 1.
4. Panel con el listado de programas ejecutables o mdulos de Visual HUR que se puede
utilizar el reporte seleccionado en el panel 1.

Asesores en Informtica, S.A. de C.V.

57

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Panel de Plantillas de Word

En este panel aparece una tabla que muestra las plantillas que
han sido integradas a Visual HUR, el panel muestra las
siguientes columnas:
Propiedad

Descripcin

SetID

Identificador nico de la plantilla

Nombre del
Reporte

Nombre o descripcin del Reporte (nombre que se


muestra en la ventana de generacin de cartas y
constancias)

Nombre de la
Plantilla

Nombre de la Plantilla creado con Microsoft Word


(archivo .DOT existente en el directorio Plantillas de la
instalacin de Visual HUR)

Vista /
Procedimiento

Nombre de la vista en la base de datos o del


procedimiento almacenado que retorna los registros
que se utilizarn para generar la carta o constancia.

La tabla en la base de datos donde se almacena esta informacin


es: wdo_dot_templates
Panel con Parmetros de Filtrado para la Plantilla

En este panel se listan los parmetros con los cuales se puede


filtrar la informacin de la vista para generar las cartas o
constancias a travs de una planilla de Word seleccionada en el
panel 1. En esta tabla se muestran las siguientes columnas:
Propiedad

Descripcin

Orden

Determina el ordenamiento de los parmetros en la


ventana de generacin de cartas y constancias de
Visual HUR.

Nombre del
campo

Se debe especificar el nombre de la columna de la vista.


Se puede especificar un nombre de columna inexistente
en la vista pero en este caso se debe marcar la columna
"Lee al Generar" con "S"

Referencia al
FieldKey

Referencia al Diccionario de Listas de Valores


(FieldKey)

Prompt

Determina el texto que aparece como explicacin del


campo en la ventana de generacin de cartas y
constancias

Filtro?

Determina si un campo aparece en la ventana de


generacin de cartas y constancias y se habilita para
filtrar a travs de l

CodCia?

Determina si el parmetro es el cdigo de empresa. El


cdigo de empresa es conocido de antemano por todos
los mdulos al momento de ejecutarlos. Entonces

Asesores en Informtica, S.A. de C.V.

58

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

cuando se determina que un campo de la vista


corresponde al cdigo de empresa, la ventana de
generacin de cartas y constancias lo enva de manera
automtica sin preguntarlo al usuario.
Visible?

Determina si la columna se muestra en la tabla de


seleccin de registros para la generacin de cartas y
constancias

Lee al Generar?

Determina si el parmetro no corresponde a ninguna


columna de la vista y debe ingresarse por el usuario en
el momento de la generacin de las cartas o
constancias

Conv. Letras?

Determina si el campo debe convertirse utilizando las


funciones del objeto CRUFLNumALetras.dll que se
halla en el directorio COM+ de la instalacin de Visual
HUR. Este objeto permite convertir una fecha o un
valor numrico o el nmero de cdula de una persona a
letras.

Continuando con el ejemplo desarrollado, en el panel 3 se


debera ingresar la siguiente informacin:
Orde
n

Nombre del
Campo

Referencia al
Prompt
Fieldkey

codcia

DefaultInt

Filtr
o?

CodCi Visibl
a?
e?

Conv
Lee al
.
Gener
Letra
ar?
s?

Empresa

No

No

No

No

nombre_empre
DefaultString
sa

Nombre
Empresa

No

No

No

No

No

cst_codemp

Empleado

Cdigo de
Empleado

No

No

No

nombre_emple
ado

DefaultString

Nombre
Empleado

No

No

No

No

fecha_ingreso

DefaultDate

Fecha
Ingreso

No

No

No

No

salario

DefaultCurren
Salario
cy

No

No

No

No

firmante

DefaultString

Firmante

No

No

No

No

No

cst_primer_ape

EmpPrimerAp
e

Primer
Apellido

No

No

No

No

cst_segundo_a
pe

EmpSegundoA Segundo
pe
Apellido

No

No

No

No

10

cst_apellido_ca EmpApellidoC
s
as

Apellido
de
Casada

No

No

No

No

11

cst_primer_no
m

Primer
Nombre

No

No

No

No

EmpPrimerNo
m

Asesores en Informtica, S.A. de C.V.

59

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

12

cst_segundo_n
om

EmpSegundo
Nom

Segundo
Nombre

No

No

No

No

13

emp_fecha_ing EmpFchIngres Fecha de


reso
o
Ingreso

No

No

No

No

14

cst_salario

DefuaultCurre
Salario
ncy

No

No

No

No

15

fecha_letras

DefaultString

Fecha de
Carta

No

No

16

destinatario

DefaultString

Destinati
ario

No

No

Ntese que se agrega al inicio el campo "codcia" para que el generador


filtre automticamente la empresa en la cual se encuentra autenticado el
usuario al ejecutar el Mdulo de Expedientes de Personal, adems note que
para este campo la columna correspondiente esta marcada con un "Si".

Los campos que tienen "S" en la columna "Filtro?" son aquellas


por las cuales el usuario puede establecer filtros en la pantalla
de generacin de cartas y constancias.
Los campos que tienen "S" en la columna "Visible?" son
aquellos que sern visible en la tabla que muestra el resultado
del filtro aplicado y que permite determinar que constancias
sern generadas.
Los campos que tienen "S" en la columna "Lee al Generar?" son
aquellos campos que estn en la plantilla pero que no forman
parte de la vista creada, es decir se leen al momento de la
generacin de la carta o constancia.
Una vez se realiz esta configuracin se puede iniciar el mdulo
de Expedientes de Personal y generar el reporte.
Panel con Roles de Seguridad por Reporte

En este panel se listan los roles de seguridad para los cuales est
visible el reporte seleccionado en el panel 1. Para agregar roles
de seguridad se posiciona el cursor en la fila (*) de la tabla y se
selecciona el rol deseado.
Para fines del ejemplo que se est desarrollando debe agregarse
el rol Administradores a este panel.
Panel con Mdulos por Reporte

En este panel se listan los mdulos de Visual HUR en los cuales


est visible el reporte seleccionado en el panel 1. Para agregar

Asesores en Informtica, S.A. de C.V.

60

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

mdulos se posiciona el cursor en la fila (*) de la tabla y se


selecciona el mdulo deseado.
Para fines del ejemplo que se est desarrollando debe agregarse
el mdulo de Expedientes de Personal a este panel

Integracin de Procedimientos Almacenados o


DTS ejecutados desde Visual HUR.
Esta seccin trata sobre el programa de configuracin para
integrar a Visual HUR la ejecucin de procedimientos
almacenados o DTS (Microsoft SQL Server, Data Transformation
Service).
El objetivo de esta configuracin es permitirle al implantador la
integracin de la ejecucin de procesos en el interfaz de Visual
HUR, de tal manera que sean los propios usuarios los que
ejecuten a su criterio, dichos procesos.
Si desea ms informacin sobre la creacin de procedimientos
almacenados o DTS, dirjase a la documentacin de SQL Server.
Integracin a Visual HUR

Para realizar la integracin se debe ejecutar el programa


RHConfig.exe que se encuentra en el directorio de
instalacin de Visual HUR en la carpeta de Administracin
y luego seleccionar la opcin Store Proc. & DTS.
Al ejecutar esta opcin se muestra una pantalla similar a la
siguiente grfica.

Asesores en Informtica, S.A. de C.V.

61

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

La forma que se muestre tiene una barra de herramientas en la


parte superior que permite: agregar, modificar y eliminar
configuraciones. Adems permite actualizar la vista y generar
un script T-SQL con la configuracin.
La ventana se encuentra divida en una serie de paneles con
informacin relacionada con el procedimiento almacenado que
se est integrando a Visual HUR.
1. Panel con el listado de procedimientos integrados al Visual HUR (al seleccionar un
configuracin en este panel, se muestra la informacin relacionada en el panel 2)
2. Panel con el listado de parmetros que sern enviados al procedimiento almacenado
seleccionado en el panel 1.
3. Panel con el listado de roles de seguridad que pueden ejecutar el procedimiento
seleccionado en el panel 1.
4. Panel con el listado de programas ejecutables o mdulos de Visual HUR desde los
cuales se puede ejecutar el procedimiento seleccionado en el panel.
Panel de Procedimientos Configurados

En este panel aparece una tabla que muestra los procedimientos


que han sido integradas a Visual HUR, el panel muestra las
siguientes columnas:
Propiedad

Descripcin

SetID

Identificador nico del procedimiento

Nombre del
Proceso

Nombre o descripcin del Procedimiento o DTS


(nombre que se muestra en la ventana de generacin
en Visual HUR)

Nombre
Procedimiento /
DTS

Nombre en la base de datos del Procedimiento o DTS


que se est integrando a Visual HUR

Tipo Cursor

Campo de lectura, que muestra el tipo de objeto


seleccionado en la columna anterior.

La tabla en la base de datos donde se almacena esta informacin


es: rep_sp_dts_procedures
Panel con Parmetros del Procedimiento Almacenado

En este panel se listan los parmetros que se enviarn al


procedimiento almacenado que se desea ejecutar. En esta tabla
se muestran las siguientes columnas:

Asesores en Informtica, S.A. de C.V.

62

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Propiedad

Descripcin

Orden

Determina el ordenamiento de los parmetros en la


ventana de ejecucin de procedimientos y DTS

Nombre del
Campo

Nombre del parmetro del procedimiento almacenado

Referencia al
FieldKey

Referencia
(FieldKey).

Prompt

Determina el texto que aparece como explicacin del


campo en la ventana de ejecucin de procedimientos y
DTS

CodCia?

Determina si el parmetro es el cdigo de empresa. El


cdigo de empresa es conocido de antemano por todos
los mdulos al momento de ejecutarlos. Entonces
cuando se determina que un campo de la tabla
corresponde al cdigo de empresa, la ventana de
generacin de reportes lo enva de manera automtica
sin preguntarlo al usuario

Fecha?

Determina si el parmetro corresponde a la fecha de


ejecucin que el usuario puede ingresar en la ventana
de Visual HUR

Mensaje?

Determina si el parmetro corresponde al texto libre


que puede ser ingresado por el usuario en la ventana de
ejecucin de procedimientos o DTS

al

Diccionario

de

Listas

de

Valores

Panel con Roles de Seguridad para la Ejecucin del Procedimiento o


DTS

En este panel se listan los roles de seguridad para los cuales est
visible el procedimiento seleccionado en el panel 1. Para agregar
roles de seguridad se posiciona el cursor en la fila (*) de la tabla
y se selecciona el rol deseado.
Panel con Mdulos desde los cuales se puede ejecutar el
Procedimiento o DTS

En este panel se listan los mdulos de Visual HUR en los cuales


est visible el procedimiento seleccionado en el panel 1. Para
agregar mdulos se posiciona el cursor en la fila (*) de la tabla y
se selecciona el mdulo deseado.

Asesores en Informtica, S.A. de C.V.

63

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Configuracin del Clculo


de Planillas
Utilizacin de la herramienta de
configuracin para crear clculos de
planilla

isual HUR provee un mecanismo flexible para la


configuracin de los clculos requeridos para obtener los
salarios de los empleados. Este mecanismo est
compuesto por un mecanismo de creacin de "cursores" para los
procesos de clculo y la posibilidad de definir factores o frmulas
para realizar los clculos a partir de los cursores definidos.
Para la definicin de cursores se utiliza el Mdulo de
Parametrizacin y Configuracin, mientras que para la definicin
de frmulas se puede realizar dentro del Mdulo de
Administracin de Salarios o dentro del Mdulo de
Parametrizacin y Configuracin
En este captulo se discutir en primer lugar el uso de este
mecanismo y posteriormente se desarrollar un ejemplo prctico
del clculo de una planilla. Los temas tratados en esta seccin
son:

Creacin de Cursores para Clculo de Planillas

Configuracin del Clculo de Planillas

Tabla temporal y administracin de factores o frmulas de clculo

Ingreso, modificacin y eliminacin de factores o frmulas de clculo

Cmo funciona el programa de generacin de planillas?

Cmo funciona el programa de autorizacin de planillas?

Documentacin de la Clase Factores y la Clase Agrupadores

Ejemplo de configuracin de planillas

Asesores en Informtica, S.A. de C.V.

64

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

En este captulo se tratan temas relacionados con Microsoft


Visual Basic Script, que es el lenguaje en que se escriben las
frmulas o factores que se ejecutan para calcular salarios. Si
desea informacin sobre este lenguaje visite el sitio Microsoft
Windows Script Technologies. Adicionalmente se requieren
conocimientos previos de T-SQL que es el lenguaje de
manipulacin de datos requerido para definir los cursores, sobre
este tema consulte el Manual en Lnea de Microsoft SQL Server.
Creacin de Cursores para el Clculo de Planillas

La creacin de cursores es indispensable para la realizacin de


los clculos de planilla, ya que estos permiten obtener de la base
de datos la informacin que se requiere para ser procesada a
nivel de los factores o frmulas de clculo de salarios.
Existen tres tipos de cursor que pueden crearse:

El cursor principal que define el universo de empleados que pueden participar de un


clculo de planillas.

Los cursores para obtener informacin y que se abren en modo de lectura exclusivamente.
Los cursores para almacenar resultados de los clculos y que se abren en modo de
lectura y escritura.

Estos tipos de cursor son creados a travs del programa


RHConfig.Exe que se encuentra en el directorio
Administracin de la instalacin de Visual HUR.
La opcin dentro del mdulo al ejecutarla luce como la grfica
que se muestra a continuacin:

Asesores en Informtica, S.A. de C.V.

65

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

La ventana se encuentra divida en una serie de paneles con


informacin relacionada con los procesos de clculo existentes
en Visual HUR.
1. Selector de Empresa. Permite cambiar la empresa para modificar los cursores
correspondientes a ella.
2. Panel con el listado de procesos de clculo. Se muestran los dos procesos que son
implementados dentro de Visual HUR: fDefCalculo que relaciona el proceso de
clculo de planillas con los cursores creados.
3. Panel con cada cursor definido para el proceso seleccionado en el panel 1.
4. Barra de herramientas para el proceso seleccionado en el panel 1. Permite agregar o
eliminar un cursor y navegar a travs de ellos.

Ntese que en el panel 1 aparecen dos botones, "Agregar


Proceso" y "Generar Archivo". El botn de agregar procesos
permite crear un nuevo proceso y definir sus cursores, esta
accin es para uso exclusivo de personal de ASEINFO ya que es
necesario implementar en el cdigo fuente la utilizacin de un

Asesores en Informtica, S.A. de C.V.

66

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

nuevo proceso para que al agregarlo en este programa de


configuracin se incluya dentro de algn Mdulo de Visual HUR.
El botn "Generar Archivo" permite exportar a un archivo texto
el conjunto de cursores definidos para un proceso, esta
exportacin permite que se pueda respaldar la informacin de
configuracin.
Panel de Procesos

El objetivo de este panel es seleccionar el proceso del cual se


desean crear, modificar o eliminar cursores. Simplemente de un
clic sobre el proceso que desea configurar y muvase al panel 3
para navegar a travs de los cursores creados o para agregar o
eliminar un cursor.
Panel de Cursores del Proceso Seleccionado

En este panel puede consultarse o modificarse la informacin de


cada cursor perteneciente al proceso seleccionado. El panel
consta de la siguiente informacin:

Parmetro: Corresponde al nombre del cursor tal y como aparece en la pantalla de


configuracin de frmulas o factores.

Orden: Ordenamiento de los cursores de cada proceso.

Instruccin SELECT para definicin de campos (no retorna registros): Ac se especifica


una instruccin SELECT que permite construir el listado de campos que posee el cursor,
preferentemente debe ser un SELECT que no retorne registros, ya que se utiliza
exclusivamente para determinar el listado de campos del cursor. En la pantalla de
definicin de los factores o frmulas de clculo permite obtener el listado de campos que
se muestran al seleccionar un cursor.

Instruccin SELECT para ejecutar el clculo: Se especifica una instruccin SELECT que
retorna los registros que se desean obtener y que se procesarn con las frmulas de clculo
de planillas. Debe tener un listado de campos igual al de la instruccin SELECT anterior,
esta instruccin es la que efectivamente se ejecuta cuando se est realizando el proceso de
clculo.
Note que en la clusula WHERE de esta instruccin SELECT se pueden especificar las
secuencias <<CODCIA>>, <<CODTPL>> y <<CODPLA>> que al momento de ejecutar
los clculos de planilla son sustituidas por el cdigo de la empresa, cdigo del tipo de
planilla y cdigo del perodo de pago de la planilla que se est ejecutando.

Clusula ORDER BY de la instruccin SELECT anterior: Se especifica el listado de


campos que se incluirn en la clusula ORDER BY del SELECT que retorna los registros
para la ejecucin del clculo del proceso.

Nombre de los campos a reemplazar: En este grupo de informacin textual se debe


especificar cual es el nombre de los campos que se requieren para hacer las sustituciones
de las secuencias <<CODCIA>>, <<CODTPL>> y <<CODPLA>>.

Asesores en Informtica, S.A. de C.V.

67

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Se requiere especificar cual es el nombre del campo que almacena el cdigo de la empresa
(CODCIA), el cdigo del tipo de planilla (CODTPL), el cdigo del perodo de pago de la
planilla (CODPLA) y el cdigo del empleado (CODEMP). Si alguno de estos campos no
existe en el SELECT especificado, simplemente se deja en blanco.

Este Cursor es el Principal para Generar el Clculo: Determina si este es el cursor que
define el universo de empleados existentes y que podran participar de un clculo.
Solamente puede haber un cursor marcado como el Principal.

Este Cursor es Modificable al momento de Calcular la Planilla: Determina si el cursor se


abre en modo de escritura o no. Los cursores que tienen marcada esta opcin son
susceptibles de realizar inserciones, actualizaciones o eliminaciones de registros.

Barra de Herramientas para los Cursores

En este panel se encuentra un botn para agregar nuevos


cursores y uno para eliminar el cursor que se est viendo en el
panel 2. Adems aparecen cuatro botones de navegacin por los
cursores el primero para ir al primer cursor definido, el segundo
para retroceder al cursor anterior, el tercero para avanzar al
siguiente cursor y el cuarto para ir al ltimo cursor existente.
Configuracin del Clculo de Planillas: Ventana de Administracin de
Factores

Para configurar el clculo de planillas se debe utilizar la ventana


de creacin de Tipos de Planilla en el mdulo de Parametrizacin
y Configuracin o en el Mdulo de Salarios, en la barra de
herramientas puede verse un icono (calculadora color verde), el
cual al presionarlo muestra la configuracin para el clculo del
tipo de planilla seleccionado. Ver grfica que se muestra a
continuacin:

Al presionar el botn de configuracin del clculo se muestra la


ventana que aparece en la siguiente pgina
Esta ventana contiene el listado de factores o frmulas de
clculo requeridas para obtener los salarios de los empleados en

Asesores en Informtica, S.A. de C.V.

68

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

cada tipo de planilla definido. La ventana est dividida en una


serie de paneles los cuales se listan a continuacin:
1. Barra de Herramientas para la manipulacin de factores.
2. Panel con informacin sobre la tabla temporal en donde se almacenan los resultados
de las frmulas de clculo de la planilla
3. Determina el factor que se utiliza como filtro para los empleados que participan de
este clculo de planillas.
4. Panel con el listado de factores o frmulas definidas para este clculo de planillas
5. Panel con la asociacin de cada factor a un tipo de ingreso, descuento o reserva
definido.

Barra de Herramientas para manipular Factores (panel 1)

La barra de herramientas permite:

Agregar, modificar o eliminar el factor seleccionado en el panel 4.

Generar un archivo texto con los factores creados para este clculo de planillas en un
archivo .BAS

Botones para subir y bajar el factor seleccionado en el panel 4, definiendo de esta manera
la precedencia en la ejecucin de los factores.

Asesores en Informtica, S.A. de C.V.

69

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Botones para marcar todos o desmarcar todos o invertir la marca de todos los factores
del panel 4. La marca que aparece a la izquierda del nombre del factor en el panel 4
determina si cada factor se almacena o no en la tabla temporal definida en el panel 2.
Panel sobre la Tabla Temporal para Almacenar los resultados de la ejecucin de los
factores de clculo (panel 2)

Este panel muestra el listado de campos que sern almacenados


en una tabla temporal. Los campos que se muestran corresponde
a aquellos factores del panel 4 que estn marcados para ser
almacenados (cheque que aparece a la izquierda del nombre del
factor).
El uso principal de la tabla temporal es permitirle al
administrador de Visual HUR poder corroborar que las frmulas
estn correctas, sin embargo es importante aclarar que esta
tabla temporal no se utiliza para generar el historial de ingresos
y descuentos que luego es reflejado en los reportes del sistema.
Adems en la parte superior del panel se puede ver un campo
llamado "Prefijo" que permite definir una cadena de caracteres
que sern antepuestas al nombre del factor para formar el
nombre del campo en la tabla.
Tambin se puede ingresar el nombre de la tabla temporal en
donde se almacenarn los resultados de la ejecucin de la
formula.
Se requiere que por lo menos se salve un factor en la tabla (no
pueden estar todos sin marcar).
En la parte inferior del panel puede verse un botn "Generar la
Tabla", al presionar este botn la ventana crear la tabla en la
base de datos con los factores marcados. Si ya existiera la tabla
temporal, crear una copia de la misma con el nombre
copy_<nombre de la tabla> para conservar la informacin que
tena ya que al generar de nuevo la tabla se perder la
informacin almacenada. Utilizando el administrador corporativo
de SQL Server se pueden mover los datos existentes en la tabla
copia a la tabla recin generada.
Factor que se utiliza para filtrar los empleados (panel 3)

En el panel 3, se puede especificar seleccionando de una lista de


valores qu factor determina que empleados participan de este
clculo de planillas.

Asesores en Informtica, S.A. de C.V.

70

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Este factor debe ser el primero que se ejecuta y debe retornar


un valor verdadero o falso. La funcin principal de este factor es
filtrar que empleados participarn de este clculo, a pesar de
que en el expediente del empleado se ha definido un tipo de
planilla en el cual se le paga su salario, eso no significa que no
pueda participar de otro clculo de planillas. Para ello debe
escribirse un factor que por cada empleado determine si cumple
con las condiciones para participar de este clculo.
Panel de Factores de Clculo (panel 4)

En este panel se muestra el listado de factores que componen el


clculo de planillas ordenados de acuerdo a su precedencia de
ejecucin. Note que cada factor listado tiene una marca a la
izquierda de su nombre el cual le indica a la ventana de
configuracin que el resultado de la aplicacin de ese factor ser
almacenado en la tabla temporal correspondiente.
Adems por cada factor puede verse su nombre, descripcin, y
su asociacin a un tipo de ingreso o descuento definido en el
sistema. Esta asociacin se realiza a travs del panel 5.
Asociacin de los factores a los tipos de ingreso, descuento o reserva definidos
(panel 5)

Al seleccionar un factor en el panel 4, el panel 5 muestra su


asociacin a un tipo de ingreso, descuento o reserva definido
para la empresa. Es importante establecer esta asociacin para
que dentro de las frmulas puedan asociarse los resultados al
historial de ingresos, descuentos o reservas de los empleados. Si
no se establece ninguna asociacin el clculo de planillas no se
podr grabar registros en los historiales y los clculos no se
reflejarn en ningn reporte.
Para establecer una asociacin seleccione en el panel 4 el factor
deseado y luego en el panel 5 marque la asociacin que
corresponde (ingreso, descuento o reserva) y luego seleccione de
la lista el tipo de ingreso, descuento o reserva al cual est
asociando el factor.
Configuracin del Clculo de Planillas: Ventana de Creacin o
Modificacin de Factores

Una vez seleccionado un factor en el panel 4, puede dar dos clics


sobre el nombre del factor o puede presionar el botn de
modificar factores de la barra de herramientas y se mostrar la
siguiente ventana:

Asesores en Informtica, S.A. de C.V.

71

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Esta ventana permite crear o modificar los factores definidos


para un clculo de planillas. Est dividida en una serie de
paneles los cuales se explican a continuacin:
1. Identificacin del Factor: Este panel permite nombrar el factor, ingresar el tipo de
resultado que genera y una descripcin del factor. Tambin muestra la precedencia del
factor respecto del resto de factores.
2. Listado de Cursores definidos para el proceso de clculo de planillas (Este listado
proviene de los factores creados con el programa de creacin de factores para clculo
de planillas)
3. Listado de Columnas del cursor seleccionado en el panel 2.
4. Cdigo VBScript que ejecuta el factor.
5. Botones para insertar la columna seleccionada en el panel 3 en el cdigo VBScript,
verificar la existencia de errores de sintaxis en el cdigo VBScript y salvar el factor o
cancelar las modificaciones.
Identificacin del Factor (panel 1)

En este panel es posible ingresar la siguiente informacin:

Identificador: Nombre del Factor (no puede contener espacios en blanco ni caracteres que
sean letras o nmeros o el signo "_".

Tipo de Resultado: Lista de valores para determinar el tipo de resultado de la frmula


(Entero / Fecha / Real / Texto / Booelan), para el caso de resultados tipo "Texto" se activa

Asesores en Informtica, S.A. de C.V.

72

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

el campo "Largo", que permite determinar el tamao del texto que retornar para poder ser
creado correctamente en la tabla temporal.

Precedencia (no es modificable) Determina el orden en el que se ejecutar el factor editado


respecto del resto de factores. Para modificar la precedencia utilice los botones con flechas
verticales de la ventana de administracin de factores.

Descripcin: Permite ingresar una descripcin ms amplia del objetivo del factor.

Panel con el listado de Cursores (panel 2)

En este panel se muestra el listado de cursores definidos para


este clculo. Al seleccionar un cursor en este panel se muestra
en el panel 3 el listado de campos que lo componen.
Si desea agregar un cursor a este panel utilice el programa de
configuracin de cursores que se present al inicio de esta
seccin del documento.
Ntese que adems de los cursores en este panel se presenta la
estructura de datos de los factores, lo cual permite incluir dentro
de una funcin el valor de otro factor del esquema de clculo de
la planilla.
Panel con el listado de Campos del Cursor Seleccionado (panel 3)

En este panel se muestra el listado de campos que componen el


cursor seleccionado en el panel 2.
Si desea agregar un cursor o modificarlo para incluir nuevos
campos en este panel utilice el programa de configuracin de
cursores que se present al inicio de esta seccin del documento.
Cdigo VBScript que ejecuta el factor (panel 4)

En este panel est dividido en tres reas, en la parte superior


puede verse el encabezado de la funcin VBScript del Factor (es
generado automticamente por la ventana de edicin de
factores) y en la parte inferior la lnea de finalizacin de la
funcin.
En el medio se puede escribir el cuerpo del factor, es decir el
cdigo VBScript que ser ejecutado cuando se invoca a esta
funcin desde el programa de generacin de planillas.
Es importante destacar que el cdigo escrito debe corresponder
a la sintaxis definida para una funcin en VBScript, que los
parmetros son generados automticamente por esta forma de
edicin de factores y corresponden a los cursores utilizados
dentro de la funcin. Adems es posible hacer referencia a otros

Asesores en Informtica, S.A. de C.V.

73

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

factores de clculo a travs de una estructura de datos llamada


"Factores" y que es seleccionable en el panel 2.
Los cursores se envan como parmetros a las frmulas como
clases ADOB.Recordset, lo que permite manipular los registros
devueltos por cada cursor, as como obtener informacin sobre el
tipo de los campos, largo, precisin, etc. Para consultar la
documentacin
de
ADO
puede
dirigirse
al
sitio
http://msdn.microsoft.com en la Internet.
El otro tipo de parmetro que se enva a las frmulas es la clase
Factores, que permite manipular las formulas que se estn
ejecutando as como el valor que generan las frmulas. Ms
adelante en esta seccin se describe la clase Factores.
Botones de la forma (panel 5)

En la parte inferior de la ventana se muestran cuatro botones los


cuales se explican a continuacin:

Insertar Columna: Este botn permite insertar en la posicin donde se encuentra ubicado el
cursor en la funcin VBScript la columna seleccionada en el panel 3.

Verificar Sintaxis: Este botn verifica la existencia de errores de sintaxis en la funcin


VBScript.

Salvar: Salva el factor modificado

Cancelar: Cierra la ventana cancelando las modificaciones realizadas al factor.

Cmo funciona el programa de generacin de Planillas?

En esta seccin del documento se explicar el funcionamiento


del proceso de generacin de planillas y como se integra a los
clculos de las frmulas y a los cursores definidos.
El proceso de generacin de planillas es el siguiente:

Asesores en Informtica, S.A. de C.V.

74

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Elimina los datos de la tabla temporal correspondientes al perodo a generar (cdigo de


empresa, cdigo de tipo de planilla y cdigo de perodo de pago especificados en la forma
de generacin)

Elimina los datos existentes en las tablas con el historial de ingresos y descuentos (tablas
pla_inn_ingresos y pla_dss_descuentos) utilizando el cdigo de empresa, cdigo de tipo de
planilla y cdigo de perodo de pago especificados en la forma de generacin

Carga en el Script Engine las frmulas definidas para el clculo de planillas seleccionado y
el archivo de procedimientos globales proc_genpla.vbs que se encuentra en el directorio
BIN del directorio de instalacin de Visual HUR.

Ejecuta el proceso de generacin de perodos de incapacidad para el perodo de pago


correspondiente. Al ingresar incapacidades solamente se ingresa la fecha de inicio y de
finalizacin de la misma. Conforme se van generando planillas para cada perodo de pago,
Visual HUR genera perodos de incapacidad que coinciden con los perodos de pago,
aplicando las polticas definidas en el Mantenimiento de Parmetros para Incapacidad del
Mdulo de Acciones de Personal.

Ejecuta el proceso de reevaluacin de las amonestaciones que generan suspensin de


labores sin goce de salario. Cuando se ingresan amonestaciones que generan descuento en
la planilla el programa salva el valor a descontar, sin embargo, al generar la planilla
recalcula el valor a descontar ya que pueden darse cambios en el salario del empleado.

Asesores en Informtica, S.A. de C.V.

75

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Ejecuta el proceso de reevaluacin de los tiempos no trabajados. Cuando se ingresan


tiempos no trabajados el programa calcula el valor a descontar, sin embargo al generar la
planilla recalcula este valor con el fin de reflejar cambios en el salario que pudieron darse
posteriormente a la accin de autorizacin del tiempo no trabajado.

Ejecuta el proceso de generacin de cuotas para descuentos cclicos. Antes de generar la


planilla verifica los descuentos cclicos ingresados y genera cuotas de descuento para
aquellos descuentos cclicos que cumplan con ser descontados en el tipo de planilla y
perodo que se generar.

Ejecuta el proceso de reevaluacin de horas extras. Al igual que los procesos de


reevaluacin anteriores, calcula de nuevo el valor a pagar en concepto de horas extras.

Abre los cursores para clculo de planilla definidos para este proceso. Los cursores que son
marcados como modificables se abren en modo escritura, mientras que el resto de cursores
se abren en modo lectura nicamente.

Abre el cursor marcado como "Principal" en el mantenimiento de cursores para clculo de


planilla e inicia una iteracin registro por registro. Normalmente este cursor retorna la
totalidad de empleados de la empresa (no importando su estado -Activo/Retirado/Nuevo),
para cada empleado se ejecutan los siguientes pasos:

Ejecuta la frmula definida como filtro para saber si el empleado participa en este
clculo de planillas. Si el valor de retorno es verdadero contina la ejecucin de
frmulas de lo contrario avanza al siguiente registro.

Ejecuta de una en una las frmulas definidas para el clculo de planillas en el orden de
precedencia que se ha definido. Se enva a cada frmula los cursores como parmetro,
pero antes de enviarse se establece un filtro para que nicamente pasen registros
correspondientes al empleado que est participando del clculo.

Salva en la tabla temporal de clculo de planillas cada uno de los resultados de la


ejecucin de los factores o frmulas.

Cierra los cursores abiertos. En el caso de los cursores modificables ejecuta una
instruccin de sincronizacin para escribir en la base de datos las modificaciones
realizadas al cursor.

Ejecuta un proceso en la base de datos en el cual se realizan acciones adicionales al clculo


de salarios, por ejemplo: generacin de las partidas contables, generacin de recibos de
pago, etc. El proceso genpla_finalizacion est en el servidor SQL Server y dentro de l se
pueden agregar procedimientos para realizar estas acciones adicionales.

Cierra todas las tablas abiertas y finaliza la transaccin.

Como puede deducirse del procedimiento presentado, el proceso


de generacin de planillas nicamente ejecuta las frmulas
definidas en la configuracin del tipo de planilla y ejecuta
procedimientos almacenados en la base de datos. Por si mismo
no realiza clculos que solamente puedan ser modificados a
travs de modificaciones al cdigo fuente del sistema.

Asesores en Informtica, S.A. de C.V.

76

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Cmo funciona el programa de autorizacin de Planillas?

En esta seccin del documento se explicar el funcionamiento


del proceso de autorizacin de planillas. El objetivo principal de
este proceso es marcar el perodo de pago como autorizado
imposibilitando que se modifiquen los movimientos y acciones
ingresadas.
El proceso de generacin de planillas es el siguiente:

Marca todos los ingresos y descuentos eventuales ingresados como procesados o pagados.

Marca las cuotas de descuento cclicos como aplicadas en un perodo de pago de planillas.

Marca las horas extras, tiempos no trabajados, suspensiones por amonestacin como
procesadas.

Marca el perodo de pago como autorizado y genera el prximo perodo de pago.


Ejecuta un proceso en la base de datos en el cual se realizan acciones adicionales, por
ejemplo: mover las partidas contables generadas al sistema financiero de la empresa,
calcular salarios promedio para los empleados, etc. El proceso autpla_finalizacion est en
el servidor SQL Server y dentro de l se pueden agregar procedimientos para realizar estas
acciones adicionales

Documentacin de la Clase Factores

En esta seccin se documenta la clase Factores, que se utiliza


como parmetro de para la ejecucin de las frmulas.
rhSalFactores

Clase con la coleccin de Factores

Count as Long

Nmero de elementos en la coleccin

Item (vntIndexKey) as
rhSalFactor

Elemento (vntIndexKey) de la coleccin

Add([ID As String],
Agrega un elemento a la coleccin
[Descripcion As String],
[Precedencia As Integer],
[vbScript As String], [Tipo As
String = "R"], [Size As Byte],
[SalvadoEnTabla As Boolean
= True], [CodTipoIngreso],
[CodTipoDescuento], [sKey As
String]) As rhSalFactor
Clear ()

Elimina todos los elementos de la coleccin

Remove (vntIndexKey)

Elimina el elemento (vntIndexKey)

rhSalFactor
CampoActualizar as
rhSalTDCCCampoConst

Clase con el objeto Factor


Campo a Actualizar en el caso de asociacin de un
factor a un tipo de descuento (NO ESTA EN USO EN
ESTA VERSION)

CodTipoDescuento as Variant Cdigo de tipo de descuento asociado al factor (null


significa que no hay asociacin)

Asesores en Informtica, S.A. de C.V.

77

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

CodTipoIngreso as Variant

Cdigo de tipo de ingreso asociado al factor (null


significa que no hay asociacin)

Descripcin as String

Descripcin del Factor

ID as String

Nombre del Factor

Index as Integer

Nmero correlativo de factor en la coleccin de


factores

Key as String

"Key" del elemento en la coleccin. Permite utilizar


este nombre en vez de un subndice al inspeccionar la
coleccin de factores

Parametros as
rhSalFacParametros

Coleccin de parmetros del factor

Precedencia as Integer

Nmero de orden de precedencia de ejecucin del


factor

SalvadoEnTabla as Boolean

Determina si el resultado del factor se almacena en la


tabla temporal de clculo de la planilla

Size as Integer

Tamao del campo en la base de datos (aplica solo


para factores que retornan un texto)

Tipo as String

Tipo de valor de retorno del factor (texto, real, entero,


fecha)

Value as Variant

Valor que retorno la ejecucin del VBScript del factor.


Es importante hacer notar que cuando se ejecuta el
factor se almacena su resultado en esta propiedad, sin
embargo en factores que se ejecutan posteriormente
puede modificarse esta propiedad.

vbScript as String

Cdigo VBScript que ejecuta el factor al inicializarse.


Contiene la funcin escrita para este factor.

GetCode() as String

Mtodo que retorna la funcin VBScript con su


encabezado y finalizacin de funcin. En la propiedad
vbScript est almacenado el cuerpo de la funcin, este
mtodo formatea la funcin para que pueda ser
cargada al Script Engine.

HaveCodTipoDescuento as
Boolean

Mtodo que retorna verdadero si el factor est


asociado a un tipo de descuento, de lo contrario
retorna falso.

HaveCodTipoIngreso as
Boolean

Mtodo que retorna verdadero si el factor est


asociado a un tipo de ingreso, de lo contrario retorna
falso.

rhSalFacParametros

Clase con la coleccin de Parmetros por Factor

Count as Long

Nmero de elementos en la coleccin

Item (vntIndexKey) as
rhSalFacParametro

Elemento (vntIndexKey) de la coleccin

Add([Index As Integer],
[Nombre As String], [Tipo As
String], [sKey As String]) As
rhSalFacParametro

Agrega un elemento a la coleccin

Clear ()

Elimina todos los elementos de la coleccin

Remove (vntIndexKey)

Elimina el elemento (vntIndexKey)

rhSalFacParametro

Clase con el objeto Factor

Asesores en Informtica, S.A. de C.V.

78

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Index as Integer

Nmero correlativo de factor en la coleccin de


factores

Nombre as String

Nombre del parmetro (corresponde al nombre del


cursor)

Tipo as String

Tipo de Parmetro (R=cursor, F=factor, C=Constante)

Documentacin de la clase Agrupadores

En esta seccin se documenta la clase Agrupadores, que se


utiliza a nivel de las frmulas para controlar los agrupadores
creados en la opcin Agrupadores del Mdulo de Salarios.
Esta estructura de datos se inicializa automticamente al
formular y al generar la planilla y est disponible para consolidar
ingresos y descuentos.
rhSalAgrupadores

Clase con la coleccin de Agrupadores

Count as Long

Nmero de elementos en la coleccin

Item (vntIndexKey) as
rhSalAgrupador

Elemento (vntIndexKey) de la coleccin

Add(Codigo As Long, Nombre Agrega un elemento a la coleccin


As String, [sKey As String])
As RHSalAgrupador
Clear ()

Elimina todos los elementos de la coleccin

Remove (vntIndexKey)

Elimina el elemento (vntIndexKey)

ResetValues()

Inicializa en cero el valor de todos los agrupadores


existentes en la coleccin

SumaRubro(sTipo As String,
CodigoRubro As Long,
ValorRubro As Double)

Suma el valor (parmetro ValorRubro) de un ingreso


o descuento (dependiendo si el parmetro sTipo es
igual a I o D respectivamente), identificado por su
cdigo (parmetro CodigoRubro) a todos los
agrupadores en donde es aplicable, de acuerdo a la
tabla de mantenimiento de los agrupadores

rhSalAgrupador

Clase con el objeto Agrupador

Codigo As Long

Cdigo del Agrupador segn la tabla de agrupadores

Index as Integer

Nmero correlativo de agrupador en la coleccin de


agrupadores

Key as String

"Key" del elemento en la coleccin. Permite utilizar


este nombre en vez de un subndice al inspeccionar la
coleccin de agrupadores

Nombre as String

Nombre del Agrupador segn la tabla de agrupadores

Rubros As
RHSalRubrosAgrupador

Coleccin de ingresos o descuentos que forman el


agrupador

ResetValues()

Inicializa en cero los valores de los ingresos y


descuentos que forman el agrupador

SumaAlRubro(sTipo As
Suma el valor (parmetro ValorRubro) de un ingreso
String, CodigoRubro As Long, o descuento (dependiendo si el parmetro sTipo es
ValorRubro As Double)
igual a I o D respectivamente), identificado por su
cdigo (parmetro CodigoRubro) al total del

Asesores en Informtica, S.A. de C.V.

79

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

agrupador
Value() As Double

rhSalRubrosAgrupador

Valor del agrupador (suma los ingresos y resta los


descuentos que lo forman)

Clase con la coleccin de Ingresos o Descuentos por


Agrupador

Count as Long

Nmero de elementos en la coleccin

Item(vntIndexKey) As
RHSalRubroAgrupador

Elemento (vntIndexKey) de la coleccin

Add(Codigo As Long, Nombre Agrega un elemento a la coleccin.


As String, [TipoRubro As
String = "I"], [Porcentaje As
Single = 100], [Value As
Double]) As
RHSalRubroAgrupador
Clear ()

Elimina todos los elementos de la coleccin

Exists(vntIndexKey) As
Boolean

Determina si el rubro especificado por la variable


vntIndexKey existe en la coleccin

Remove (vntIndexKey)

Elimina el elemento (vntIndexKey)

ResetValues()

Inicializa en cero los valores de los rubros que


componen la coleccin

Value() As Double

Valor total de la coleccin de rubros (ingresos o


descuentos) de la coleccin

RHSalRubroAgrupador

Clase con el objeto rubro (ingreso o descuento) de la


coleccin de rubros del agrupador

Codigo As Long

Cdigo de ingreso o descuento

Index as Integer

Nmero correlativo de rubro en la coleccin de rubros


del agrupador

Key as String

"Key" del elemento en la coleccin. Permite utilizar


este nombre en vez de un subndice al inspeccionar la
coleccin de rubros del agrupador

Nombre as String

Nombre del Rubro segn la tabla de Tipos de Ingresos


o Descuentos

Porcentaje As Single

Porcentaje de aplicacin del valor del ingreso o


descuento en el agrupador

TipoRubro As String

Tipo de Rubro (I para ingresos o D para


descuentos)

Value As Double

Valor del ingreso o descuento

esDescuento() As Boolean

Retorna verdadero si la propiedad TipoRubro es igual


a D

esIngreso() As Boolean

Retorna verdadero si la propiedad TipoRubro es igual


a I

Ejemplo de configuracin de Planillas

Para comprender mejor la configuracin de planillas se


implementar una planilla mensual simple a manera de

Asesores en Informtica, S.A. de C.V.

80

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

ejemplificar el funcionamiento de los cursores y los factores de


clculo de la planilla.
Se supondr que se va a calcular salarios para una planilla
mensual en donde las personas reciben su salario en funcin
mensual. Se incluirn los descuentos legales aplicables en El
Salvador.
Se definirn las siguientes frmulas:
Factor

Descripcin

SalarioMensual

Regresa el salario que devengan los empleados en base mensual

DescuentoIncapa
Regresa el valor a descontar en concepto de incapacidades
cidad
DescuentoTNT

Regresa el valor a descontar en concepto de tiempos no trabajados

IngresosEventual
Calcula los ingresos eventuales que ha tenido el empleado
es
SalarioBruto

SalarioMensual + IngresosEventuales - DescuntoIncapacidad DescuentoTNT

DescuentoISSS

Calcula la cuota de seguro social a descontar

DescuentoAFP

Calcula la cuota de descuento de AFP

DescuentoISR

Calcula la cuota de descuento por Impuesto sobre la Renta

DescuentosCiclic
os

Calcula los descuentos cclicos a aplicar

DescuentosEvent
Calcula los descuentos eventuales
uales
SalarioNeto

SalarioBruto - DescuentoISSS - DescuentoAFP - DescuentoISR DescuentosCiclicos - DescuentosEventuales

Para poder ejecutar los clculos requeridos en cada factor, deben


crearse los siguientes cursores con el programa de configuracin
correspondiente.
Pla_Periodo
Informacin sobre el perodo de pago que se est calculando
select *
from pla_ppl_param_plani, pla_tpl_tipo_planilla
where ppl_codcia = tpl_codcia and ppl_codtpl = tpl_codigo
and ppl_codcia = <<CODCIA>> and ppl_codtpl = <<CODTPL>>
and ppl_codpla = <<CODPLA>>
Emp_InfoSalario
-- CURSOR PRINCIPAL -Cursor que retorna la informacin de la tabla pla_emp_empleado unida con las tabla
configurable con datos para salarios (pla_dpl_datos_planilla) y la tabla con informacin de la
identificacin del empleado (pla_ide_ident_emp)
SELECT pla_emp_empleado.*,
pla_dpl_datos_planilla.*,

Asesores en Informtica, S.A. de C.V.

81

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

pla_ide_ident_emp.*,
plz_codpue, plz_coduni,
plz_cen_costo, plz_codcpu,
plz_codubi
FROM pla_plz_plaza full
JOIN pla_emp_empleado
LEFT JOIN pla_dpl_datos_planilla
ON (emp_codcia = dpl_codcia AND emp_codigo = dpl_codemp)
LEFT JOIN pla_ide_ident_emp
on (emp_codcia = ide_codcia and emp_codigo = ide_codemp)
ON (plz_codcia = emp_codcia AND plz_codigo = emp_codplz)
WHERE emp_estado <> 'R'
and emp_codcia = <<CODCIA>>
Emp_Incapacidades
Regresa la informacin de los perodos de incapacidad que debe aplicar
SELECT IXE_CODCIA, IXE_CODTPL, PIE_CODPLA,
IXE_CODTXI, IXE_CODEMP, IXE_RIESGO,
PIE_INICIO, PIE_FINAL, PIE_DIAS,
PIE_PROCESADA,
CASE WHEN PIE_INICIO = IXE_INICIO
THEN 'S' ELSE 'N' END PIE_ES_PRIMERA,
PIE_VALOR_TOTAL, PIE_VALOR_A_PAGAR,
pie_valor_total - pie_valor_a_pagar PIE_VALOR_A_DESCONTAR,
pie_porcentaje_descuento, pie_ajuste_sobre_sal_maximo
FROM PLA_IXE_INCAP_EMPLEADO, PLA_PIE_PRORROGA_INCAP
WHERE IXE_CODCIA = PIE_CODCIA AND IXE_NUMERO = PIE_NUMERO
AND PIE_PROCESADA = 'N'
and ixe_codcia = <<CODCIA>> and ixe_codtpl = <<CODTPL>>
and pie_codpla = <<CODPLA>>
Emp_TmpNoTrabajado
Regresa la informacin de los perodos de incapacidad que debe aplicar
SELECT * FROM pla_tnn_tiempo_no_trab
WHERE tnn_estado = 'A'
and tnn_codcia = <<CODCIA>>
and tnn_codtpl= <<CODTPL>>
and tnn_codpla = <<CODPLA>>
Emp_OtrosIngresos
Regresa los registros de ingresos eventuales que debe aplicar
select * from pla_oin_otros_ingresos
where oin_estado = 'R'
and oin_codcia = <<CODCIA>>
and oin_codtpl = <<CODTPL>>
and oin_codpla = <<CODPLA>>
DescuentosCiclicos
Regresa los descuentos cclicos que debe aplicar en el perodo de pago de la planilla
SELECT pla_pre_prestamo.*,
ppl_codpla pre_codpla,
tpr_codtdc pre_codtdc,
CASE WHEN pre_monto_indefinido <> 'S'
THEN pre_monto - pre_pagado ELSE 9999999.99 END AS pre_saldo
FROM pla_pre_prestamo
join pla_ppl_param_plani
on pre_codcia = ppl_codcia and pre_codtpl = ppl_codtpl
join pla_tpr_tipo_prestamo

Asesores en Informtica, S.A. de C.V.

82

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

on pre_codcia = tpr_codcia and pre_codtpr = tpr_codigo


where pre_codcia = <<CODCIA>>
and pre_codtpl = <<CODTPL>>
and ppl_codpla = <<CODPLA>>
and pre_ini_desc <= ppl_fecha_fin
and pre_estado <> 'C'
and (pre_frecuencia = 'T' or pre_frecuencia = ppl_frecuencia)
and (CASE WHEN pre_monto_indefinido <> 'S'
THEN pre_monto - pre_pagado ELSE 9999999999.99 END) > 0
CuotasDescuentosCiclicos
--MODIFICABLE-Regresa las cuotas correspondientes a los descuentos cclicos que debe aplicar en el perodo
de pago de la planilla
select * from pla_cdc_cuotas_desc
where cdc_codcia = <<CODCIA>>
and cdc_codpla = <<CODPLA>>
and cdc_codpre in
(select pre_codigo from pla_pre_prestamo
where pre_codcia = cdc_codcia
and pre_codemp = cdc_codemp
and pre_codtpl = <<CODTPL>>)
Emp_OtrosDescuentos
--MODIFICABLE-Regresa los descuentos eventuales que se deben aplicar
select * from pla_ods_otros_descuentos
where ods_estado = 'R'
and ods_codcia = <<CODCIA>>
and ods_codtpl = <<CODTPL>>
and ods_codpla = <<CODPLA>>
TablaISR
Regresa la tabla de parmetros para el clculo del Impuesto sobre la Renta
select * from pla_isr_isr
ParametrosCuotaISSS
Regresa la tabla de parmetros para clculo de cuota de Seguro Social
select pge_isss_salario_max_mensual,
pge_isss_por_desc, pge_isss_por_desc_pat,
pge_insafor
from pla_pge_parametros_gen
where pge_codcia = <<CODCIA>>
IngresosEstaPlanilla
--MODIFICABLE-Cursor con la tabla del historial de ingresos de la planilla
select * from pla_inn_ingresos
where inn_codcia = <<CODCIA>>
and inn_codtpl = <<CODTPL>>
and inn_codpla = <<CODPLA>>
DescuentosEstaPlanilla
--MODIFICABLE--

Asesores en Informtica, S.A. de C.V.

83

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Cursor con la tabla del historial de descuentos de la planilla


select * from pla_dss_descuentos
where dss_codcia = <<CODCIA>>
and dss_codtpl = <<CODTPL>>
and dss_codpla = <<CODPLA>>
AFPs
Regresa la tabla de parmetros para clculo del descuento de AFP
select * from pla_afp_afp

Luego deben ingresarse frmulas para configurar el ejemplo, a


continuacin se presentan las frmulas utilizadas (recuerde que
debe crear la frmula con el tipo de datos y la descripcin
sugerida y luego debe copiar el cuerpo de la frmula
nicamente, el encabezado y el final de la funcin se genera
automticamente).
ID: EmpleadoParticipa
Tipo: Booelano
Descripcin: Determina que empleados participan de este clculo
EmpleadoParticipa =
(Emp_InfoSalario.Fields("EMP_FECHA_INGRESO").Value <= _
Pla_Periodo.Fields("PPL_FECHA_FIN").Value) and _
(Emp_InfoSalario.Fields("EMP_TIPO_CONTRATO").Value = "I") and _
(Emp_InfoSalario.Fields("EMP_ESTADO").Value = "A")
ID: SalarioMensual
Tipo: Real
Descripcin: Determina el salario que le corresponde al empleado
salq = 0
' CALCULA SALARIO MENSUAL
if isnull(Emp_InfoSalario.Fields("EMP_SALARIO").Value) then
' si el campo salario es nulo le asigna un cero a la variable
salq = 0
else
if isnull(Emp_InfoSalario.Fields("EMP_EXP_SALARIO").Value) then
' Si la dimensional del salario es nula asume que es mensual
salq = Emp_InfoSalario.Fields("EMP_SALARIO").Value
else
if Emp_InfoSalario.Fields("EMP_EXP_SALARIO").Value = "D" then
' Esta almacenado salario diario
salq = Emp_InfoSalario.Fields("EMP_SALARIO").Value * 30
else
' Esta almacenado salario mensual
salq = Emp_InfoSalario.Fields("EMP_SALARIO").Value
end if
end if
end if
' Asigna la variable al valor de retorno de la funcin
SalarioMensual = salq

Asesores en Informtica, S.A. de C.V.

84

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

ID: DescuentoIncapacidad
Tipo: Real
Descripcin: Determina la cantidad a descontar por incapacidad
' Variable para los das de incapacidad
di = 0
' Variable para el descuento de incapacidad
vi = 0
' Loop para obtener los das incapacitados y el valor a descontar
if not Emp_Incapacidades.EOF then
Emp_Incapacidades.MoveFirst
do while not Emp_Incapacidades.EOF
di = di + Emp_Incapacidades.Fields("PIE_DIAS").Value
vi = vi + round(Emp_Incapacidades.Fields("PIE_VALOR_A_DESCONTAR").Value, 2)
Emp_Incapacidades.MoveNext
Loop
end if
' Verifica no descontar ms del salario mensual
if vi > Factores("SalarioMensual").Value then
vi = Factores("SalarioMensual").Value
end if
' Salva en el historial de descuentos
' el procedimiento agrega_descuentos_historila se encuentra en e
' archivo proc_genpla.vbs del directorio BIN de Visual HUR
if not isnull(Factores("DescuentoIncapacidad").CodTipoDescuento) and _
Factores("DiasIncapacidad").Value > 0 then
agrega_descuentos_historial DescuentosEstaPlanilla, _
Pla_Periodo.Fields("PPL_CODCIA").Value, _
Emp_InfoSalario.Fields("EMP_CODIGO").Value, _
Pla_Periodo.Fields("TPL_CODIGO").Value, _
Pla_Periodo.Fields("PPL_CODPLA").Value, _
Factores("DescuentoIncapacidad").CodTipoDescuento, _
0, 0, 0, di
end if
' Retorna el valor del descuento
DescuentoIncapacidad = vi
ID: DescuentoTNT
Tipo: Real
Descripcin: Determina el descuento que debe hacer los empleados que tienen tiempos no
trabajados.
' Variable para almacenar el descuento por TNT
tnt = 0
' Variable para almacenar los das no trabajados
dnt = 0
' Loop para obtener los dias no trabajados y el valor de descuento
If Emp_TmpNoTrabajado.RecordCount > 0 Then
Emp_TmpNoTrabajado.MoveFirst
Do Until Emp_TmpNoTrabajado.EOF

Asesores en Informtica, S.A. de C.V.

85

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

' Verifica que los das de descuento no sean mayores que el perodo de planilla
if Emp_InfoSalario.Fields("EMP_FECHA_INGRESO").Value > _
Pla_Periodo.Fields("PPL_FECHA_INI").Value then
dnt = dnt + (Emp_InfoSalario.Fields("EMP_FECHA_INGRESO").Value Pla_Periodo.Fields("PPL_FECHA_INI").Value)
end if
' Almacena los das no trabajados en el historial de descuentos
if not isnull(Factores("DescuentoTNT").CodTipoDescuento) then
agrega_descuentos_historial DescuentosEstaPlanilla, _
Pla_Periodo.Fields("PPL_CODCIA").Value, _
Emp_InfoSalario.Fields("EMP_CODIGO").Value, _
Pla_Periodo.Fields("TPL_CODIGO").Value, _
Pla_Periodo.Fields("PPL_CODPLA").Value, _
Factores("DescuentoTNT").CodTipoDescuento, _
0, 0, 0, dnt
end if
' Valor de retorno de la funcin
DescuentoTNT = tnt
ID: IngresosEventuales
Tipo: Real
Descripcin: Determina el total de ingresos percibidos de manera eventual
' Variable para sumar los ingresos
o=0
' Loop para obtener los ingresos y salvarlos en el historial de ingresos
if Emp_OtrosIngresos.RecordCount > 0 then
Emp_OtrosIngresos.MoveFirst
do until Emp_OtrosIngresos.EOF
agrega_ingresos_historial IngresosEstaPlanilla, _
Pla_Periodo.Fields("PPL_CODCIA").Value, _
Emp_InfoSalario.Fields("EMP_CODIGO").Value, _
Pla_Periodo.Fields("TPL_CODIGO").Value, _
Pla_Periodo.Fields("PPL_CODPLA").Value, _
Emp_OtrosIngresos.Fields("OIN_CODTIG").Value, _
Emp_OtrosIngresos.Fields("oin_codffi").Value, _
Emp_OtrosIngresos.Fields("OIN_CODCCO").Value, _
round(Emp_OtrosIngresos.Fields("OIN_VALOR").Value, 2)
o = o + round(Emp_OtrosIngresos.Fields("OIN_VALOR").Value, 2)
Emp_OtrosIngresos.MoveNext
loop
end if
' Valor de retorno de la funcin
IngresosEventuales= o
ID: SalarioBruto
Tipo: Real
Descripcin: Salario Bruto a pagar al empleado
' Determina el salario bruto del empleado
sal = Factores("SalarioMensual").Value + _
Factores("IngresosEventuales").Value - _
Factores("DescuentoIncapacidad").Value - _
Factores("DescuentoTNT").Value

Asesores en Informtica, S.A. de C.V.

86

A D M I N I S T R A C I N

end if

PAR A M E T R I Z A C I N

Pla_Periodo.Fields("PPL_CODPLA").Value, _
Factores("Ordinario").CodTipoIngreso, _
Emp_InfoSalario.Fields("dpl_codffi").Value, _
Emp_InfoSalario.Fields("plz_cen_costo").Value, _
sal

'Valor de Retorno de la Funcin


SalarioBruto = sal
ID: DescuentoISSS
Tipo: Real
Descripcin: Calcula la cuota de seguro social a descontar
' Variables para la cuota, el aporte patronal
cuota = 0
patronal = 0
' Si no tiene salario no aplica ningn descuento
if Factores("SalarioBruto").Value = 0 then
SeguroSocial = 0
exit function
end if
' Obtiene los valores de los parmetros para clculo de cuota
sal_maximo = ParametrosCuotaISSS.Fields("pge_isss_salario_max_mensual").Value
por_cuota = ParametrosCuotaISSS.Fields("pge_isss_por_desc").Value
pat_cuota = ParametrosCuotaISSS.Fields("pge_isss_por_desc_pat").Value
' Ajusta al mximo ingreso para calcular cuota
if Factores("SalarioBruto").Value > (sal_maximo) then
cuota = round(por_cuota / 100 * sal_maximo, 2)
patronal = round(pat_cuota / 100 * sal_maximo, 2)
else
cuota = round(por_cuota / 100 * Factores("SalarioBruto").Value, 2)
patronal = round(pat_cuota / 100 * Factores("SalarioBruto").Value, 2)
end if
' Inserta el registro en la tabla de descuentos
if not isnull(Factores("SeguroSocial").CodTipoDescuento) and cuota > 0 then
agrega_descuentos_historial DescuentosEstaPlanilla, _
Pla_Periodo.Fields("PPL_CODCIA").Value, _
Emp_InfoSalario.Fields("EMP_CODIGO").Value, _
Pla_Periodo.Fields("TPL_CODIGO").Value, _
Pla_Periodo.Fields("PPL_CODPLA").Value, _
Factores("SeguroSocial").CodTipoDescuento, _
cuota, patronal, Factores("SalarioBruto").Value, 0
end if
' Valor de retorno de la funcin
SeguroSocial = cuota
ID: DescuentoAFP
Tipo: Real
Descripcin: Salario Bruto a pagar al empleado

Asesores en Informtica, S.A. de C.V.

87

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

if isnull(Emp_InfoSalario.Fields("ide_codAFP").Value) then
salq = 0
elseif Emp_InfoSalario.Fields("ide_codAFP").Value <= 0 then
salq = 0
else
' Determina parmetros de AFP
AFPs.Filter = "afp_codigo = " & Emp_InfoSalario.Fields("ide_codAFP").Value
if AFPs.EOF then
salq = 0
elseif not isnull( AFPs.Fields("afp_sal_minimo").Value ) and _
not isnull( AFPs.Fields("afp_sal_maximo").Value ) then
if salq < AFPs.Fields("afp_sal_minimo").Value then
salq = 0
elseif salq > AFPs.Fields("afp_sal_maximo").Value then
salq = AFPs.Fields("afp_sal_maximo").Value
end if
end if
end if
' Determina las cuotas a descontar dependiendo del AFP al que cotiza
if salq > 0 then
if not isnull( AFPs.Fields("afp_por_ahorro").Value ) then _
ahorroAFP = round(salq * AFPs.Fields("afp_por_ahorro").Value / 100, 2)
if not isnull( AFPs.Fields("afp_por_comision").Value ) then _
comisionAFP = round(salq * AFPs.Fields("afp_por_comision").Value / 100, 2)
if not isnull( AFPs.Fields("afp_por_patronal").Value ) then _
patronalAFP = round(salq * AFPs.Fields("afp_por_patronal").Value / 100, 2)
end if
' Inserta el registro en la tabla de descuentos
if not isnull(Factores("DescuentoAFP").CodTipoDescuento) then
agrega_descuentos_historial DescuentosEstaPlanilla, _
Pla_Periodo.Fields("PPL_CODCIA").Value, _
Emp_InfoSalario.Fields("EMP_CODIGO").Value, _
Pla_Periodo.Fields("TPL_CODIGO").Value, _
Pla_Periodo.Fields("PPL_CODPLA").Value, _
Factores("DescuentoAFP").CodTipoDescuento, _
ahorroAFP + comisionAFP, patronalAFP, salq, 0
end if
' Valor de retorno de la funcin
DescuentoAFP = ahorroAFP + comisionAFP
ID: DescuentoISR
Tipo: Real
Descripcin: Determina la cuota de descuento de impuesto sobre la renta
' Ingreso afecto a renta
salq = Factores("SalarioBruto").Value - _
Factores("DescuentoAFP").Value
' Variables para los parametros
valor = 0
excedente = 0
porciento = 0

Asesores en Informtica, S.A. de C.V.

88

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

porciento = TablaISR.Fields("isr_pct").Value / 100


exit do
end if
TablaISR.MoveNext
loop
end if
' Calcula el valor a descontar
valor = round(valor + (salq - excedente) * porciento, 2)
if valor < 0 then valor = 0
' Inserta en el historial de descuentos la renta calculada
if not isnull(Factores("DescuentoISR").CodTipoDescuento) then
agrega_descuentos_historial DescuentosEstaPlanilla, _
Pla_Periodo.Fields("PPL_CODCIA").Value, _
Emp_InfoSalario.Fields("EMP_CODIGO").Value, _
Pla_Periodo.Fields("TPL_CODIGO").Value, _
Pla_Periodo.Fields("PPL_CODPLA").Value, _
Factores("DescuentoISR").CodTipoDescuento, _
valor, 0, salq, 0
end if
' Valor de retorno de la funcin
DescuentoISR = valor
ID: DescuentosEventuales
Tipo: Real
Descripcin: Determina los descuentos eventuales que debe aplicar
' Variable para totalizar los descuentos eventuales
o=0
' Loop para totalizar los descuentos
if Emp_OtrosDescuentos.RecordCount > 0 then
Emp_OtrosDescuentos.MoveFirst
do until Emp_OtrosDescuentos.EOF
o = o + round(Emp_OtrosDescuentos.Fields("ODS_VALOR").Value, 2)
agrega_descuentos_historial DescuentosEstaPlanilla, _
Pla_Periodo.Fields("PPL_CODCIA").Value, _
Emp_InfoSalario.Fields("EMP_CODIGO").Value, _
Pla_Periodo.Fields("TPL_CODIGO").Value, _
Pla_Periodo.Fields("PPL_CODPLA").Value, _
Emp_OtrosDescuentos.Fields("ODS_CODTDC").Value, _
round(Emp_OtrosDescuentos.Fields("ODS_VALOR").Value, 2), _
0, 0, 0
Emp_OtrosDescuentos.MoveNext
loop
end if
' Valor de retorno de la funcin
DescuentosEventuales = o
ID: DescuentosCiclicos
Tipo: Real
Descripcin: Determina las cuotas de descuentos cclicos que debe descontar en este periodo

Asesores en Informtica, S.A. de C.V.

89

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

dc = 0
vc = 0
lFilter = ""
' Loop para inspeccionar los descuentos cclicos del empleado
if DescuentosCiclicos.RecordCount > 0 then
DescuentosCiclicos.MoveFirst
do until DescuentosCiclicos.EOF
' Filtra la tabla de cuotas para investigar si aplican en este periodo
lFilter = CuotasDescuentosCiclicos.Filter
CuotasDescuentosCiclicos.Filter = lFilter & " and cdc_codpre = " & _
DescuentosCiclicos.Fields("PRE_CODIGO").Value
if not CuotasDescuentosCiclicos.EOF then
' Loop para procesar las cuotas a descontar en este periodo
do until CuotasDescuentosCiclicos.EOF
vc = round(CuotasDescuentosCiclicos.Fields("CDC_VAL_CUOTA").Value, 2)
' Si aun queda lquido descuenta la cuota
if (liquido - vc) > 0 then
liquido = liquido - vc
dc = dc + vc
CuotasDescuentosCiclicos.Fields("CDC_VENCIMIENTO").Value = _
Pla_Periodo.Fields("PPL_FECHA_PAGO").Value
CuotasDescuentosCiclicos.Fields("CDC_APLICADA").Value = "S"
agrega_descuentos_historial DescuentosEstaPlanilla, _
Pla_Periodo.Fields("PPL_CODCIA").Value, _
Emp_InfoSalario.Fields("EMP_CODIGO").Value, _
Pla_Periodo.Fields("TPL_CODIGO").Value, _
Pla_Periodo.Fields("PPL_CODPLA").Value, _
DescuentosCiclicos.Fields("pre_codtdc").Value, _
vc, 0, 0, 0
else
' NO queda liquido para descontar informa al usuario
CuotasDescuentosCiclicos.Fields("CDC_VENCIMIENTO").Value = null
CuotasDescuentosCiclicos.Fields("CDC_APLICADA").Value = "N"
msgbox "El salario del empleado " & _
Emp_InfoSalario.Fields("EMP_CODIGO").Value & _
" no alcanza para descontar la cuota " & _
CuotasDescuentosCiclicos.Fields("CDC_NUM_CUOTA").Value & _
" del descuentos cclico " & _
DescuentosCiclicos.Fields("PRE_CODIGO").Value
end if
CuotasDescuentosCiclicos.MoveNext
loop
end if
CuotasDescuentosCiclicos.Filter = lFilter
DescuentosCiclicos.MoveNext
loop
end if
' Valor de retorno de la funcin
DescuentosCiclicos = dc
ID: SalarioNeto
Tipo: Real
Descripcin: Determina el salario liquido que se pagar al empleado
SalarioNeto = Factores("SalarioBruto").Value - _
Factores("DescuentoISSS").Value - _
Factores("DescuentoAFP").Value - _
Factores("DescuentoISR").Value - _
Factores("DescuentosEventuales").Value - _

Asesores en Informtica, S.A. de C.V.

90

A D M I N I S T R A C I N

PAR A M E T R I Z A C I N

Factores("DescuentosCiclicos").Value

Asesores en Informtica, S.A. de C.V.

91