Ayuda sobre productos BOLD:
Formularios
Los formularios son pantallas diseñadas para sustituir procesos administrativos que habitualmente se realizan mediante papeleo. Un formulario acostumbra a pasar por diferentes estados desde que se crean en los cuales diversas personas lo completan o validan antes de pasarlo al siguiente actor dentro de su circuito administrativo.
Los formularios poseen una estructura de datos totalmente configurable y abierta que a su vez se encuentra totalmente integrada dentro del sistema BOLD.
Estados de los formularios
Existe un campo llamado SimpleStatusForm (Estado simplificado) y puede tomar los siguientes valores:
public static final int eInProcess = 0; public static final int eDenied = 1; public static final int eValidated = 2;
Estos son todos los estados de los formularios según el tipo y su significado. Sirve de piedra rosetta para comprender el workflow que ha seguido un formulario.
Formulario de permisos/vacaciones:
Para el valor de StatusForm (Estado de la solicitud):
public final class StatusFormLicenses { public static final int eInitialized = 0; //Antes de grabar un formulario. Realmente nunca encontraremos este estado en un formulario grabado. (visible en el objeto como Inicializado) public static final int eSaved = 1; //Formulario recién solicitado (visible en el objeto como Grabado) public static final int eValidatedFirstBoss = 2; //Aprobado por el primer jefe (visible en el objeto como Status3) public static final int eDeniedFirstBoss = 3; //Denegado por el primer jefe (visible en el objeto como Status4) public static final int eTestFirstBoss = 4; //Formulario en estado evaluación (TEST) (visible en el objeto como Status5) public static final int eValidatedSecondBoss = 5; //Validado por el segundo jefe (cuando un empleado trabaja en dos unidades diferentes) (visible en el objeto como Status6) public static final int eDeniedSecondBoss = 6; //Denegado segundo jefe (cuando un empleado trabaja en dos unidades diferentes) (visible en el objeto como Status7) public static final int eTestSecondBoss = 7; //Formulario en estado evaluación por parte del segundo jefe (TEST) (visible en el objeto como Status8) public static final int eValidatedAreaDirector = 8; //Aprobado por el director (visible en el objeto como Status9) public static final int eDeniedAreaDirector = 9; //Denegado por el director (visible en el objeto como Status10) public static final int eTestAreaDirector = 10; //Formulario en estado evaluación por parte del director (TEST) (visible en el objeto como Status11) public static final int eValidatedRRHH = 11; //Validado RRHH (visible en el objeto como Status12) }
Formulario de reducciones/excedencias:
Para el valor de StatusForm:
public final class StatusFormReductionExcedence { public static final int eInitialized = 0; public static final int eSaved = 1; public static final int eValidatedRRHH = 2; public static final int eDeniedRRHH = 3; public static final int eValidatedFirstBoss = 4; public static final int eDeniedFirstBoss = 5; public static final int eTestFirstBoss = 6; public static final int eValidatedSecondBoss = 7; public static final int eDeniedSecondBoss = 8; public static final int eTestSecondBoss = 9; public static final int eValidatedAreaDirector = 10; public static final int eDeniedAreaDirector = 11; public static final int eTestAreaDirector = 12; }
Formulario de intercambios:
Para el valor de StatusForm:
public final class StatusFormInterchange { public static final int eInitialized = 0; public static final int eSaved = 1; public static final int eValidatedEmployee = 2; public static final int eDeniedEmployee = 3; public static final int eValidatedFirstBoss = 4; public static final int eDeniedFirstBoss = 5; public static final int eTestFirstBoss = 6; public static final int eValidatedSecondBoss = 7; public static final int eDeniedSecondBoss = 8; public static final int eTestSecondBoss = 9; public static final int eValidatedAreaDirector = 10; public static final int eDeniedAreaDirector = 11; public static final int eTestAreaDirector = 12; public static final int eValidatedRRHH = 13; }
Formulario de contratación:
Ojo que tiene un estado compuesto.
Para el valor de StatusForm:
public final class StatusFormM30 { public static final int eInitialized = 0; public static final int eSaved = 1; public static final int eAreaDirector = 2; public static final int eValidatedRRHH = 3; public static final int eDeniedRRHH = 4; public static final int eFormalizedRRHH = 5; public static final int eDeniedAreaDirector = 6; }
Para el valor de StatusFormAreaDirector:
public final class StatusFormM30AreaDirector { public static final int eInitialized = 0; public static final int eValidatedAreaDirector = 1; public static final int eDeniedAreaDirector = 2; }
Formulario de pagos:
Para el valor de StatusForm:
public final class StatusFormPayment { public static final int eInitialized = 0; public static final int eSaved = 1; public static final int eValidatedRRHH = 2; public static final int eDeniedRRHH = 3; }
Formulario de pactos:
Para el valor de StatusForm:
public final class StatusFormPact { public static final int eInitialized = 0; public static final int eSaved = 1; public static final int eValidatedFirstBoss = 2; public static final int eDeniedFirstBoss = 3; public static final int eValidatedSecondBoss = 4; public static final int eDeniedSecondBoss = 5; public static final int eValidatedAreaDirector = 6; public static final int eDeniedAreaDirector = 7; public static final int eValidatedRRHH = 8; }
Formulario de peticiones varias(Km, dietas, …):
Para el valor de StatusForm:
public final class StatusFormAllowance { public static final int eInitialized = 0; public static final int eSaved = 1; public static final int eValidatedRRHH = 2; public static final int eDeniedRRHH = 3; }
Formulario de cancelación de permisos/vacaciones:
Para el valor de CancelStatusForm:
public final class StatusFormCancelLicenses { public static final int eInitialized = 0; public static final int eSaved = 1; public static final int eValidatedFirstBoss = 2; public static final int eDeniedFirstBoss = 3; public static final int eValidatedSecondBoss = 4; public static final int eDeniedSecondBoss = 5; public static final int eValidatedAreaDirector = 6; public static final int eDeniedAreaDirector = 7; public static final int eValidatedRRHH = 8; }
Formulario de cancelación de reducciones/excedencias:
Para el valor de CancelStatusForm:
public final class StatusFormCancelReductionExcedence { public static final int eInitialized = 0; public static final int eSaved = 1; public static final int eValidatedRRHH = 2; public static final int eDeniedRRHH = 3; public static final int eValidatedFirstBoss = 4; public static final int eDeniedFirstBoss = 5; public static final int eValidatedSecondBoss = 6; public static final int eDeniedSecondBoss = 7; public static final int eValidatedAreaDirector = 8; public static final int eDeniedAreaDirector = 9; }
Formulario de cancelación de intercambios:
Para el valor de CancelStatusForm:
public final class StatusFormCancelInterchange { public static final int eInitialized = 0; public static final int eSaved = 1; public static final int eValidatedFirstBoss = 2; public static final int eDeniedFirstBoss = 3; public static final int eValidatedSecondBoss = 4; public static final int eDeniedSecondBoss = 5; public static final int eValidatedAreaDirector = 6; public static final int eDeniedAreaDirector = 7; public static final int eValidatedRRHH = 8; }
Edición de formularios
La edición de formularios se realiza desde pantallas específicas del portal pero también es posible desde el mismo cliente Windows. Cada formulario dispone de una pantalla diseñada específicamente según su tipología, sin embargo también es posible editar mediante un editor genérico dentro del cliente Windows, aunque sin el mismo grado de ergonomía, y solamente está disponible para usos administrativos.
Configuración de editores de formularios dentro del cliente Windows
La configuración de los editores web específicos se realiza mediante las siguientes entradas dentro del fichero de configuración personalizada:
<EmbeddedBOLDForms> <EmbeddedBOLDForm SubType="0" SubClassType="5" URL="/faces/forms/edit_form_licenses_holidays.xhtml" /> <EmbeddedBOLDForm SubType="2" SubClassType="5" URL="/faces/forms/edit_form_interchange.xhtml" /> <EmbeddedBOLDForm SubType="1" SubClassType="5" URL="/faces/forms/edit_form_reduction_excedence.xhtml" /> <!--<EmbeddedBOLDForm SubType="4" SubClassType="6" URL="/faces/forms/edit_form_M30_Contract.xhtml" />--> </EmbeddedBOLDForms>
En el ejemplo anterior se observa lo siguiente:
- Se han configurado editores específicos para los formularios de Subtype 0,2,1
- Se ha comentado el editor específico para los formularios con Subtype=4. El efecto que tendrá esto último es que al editar un formulario de este tipo nos aparecerá el editor genérico. Desde la interfaz de Windows, si el maestro de formularios está visible (ver WPClientcfg.ini), es posible lanzar siempre el editor genérico en lugar del específico manteniendo pulsada la tecla SHIFT antes de abrir el editor.
Nota: el detalle de las estructuras de datos utilizadas se encuentra en Esquema de base de datos.
Impresión de formularios
La impresión de los formularios se puede personalizar mediante la configuración de plantillas. En Impresión de formularios web puede encontrar más información al respecto.