Ayuda sobre productos BOLD:
BoldWebcfg.xml
El fichero BoldWebcfg.xml es donde se configuran elementos del portal. Esta ruta se suele encontrar en » C:\Archivos de programa\Global Planning Solutions\Custom_Files\Integration\configuration\workPlanner\boldweb\config\BoldWebcfg.xml»
Opciones de login / autenticación / credenciales
- IsOnPremise con valor yes se indica que la instalación no es de tipo Cloud y por tanto el portal puede trabajar contra un único GPSNODE y ser más eficiente.
- WebOff Con valor Yes, indicará que se desactiva el loggin en el portal web. Útil en actualizaciones.
- WebOffUserName Indica el nombre de la persona usuaria que tendrá permisos para entrar en el portal incluso cuando este está desactivado (Ver WebOff)
- LDAP_ActiveDirectory: activa la autenticación por LDAP, e indica el nombre del servidor de LDAP de la red. Ejemplos:
- none (para desactivar la autenticación por LDAP),
- LDAP://ldapserver.local
- EnableValidationAS400: habilita la validación del usuario o usuaria y password de cada persona empleada o usuaria utilizando un sistema externo o bien utilizando una «especie de LDAP interno» como una combinación entre la tabla de personas empleadas y la tabla de contraseñas del sistema de personas usuarias de WP. Los valores posibles son:
- xxxx: TBD. llamar a los ws externos
- GPSNODE: utilizar el sistema interno de WP. Se comprobará que la persona usuaria introducida exista en la tabla WORKER_TB de WP (dependiendo de la política de identificación se consultará el campo código, código externo o DNI; se obtendrá el código de la persona empleada -Name- de ese registro y luego se validará el pwd introducido comparándolo con lo que se encuentre almacenado en la tabla de las personas usuarias del usuario o usuaria con el código obtenido).
- UserIDPolicy: Indica cómo se relacionará el nombre de la persona usuaria introducida en la pantalla de login con los datos de la usuaria o usuario que puedan existir en BOLD. Las opciones posibles son:
- ByUserName: se buscará una persona empleada con el campo Name igual que a la persona usuaria introducida
- ByEmployeeCode: se buscará una persona empleada con el campo Name igual a la persona usuaria introducida
- ByEmployeeCodeExt: se buscará una persona empleada con el campo ExtCode igual a la persona usuaria introducida
- ByEmployeeDNI: los datos a mostrar se corresponden con la ficha de la persona empleada en BOLD cuyo campo NIF coincida con el login
- DNILogin: indica que se ignorará el pwd introducido y el portal usará unas credenciales genéricas para conectarse al servidor de BOLD (normalmente se usará a la vez que ByEmployeeDNI) (valores posibles: true / false).
- bolduser: la persona usuaria del servidor de BOLD a utilizar cuando se usen credenciales genéricas (LDAP / DNILogin). Si se quiere tocar sólo para el fullweb debe ser bolduserFW
- bolduserpwd: contraseña de la persona usuaria del servidor. Si se quiere tocar solo para el fullweb, debe ser bolduserpwdFW
- DenyBOLDUserAccess: impide que los usuarios y usuarias que no sean de LDAP accedan al portal. Es decir, aunque existan en BOLD se les deniega el acceso si no está validado en LDAP.
- UseLDAPUserAsWorkerCode: Usa la persona usuaria de LDAP como código de la persona trabajadora
Otras opciones
- ShowMessageInformationBOLD: Cuando el usuario de BOLD es de tipo consultor y el workerCode vale null aparecerá un mensaje del estilo: «El profesional seleccionado (código: null) no tiene información en BOLD.» Cuando el valor vale No el mensaje no aparece.
- CanValidateOwnedForms: Impide que los usuarios y usuarias gestoras se validen ellas mismas como empleadas. Para que la opción funcione correctamente con validación múltiple tiene que existir la columna Empleado en el buscador.
- CanSuplantIdentityInForms: indica si los jefes, pueden solicitar permisos en nombre de sus trabajadores a través del portal. El valor por defecto es No. Yes indicaría que sí.
- BOLDServerMaxSessions Indica el máximo nº de sesiones simultáneas por instancia de servidor permitidas. Su valor está estrechamente ligado con las características del caso y los recursos disponibles. Por defecto suele ponerse bajo para forzar su revisión y ajustarlo posteriormente al alza. Si se llega a este límite en el portal aparece el siguiente mensaje: Se ha superado el número de conexiones autorizadas. Inténtelo más tarde.
- ReuseWebSessionForSameUser Por defecto este parámetro está activado. Cuando vale true cada vez que un usuario o usuaria web se conecte al sistema, se comprobará si ya tiene una sesión en cualquiera de los servidores de BOLD. En caso afirmativo, se reutilizará dicha sesión en lugar de crear una nueva con la misma usuaria. Los usuarios y usuarias de administración especial nunca reutilizan sesiones. Nota: este parámetro para funcionar requiere una versión actualizada del servidor BOLD.
- BOLDServerFrontier Indica qué servidores BOLD de los disponibles en la granja serán utilizados por el portal. Por ejemplo: si existen 6 servidores numerados del 1 al 6 y BOLDServerFrontier=5 indicaría que el portal atacaría únicamente los servidores 5 y 6 para las sesiones de tipo web.
- MAX_WAIT_FOR_ACTION_TO_COMPLETE Indica el tiempo máximo de espera del cliente web en millisegundos a que una acción del servidor se complete antes de considerarlo un error.
- URLPhotos Ubicación base de las fotos de las personas. Ej.: http://localhost/fotos/
NOTA: La carpeta con la ubicación de las fotos debe estar añadida como Directorio Virtual en el IIS para que BOLD las localice: IIS–>Sites–>Default Web Site–> Add Virtual Directory - PhotoBy El nombre del archivo de fotos de cada persona se compondrá del valor de la propiedad de la ficha personal seleccionada por esta configuración. Los valores posibles son: Name, DNI, ExtCode, PhotoURL. La ubicación de la URL final con el nombre del archivo con la foto será la siguiente: URLPhotos + PhotoBy + PhotoSufix. Nota: Si se quiere usar el campo ExtCode, debe existir dicho campo en el formulario bajo M32DatosEmpleado informandolo con el ExtCode de la ficha del empleado (el portal no va a buscar el campo en la ficha sino en el formulario).
Ejemplo de la propiedad PhotoURL («URL de la foto») en la ficha del empleado: «002950.jpg» - PhotoSufix El sufijo/extensión a añadir al archivo de las fotos. Ej.: «.jpg»
- OldHolidaysForm: Utiliza el mismo formulario PDF en la solicitud de permisos. El nuevo es una versión reducida de introducción de datos.
- UnifyActionBossAndDirector: Permite que las validaciones realizadas por roles de tipo «Jefe y Director» se realicen tanto con el perfil «Jefe» como con el de «Director» con sólo validar una vez.
- CanDenyAreaDirectorIfExecutesBoss: Indica si la Dirección puede denegar un formulario que ha sido aprobado por el Jefe o Jefa. El valor por defecto (No) hace que la dirección, únicamente pueda Aceptar solicitudes.
- SumHourCalendar: Número de horas a sumar en el calendario semanal (para corregir un bug propio del componente.
- ShowPlanAreaInPlan: Indica si en los calendarios del portal se mostrará el código de área en las asignaciones, en lugar de mostrar el código de necesidad.
- MustShowSecondRow: Para que no salga ni Formación ni otros en los permisos
- ShowBrowserFormsComplex: Para que solo muestre las opciones de menú «pendientes» y «todos» en los listados de formularios propios.
- CanChangePermisosRRHH: Permite que los usuarios y usuarias de RRHH puedan modificar las fechas, horas y tipos de permisos cuando están pendientes de ellos.
- DefaultLanguage: Permite definir el lenguaje por defecto del portal. Valores posibles: ESP, CAT, POR, ENG, BRA
- MustChangeRestrictedAreaList: Indica si se ha de utilizar o no el campo «Acceso para formularios del portal» a la hora de filtrar el acceso a formularios de solicitudes. El valor por defecto es Yes.
- MustCloseOnAccept: Indica si tras la solicitud de un formulario, éste se debe de cerrar automáticamente.
- TransDir: Directorio donde ir a buscar los ficheros de traducción(cat.txt, eng.txt,…).
- CustomTransDir: Directorio donde ir a buscar los ficheros de traducción especial por cliente(cat_custom.txt, eng_custom.txt,…).
- CanJustifyDirector: Indica si las personas usuarias de tipo Dirección pueden dar por justificado o no un permiso. Valor por defecto No
- ContractListSQLHeader: Sirve para que en la venta de Situación laboral (la lista de contratos de la persona empleada que se ha conectado al portal) puedas añadir a la cabecera algún texto personalizado.
- AuthorizationServerOn: La aplicación web gpsnode actúa como servidor de autorización del Portal. Por defecto esta funcionalidad está activada y hay que desactivarla.
- CanSuplantIdentityInForms: Sirve para poder suplantar la identidad
- BOLDServer: nombre del servidor
- BOLDURI: es el identificador de recursos uniforme que identifica los recursos de una red de forma unívoca
- adminweb: usuario y usuaria de acceso para la aplicación web
- bolduserpwdweb: contraseña del usuario y usuaria de acceso para la aplicación web
- bolduserweb: persona usuaria de acceso a la aplicación
- URLSignatures: Ubicación de las firmas de cada empleado y empleada
- URLHelp: Ubicación de la ayuda
- WebPortalName: nombre que aparece en el Portal del Empleado
- ChkPass: sirve para chequear la contraseña. Sus valores pueden ser true o false
- BoldQuir: tener acceso a la herramienta de planificación quirúrgica. Puede tomar los valores Si o No
- AdministratorsSpecial: sirve para configurar quien es la persona administradora especial
- personaldata_template: configuraremos los datos personales que queremos que aparezca del empleado o empleada
- AnualCounters: Podemos configurar los diferentes contadores anuales que queremos que aparezcan en el Portal
- ExcludeContractsWithoutCodeExt: Excluye los contratos que no tienen código externo
- MustRenderOldLink: Si vale Yes permite que se pueda acceder al formulario antiguo en la Petición de permisos/vaciones.
Permisos
La configuración de los permisos que son solicitables desde el portal se gestiona en la sección FormLicensesHolidays. La estructura de esta sección es la siguiente:
JSON sintaxis básica:
"Motivo": " ", "Value": " ", "Incidence": , "IncidenceTest": , "IncidenceJustified" , "Type": , "CounterExpr": , "MustShow":
Un JSON De ejemplo:
"Motivo": "OtrosSeleccion ", "Value": "1", "Incidence": 69, "IncidenceTest": 69, "IncidenceJustified": 69, "Type": "Days", "CounterExpr": "", "MustShow": "true"
Motivo: Indica el grupo en el cual se representa esta incidencia en el portal. Las opciones son Vacaciones, Permisos, Formacion, OtrosSeleccion
Value: Es un ordinal incremental que indica la posición dentro del grupo de esta incidencia. Cada grupo (vacaciones, Permisos, Formación, OtrosSeleccion) deben comenzar con un elemento que pone Value:0 y luego seguir con un elemento Value:1 y continuar con un elemento Value:2 etc etc… Este número debe estar exactamente igual configurado en el campo jSONPOSITION de la incidencia. jSONPosition es un valor que utiliza la APP y el campo Value de este fichero de configuración, es utilizado por el portal.
Incidence:ID de la incidencia. Cuando la incidencia tiene circuito de validación, en este campo se guarda el ID de la incidencia Previa a justificar. Cuando no lo tiene, pues el propio ID de la incidencia.
IncidenceTest: ID de la incidencia que se utiliza cuando los planificadores pasan un formulario al estado EVALUAR.
IncidenceJustified: Es el ID de la incidencia que se ha de poner en el programa cuando se justifica el formulario. Si la incidencia no tiene proceso de justificación, se rellena este campo con el mismo valor de Incidence.
Type: Puede ser Days o DaysByHours. Indica si el permiso es por días o por horas,.
CounterExpr: Expresión de control de saldos. Si no tiene rellenada ninguna expresión, utiliza la propia expresión de control de saldos de la incidencia.
MustShow: No es obligatorio. Los valores posibles son true o false. Indican si ese tipo de incidencia se puede o no mostrar en el portal para que las personas trabajadoras soliciten nuevos permisos. También se pueden poner en este campo expresiones complejas como por ejemplo: “ProfessionalCategory.ID==432” para indicar que únicamente las personas profesionales de la categoría profesional 432 pueden solicitar ese permiso.
En la versión del flavour BOLDWP, existe un atributo en las incidencias llamado: Expr. filtro portal / App que sirve para configurar la expresión de filtro del permiso, sin tener que modificar el boldwebconfig.xml a mano. Para ello, cuando se crea cada incidencia en el boldwebconfig, debe rellenarse su MustShow con la expresión genérica siguiente:
«MustShow»: «GetEnableRequestFilter(250,ID)»
NOTA, ese 250, debe sustituirse por el ID correspondiente a la incidencia a la que se refiere (La justificada, en el caso de que haya, que es donde se configura todo lo relativo al permiso desde la app. Así sólo se debe configurar en un punto).
Un ejemplo de expresión que podría tener una incidencia en su atributo Expr. filtro portal / App, podría ser: In(GetIDConvenio(ID),»7,9″) para indicar que se trata de una incidencia que sólo pueden ver los contratos del convenio 7 y 9.
Plantilla de carga y configuración de permisos
Mediante la siguiente plantilla se pueden cargar las incidencias y calcular el texto a escribir para introducir los permisos en el portal:
Los pasos a seguir son los siguientes:
- Hoja: Ausencias: *Mantener las lineas 2, 3, 4 y 5 que son incidencias necesarias para el buen funcionamiento de Bold.
- Rellenar los campos con cabecera gris
- Nombre
- Descripción
- Código externo
- Portal: indicar SI o NO en función de si debe poderse solicitar a través del Portal del Empleado
- Grupo
- Dias_Horas: D o H en función de si la incidencia se va a asignar en días o en horas
- Resta_Disp: S o N en función de si la incidencia va a suponer una ausencia (resta disponibilidad) o no (marca) al puesto de trabajo
- Retribución
- Como_Cuenta: No cuenta, Siempre cuenta o Solo cuenta si solapa según afecte la incidencia en el contador de horas trabajadas
- Subtipo:Compensacion, Formacion, Vacaciones, Equivalente, Abono, Libranza o Absentismo
- QueColor: VERDE, ROJO, MORADO, NARANJA, GRIS o ESPECIAL
- Rellenar los campos con cabecera gris
- Hoja: Contratos:
- Revisar que las celdas de esta hoja se han calculado bien y arrastrar las fórmulas hacia abajo para completar todos los datos
- Cargar esta hoja en Bold WP: Integración / Importar contratos
- Cargamos hoja de ausencias (es importante hacerlo después de cargar los contratos): Integración / Importar incidencias
- Hoja: Máximos:
- Copiamos y pegamos todos los códigos de incidencia en la primera columna «Name»
- Introducimos la duración máxima (si la tienen)
- Introducimos la unidad en la que se cuenta la duración máxima: h o d
- Las demás columnas se calculan automáticamente, arrastrar las fórmulas para que se calculen todas
- Cargamos esta hoja mediante: Integración / Importar incidencias
- Hoja: Antelación:
- Como hemos hecho en la hoja anterior, copiamos y pegamos los códigos de ausencia
- Indicamos la antelación de petición (-7 indica que hay que pedir el permiso con una antelación de 7 días, mientras que 15 indica que puede informarse la incidencia hasta 15 días después de producirse)
- Cargamos esta hoja mediante: Integración / Importar incidencias
- Hoja: Tablas:
- Accedemos al maestro de incidencias de Bold WP para poder copiar un listado de código de ausencia y Id de las ausencias
- Pegamos (Ctrl+ V) este listado en la hoja:Tablas
- Hoja: Portal
- En esta hoja se calculará todo para que tengamos exactamente lo que hay que escribir en el BoldWebCfg
- Arrastramos las fórmulas
- Copiamos la columna «configuración»
- Ordenamos los datos por la columna GRUPO
- Pegamos en un Notepad
- Quitar la última coma (,) de la expresión copiada
- Mediante Ctrl + F en la pestaña Reemplazar introducimos:
- Buscar: \\n
- Reemplazar con: \r
- Cuando copiemos estos datos en el BoldWebCfg, no borrar nunca los permisos con nivel O
Intercambios de jornada
- DaysBetweeenInterchanges:Indica el número de días que marcamos como límite para las devoluciones en los intercambios. El valor por defecto es 60.
- UseMultipleCategoryQuery: Si vale No la lista de empleados con los que me puedo intercambiar serán solo los que tienen la misma categoría profesional. Si vale Yes la lista de personas empleadas con las que me puedo intercambiar será más amplia. Serán todas aquellas que tengan categoría profesional con alguna de las actividades asociada a la categoría profesional de la persona que solicita el intercambio.
- ReciprocalInterchange: Indica si los formularios de intercambios permiten (u obligan) especificar el día de devolución. Valores posibles: Yes, No, Optional.
- ShowAutoInterchange: Habilita la posibilidad de pedir cambios de jornada para el misma persona empleada (trasladar una jornada de trabajo a otro día. Valores posibles: Yes, No.
- PartialInterchange: Habilita la posibilidad de pedir cambios de jornada parciales. Valores posibles: Yes, No.
- PartialAutoInterchange: Habilita la posibilidad de pedir autointercambios de jornada parciales. Valores posibles: Yes, No.
- PartialReturnAutoInterchange: Habilita la posibilidad de que la franja de retorno del autointercambio sea diferente de la solicitada. Valores posibles: Yes, No
Configuración de contadores
- MustRenderCounters: Permite que se muestren o no los contadores en la impresión del PDF del calendario de la persona trabajadora. Valores posibles: Yes, No.
- CountersViewNameOnAnualCalendar: Nos muestra e imprime la vista que introducimos y que hemos creado en el Bold.
- En la sección CountersView, se pueden crear diferentes vistas y hacer que estas sean visibles en función del valor booleano que coloquemos en el campo VisiblePortal. (El contexto es el Epleado)
<CountersViews>
<View1 name="AnualCounters" showName="FAMT " visiblePortal="Mostrar_FAMT(ID)"/>
<View9 name="AnualCounters_tn" showName="Terrasanet" visiblePortal="Mostrar_Terrasanet(ID)"/>
</CountersViews>
Features
Existe un nodo especial dentro de este fichero, que indica de una forma general el comportamiento de diversas funcionalidades. Generalmente activando o desactivando parcialmente el contenido del portal.
Este nodo es una lista separada por comas. Cuando aparece un determinado nombre, se considera que ese apartado se encuentra activado.
- Limit_WebaccessByWorker Si está activado, se tendrá en cuenta el valor del atributo WebAccess para decidir qué personas empleadas tendrán acceso al portal y cuales no.
- Limit_FormsAccesByWorker Estando activado, tendrá en cuenta el atributo booleano AccesoFormularios de la ficha de la persona empleada para decidir qué trabajadores o trabajadoras podrán solicitar permisos desde el portal y cuales no.
- RedExcForms Estando activado, mostrará en el portal las opciones de solicitar reducciones y excedencias.
- PactForms Estando activado, mostrará en el portal las opciones de solicitar un cambio de servicio / turno
- VacForms Estando activado, mostrará en el portal las opciones de solicitar permisos
- InterFormsForms Estando activado, mostrará en el portal las opciones de solicitar intercambios
- ContractFormsForms Estando activado, mostrará en el portal las opciones de contratación (validar contratos, Workflow)
- Payroll Activa el menú de nóminas del portal para acceder a los documentos de retenciones, salarios, etc. (ver https://gps-plan.com/ayuda/kgps/certificados-y-recibos-parametrizacion)
- BOLDForms
- NeedBrowser
- IncidenceBrowser
- ShowCountersOnMonthPlan
- Limit_GlobalPersonSearch
- ShowInProcessForms
- Cancellations
- InterForms Variable para activar la visualización de los intercambios
- ContractForms
- Reports
- AllowanceForms
- WorkState
- PaymentForms
- ClockingsModule
Opciones de informes
- ExpressionCalendar: Sirve para activar la «cortinilla» en los planes semanal/mensual/anual. Permite decidir, a partir de un variables de empresa (Cortinilla: a partir de que día del mes se pasa a mostrar el horario real del periodo posterior y Meses_Cortinilla: cuantos meses se muestra el horario real) si se muestra el horario real o el teórico. Usa las variables FirstReportCalendar (83, BaseWorkerDetailedResult; asignación de actividades; para el horario real) y SecondReportCalendar (82; BaseWorkerSchedule; asignación horario día; para el horario teórico)
<ExpressionCalendar>ISODateAsString(IfElse(Day(Today())>= Object(1, "Company").Systemprops.Cortinilla AND SetSessionVar("EsWebSession", 1)=="",EndOfTheMonth(StartOfTheMonth(Today()) +27*(Object(1, "Company").Systemprops.Meses_Cortinilla+1) ),EndOfTheMonth(StartOfTheMonth(Today()) +27*(Object(1, "Company").Systemprops.Meses_Cortinilla) )))</ExpressionCalendar> <FirstReportCalendar>83</FirstReportCalendar> <SecondReportCalendar>82</SecondReportCalendar>
- MustRenderPrintPDF: Sirve para que aparezca el icono del pdf para poder imprimir los formularios.
<MustRenderPrintPDF> Yes|No </MustRenderPrintPDF>
- CanChangePermisosRRHH: Permite que los usuarios de RRHH puedan modificar las fechas, horas y tipos de permisos cuando están pendientes de ellos
Notificaciones de correo
- AppendMailMessage: enviar el mensaje que introducimos
<AppendMailMessage>No responder a este correo, usar el portal Bold</AppendMailMessage>
Otras variables
- ScheduleFromWorkerDetailedResultConfiguration: Configuración de resultados detallados de la persona trabajadora. Con este parámetro se pueden configurar las siguientes variables:
Type TaskType TaskID TaskDescription ScheduleName IncidenceName
- MustSendValidationMailToEmployeeOnlyWhenRRHHAccepts: