Ayuda sobre productos BOLD:
Contrato
Un contrato representa el acuerdo entre una persona empleada y una empresa , para realizar una actividad en el ámbito de una unidad funcional (área de planificación), bajo unas determinadas restricciones definidas en un convenio, entre ellas el horario a realizar, el máximo de horas (anuales o semanales), los días de vacaciones, etc.
Existen diversos tipos de contrato en WorkPlanner:
- Contrato modelo: Es un objeto que permite definir características comunes a diversos contratos. Puede usarse para agrupar los contratos de acuerdo a su «motivo de alta» (reducción, excedencia, IT, maternidad, jubilación, pendiente de convocatoria, obra y servicio, etc). También puede usarse para identificar el tipo legal del contrato (100, 200, 420, 540, etc).
- Contrato administrativo: Es un objeto que permite representar las condiciones contractuales desde el punto de vista de la planificación (horario, porcentaje de jornada, ubicación, etc).
- Contrato alteración: Es un objeto que representa las variaciones del contrato que no conllevan la definición de un nuevo contrato administrativo, como por ejemplo un cambio de horario, un cambio de ubicación, una ampliación del porcentaje de jornada (en este caso implica notificación a la Seguridad Social en los plazos que haya acordado con la empresa).
Propiedades
Un contrato contiene como cualquier otro objeto los atributos básicos. Además cuenta con algunas propiedades específicas:
- General
- Código:
- Inicio contrato: Fecha de inicio de validez del contrato; si se trata del primer tramo coincide con la fecha de inicio del contrato administrativo.
- Fin contrato: Fecha de fin de validez del contrato; si se trata del último tramo debe coincidir con la fecha de fin del contrato administrativo.
- Estado: Indica el estado administrativo en el que se encuentra el contrato. Por ejemplo en estado Solicitud sería una propuesta de contratación, en estado Firmado RRHH sería un contrato formalizado por todas las partes.
- Empresa: Empresa asignada al contrato.
- Horas anuales: Horas de contrato por año y jornada 100%; habitualmente se infieren del Convenio asociado a dicho contrato.
- % Jornada anual: Porcentaje de jornada anual; combinado con las horas anuales de convenio se puede calcular por cuantas horas anuales está contratada.
- Vacaciones: Derecho de vacaciones anuales según el convenio y jornada 100%; puede definirse en días u horas, en naturales o laborables.
- Libre disponibilidad: Días de libre disposición o asuntos propios; en algún caso se pueden disfrutar en horas.
- Calendario: Calendario de disponibilidad del contrato, asociado a un calendario de festivos; se indica sobre todo si trabaja los festivos que coincidan con su horario habitual.
- Empleado: El campo indica la ficha de la persona empleada sujeta del contrato.
- Sustituye a: El campo (opcional) indica a quien sustituye el Empleado en el ámbito del contrato
- Incidencia: El campo (opcional) indica la ausencia que origina la suplencia.
- Fin C. Admin.: Fecha fin del contrato administrativo asociado.
- Planificación
- Necesidad preferente: La necesidad principal que la persona empleada debe cubrir en el ámbito del contrato. El campo puede estar vacío en los casos en los que la persona empleada esté contratada para cubrir déficits diversos.
- Área de planificación: La unidad funcional en la que debe desempeñar sus funciones; lo habitual es que coincida con el área de planificación de la necesidad preferente del contrato.
- Categoría profesional: La categoría bajo la cual realizará su trabajo; entre la lista de actividades de dicha categoría debe estar la actividad de la necesidad preferente del contrato.
- Horario asignado: Permite indicar el horario del contrato (obsoleto)
- Horarios jornada: Permite definir el conjunto de horarios jornada válidos.
- Horarios semanales: Permite definir el conjunto de horarios semanales válidos.
- Cto. preferente de áreas: Permite definir la «movilidad» del contrato en diversas áreas de planificación
- Necesidad pref. 2: Permite definir una necesidad secundaria en la que realizar la actividad.
- Necesidad pref. 3: Permite definir una necesidad terciaria en la que realizar la actividad.
- Ciclo asignado: El horario a aplicar; si no sigue ningún horario regular debe indicar el horario CICLO NULO (horario semanal sin ningún turno).
- Posición de inicio de ciclo: Indica en qué semana del ciclo asignado estaría la persona empleada si trabaja el día de arranque de su calendario de disponibilidad. Para corregir esta posición ver Corregir el inicio de rotación de un ciclo.
- Tipo Ciclo: Indica el tipo de ciclo; se recomienda «H. Referencia».
- Horario de guardia: El horario a aplicar para realizar guardias
- Posición de inicio del ciclo de guardia: En qué semana del ciclo de guardia estaría la persona empleada si trabaja el día de arranque de su calendario de disponibilidad.
- Necesidad de guardia: Permite definir una necesidad, para indicar el punto de guardia que cubre la persona empleada en el ámbito del contrato.
- Restricciones
- Restricciones jornada
- Min horas diarias: Valor mínimo de horas en jornada
- Max horas diarias: Valor máximo de horas en jornada
- Min horas consecutivas: Valor máximo de horas consecutivas en jornada
- Max horas consecutivas: Valor máximo de horas consecutivas en jornada
- Min horas bloque: Valor mínimo de horas consecutivas del bloque mayor de trabajo en jornada.
- Descanso diario: Número de horas entre el final del horario de una jornada y el inicio del siguiente,
- Descanso diario especial: Número de horas de descanso en días especiales (cambio, ampliación, etc)
- Restricciones periodos
- Nº min días: Mínimo número de jornadas con horario.
- Nº max días: Máximo número de jornadas con horario.
- Min duración: Mínimo número de horas del periodo
- Max duración: Máximo número de horas del periodo
- Restricciones jornada
- Propiedades
- Estado actividad: Estado de actividad del objeto; puede ser Activo, Inactivo o Eliminado.
- Es modelo: Indica si se trata de una plantilla o contrato modelo
- Código externo: Permite incorporar el código del contrato tal como se identifica en un sistema externo
- Descripción: Permite informar de una descripción del contrato.
- Fecha de cambio: Muestra la fecha de último cambio del contrato.
- Fecha de alta: Fecha de alta del contrato
- Control: Es una propiedad de los objetos principales Empleado y Contrato. Esta propiedad permite controlar quién tiene permiso para efectuar modificaciones sobre esos objetos.
- Convenio: Identifica el convenio asociado al contrato.
- T. Vacaciones: Indica como se definen las vacaciones, en días naturales o en días laborables.
- Vacaciones en: Indica si las vacaciones se definen en días o en horas.
- Vac. pagadas: Vacaciones a abonar (en lugar de disfrutar)
- Voluntario: Indica si la persona empleada es voluntaria a cambios de horario.
- Cjto. de demandas: Permite limitar la planificación del contrato a un subconjunto de demandas (centros de coste).
- Cálculo horas extra: Indica de dónde obtener el límite de jornada para calcular las horas extra, a nivel Empresa, Contrato, Horario
- Límite jornada: Duración máxima de la jornada sin horas extra
- Coste: Coste horario del contrato
- Es Titular: Indica si la persona empleada es titular de la plaza que ocupa (campo calculado)
- Inicio ciclo: Fecha de inicio del ciclo del contrato (campo calculado).
- Modificable: Indica si es posible modificar el horario en los procesos de planificación y optimización.
- Grupo vacacional: Identifica el grupo vacacional al que pertenece la persona empleada.
- Evaluación: Parámetro de evaluación/valoración del contrato.
- C. Admin.: Acceso al contrato administrativo asociado (si tiene)
- Instante Final: Fecha y hora fin del último día del contrato en base al horario del mismo.
- Instante Final Admin.: Fecha y hora fin del último día del contrato administrativo en base al horario del mismo.
- Código de pacto: El código que identifica el pacto/rueda; suele ser la concatenación del código de la persona empleada y la fecha de inicio del pacto/rueda.
- Motivo de pacto: El motivo que origina el pacto/rueda; suele ser una Incidencia, aunque a veces puede ser por Vacante.
- Empleado motivo del pacto: La persona empleada que origina el pacto/rueda
- Inicio ciclo guardia: Fecha de inicio del ciclo de guardia (campo calculado)
- Horas de guardia anuales: Valor máximo de horas anuales de guardia
- Centro de coste adm.:
- Centro de coste std.: Es un campo de sólo lectura que te informa del centro de coste estándar para ese contrato. Si el campo CECO está rellenado, devuelve CECO, si no está rellenado, devuelve la «demanda» de la necesidad preferente (si no tiene, de la necesidad secundaria, y de la terciaria o de la de guardia). En caso de no poder extraer un centro de coste de ninguna de las anteriores opciones, devuelve el centro de coste estándar (resultado de la query:GetCentroCosteStd)
- Propiedades del sistema: Se definen aquí las más habituales
- Reglas de contaje: El campo permite indicar que reglas de contaje.
- Reglas de contaje aplicadas: Permite indicar las reglas de contaje aplicadas.
- Centro: Centro asociado al contrato (centro al que pertenece el área del contrato o la misma área del contrato en caso de no tener centro).
Asignación predefinida a una necesidad en días alternos
Existe la posibilidad de definir características del contrato que parametrizan la asignación automática de turnos (planificación). Estas propiedades deben definirse bajo el catálogo de propiedades del sistema (SystemProps) en la sección del fichero de configuración QueryCustom.
Las propiedades ScheduleRefByPrefNeed, ScheduleRefBySecondPrefNeed, ScheduleRefByThirdPrefNeed y ScheduleRefByDutyPrefNeed permiten condicionar la asignación de las necesidades preferentes del contrato según los ciclos asociados a dichas propiedades, de manera que a la hora de asignar la necesidad preferente 1 la asignación a ésta por parte de la persona empleada se limitará, en primera instancia, al solape entre:
- la definición de la necesidad.
- la definición del ciclo horario del contrato (cycleref)
- la definición del ciclo horario asociado a la necesidad en el contrato (ScheduleRefByPrefNeed).
y así para todas ellas. Si estos ciclos asociados a cada una de las necesidades preferentes del contrato no son excluyentes (solapan entre si) la asignación resultante será, con mayor probabilidad, la necesidad definida con menor índice.
Estas nuevas propiedades deberían facilitar problemas como el que se detalla a continuación. Supongamos que la necesidad pref 1 y la necesidad pref 2 tienen una definición identica de L-V de 8-19, y el ciclo del contrato es de una L-V 8-15, y lo que deseamos prefijar es la asignación de LXV a la necesidad 1 y MJ a la necesidad 2. Para ello asignaremos el ciclo LXV 8-15 a la propiedad ScheduleRefByPrefNeed y MJ 8-15 a ScheduleRefBySecondPrefNeed.
<DynamicClass Name="SpecialScheduleByPreferentNeed" ShowName="SpecialScheduleByPreferentNeed" Descripcion="Asignación predefinida a una necesidad por días alternos">
<Attribute Type="refObj" Name="ScheduleRefByPrefNeed" ShowName="Horario Need 1" Description="Horario de la need 1" RefClass="SequenceSchedule" CategoryID="0"/>
<Attribute Type="refObj" Name="ScheduleRefBySecondPrefNeed" ShowName="Horario Need2" Description="Horario de la need 2" RefClass="SequenceSchedule" CategoryID="0"/>
<Attribute Type="refObj" Name="ScheduleRefByThirdPrefNeed" ShowName="Horario Need3" Description="Horario de la need 3" RefClass="SequenceSchedule" CategoryID="0"/>
<Attribute Type="refObj" Name="ScheduleRefByDutyPrefNeed" ShowName="Horario Need4" Description="Horario de la need 4" RefClass="SequenceSchedule" CategoryID="0"/>
</DynamicClass>
<DynamicClass Name="ContractWorkerDyn" ShowName="Propiedades de sistema" Description="Propiedades dinámicas de la clase contrato" AllowOverride="true">
<Attribute Type="string" Name="PreferentShif" ShowName="Franja preferente" Description="Permite definir la franja temporal diaria donde es posible trabajar" Default=""/>
<Attribute Type="string" Name="AvailibilityShift" ShowName="Franja disponibilidad" Description="Permite definir la franja temporal diaria de disponibilidad en la que trabajar" Default=""/>
<Attribute Type="string" Name="PreferentPermission" ShowName="Dias de libranza" Description="Permite definir los dias de la semana en que libra de forma preferente" Default="0000000"/>
<Attribute Type="boldProperty" Name="DefaultMaxLoadWeek" ShowName="Carga semanal std." Description="Carga semanal estandar" Default="40 h"/>
<Attribute Type="int" Name="DefaultMaxWorkingDaysByWeek" ShowName="Días de trabajo por semana std." Description="Dias laborables por semana" Default="5"/>
<Attribute Type="automat" RefClass="SpecialScheduleByPreferentNeed" Name="SpecialScheduleByPreferentNeed" ShowName="Horarios por necesidad" Description="Asignación predefinida a una necesidad por días alternos"/>
</DynamicClass>
Asignación a necesidades preferentes por código externo
Existe la posibilidad de definir que la asignación a necesidades preferentes se haga por código externo. Esta configuración se realiza a nivel de servidor activando la variable UseExtCodeAsPreferent en la sección Plan del fichero de configuración WPServerCfg.ini y de facto permite que un contrato vea una lista de necesidades en vez de contemplar como preferente la asignada.
Si se desea un comportamiento singular para alguno/s contrato/s, significando que para ellos las necesidades preferentes son únicamente las asignadas y no las que compartan código externo, puede definirse a nivel de la propiedades dinámicas del sistema, una variable booleana de nombre PreferentNeedByCodExt, e inicializarlas a FALSE para los contratos deseados.
Modo de configuración para activar la asignación a necesidades preferentes por código externo :
1- Activar esta funcionalidad desde el planner config.
2- Todas las necesidades que se vayan a agrupar, hay que informarles en el campo “código externo“ con el mismo valor (el nombre común del conjunto agrupador), por ejemplo 1000.
3- Hay que activar el campo “Necesidades por agrupador“ que está en las propiedades del contrato para así activar la funcionalidad (en caso de que exista este campo, ya que no aparece en todos los clientes):
Planificación especial de trabajo en festivos
Existe la posibilidad de definir en el contrato qué festivos inferidos del calendario debe trabajar y cuál es el horario jornada asignado en esas fechas. La configuración de esta funcionalidad se basa en cuatro parámetros:
- Patrón: Se define a partir de una cadena de caracteres 1 ó 0. Por ejemplo 100 indica que la persona empleada trabajará uno de cada 3 festivos.
- Horario: El horario jornada que se aplicará en los festivos de la rotación.
- Calendario: El calendario de festivos que se usará en la rotación.
La activación de esta funcionalidad requiere añadir como propiedad dinámica del contrato (ContractWorkerDyn) el atributo siguiente:
<DynamicClass Name="WorkOnHolidayPattern" ShowName="Propiedades de la clase WorkOnHolidayPattern" Description="Propiedades de la clase WorkOnHolidayPattern" AllowOverride="true">
<Attribute Type="string" Name="Pattern" ShowName="Patrón" Description="Define el patrón de trabajo Ej. 1011 indica que trabaja el 1o, 3er y 4o festivo en base al calendaior de festivos definidos" Default=""/>
<Attribute Type="refObj" Name="IdHolidaySchedule" ShowName="Horario asignado en festivo" Description="Referencia al horario asignado en festivos." RefClass="Schedule" />
<Attribute Type="refObj" Name="IdHolidayCalendar" ShowName="Calendario de festivos" Description="Referencia al calendario de festivos." RefClass="WPCalendar" />
</DynamicClass>
<DynamicClass Name="ContractWorkerDyn" ShowName="Propiedades de sistema" Description="Propiedades dinámicas de la clase contrato" AllowOverride="true">
<Attribute Type="automat" RefClass="WorkOnHolidayPattern" Name="NewWorkOnHolidayPattern1" ShowName="Planificación en festivos" Description="Planificación en festivos" Default="true"/>
<Attribute Type="automat" RefClass="WorkOnHolidayPattern" Name="NewWorkOnHolidayPattern2" ShowName="Planificación en festivos" Description="Planificación en festivos" Default="true"/>
</DynamicClass>
Es factible definir tantos pares calendario, horario jornada como se necesite.
La regla a considerar es que los nombres de los atributos se inicien con el literal «NewWorkOnHolidayPattern» seguidos de un ordinal, comenzando desde 1.
Es importante remarcar que esta configuración se basa en los días identificados como festivos en los calendarios asignados en esta clase, sin que ello implique que esos días se consideren festivos en el contexto del contrato.
Notas:
– Revisa la configuración del algoritmo de asignación de horarios donde el parámetro de Generar Horarios esté a true.
– Si por modelo se definen 3 grupos de turnos-calendarios, pero para algún contrato solo necesitas 1, deja el patrón en blanco; no elimines solo la referencia al calendario ya que daría error al planificar («acceso a SmartID 0»).
Muy bueno! Me ha servido para configurar la asignación a necesidades preferentes por código externo