Ayuda sobre productos BOLD:

Esquema de la base de datos

Página:
< Volver

Cada objeto o entidad en BOLD está asociado a una tabla principal. Por ejemplo la tabla principal de los objetos de tipo empleado/a es WPWORKER_TB. Las tablas principales comparten una serie de Columnas generales.

Lista de tablas principales

  • WPWORKER_TB: objetos ficha de empleado/a. El campo PERIODLIST contiene la lista de absentismos y permisos de la persona empleada. Su impacto real sobre los horarios dependerá del contenido del campo WPASSIGNEDSEQSCH_TB.ACTIVITYSCH (actividades programadas de cada ciclo).
  • WPCONTRACTWORKER_TB: objetos contrato (plantillas, administrativos, alteraciones y pactos)
  • WPXMLFORM_TB: objetos de tipo formulario.
  • WPDEMAND_TB: objetos centro de coste o servicios/unidades funcionales
  • WPNEED_TB: define las necesidades y/o puestos de trabajo
  • ATRIBSCLASIF_TB: jerarquías definidas (organizativa, ….)
  • WPSCHEDULE_TB: horarios-día
  • WPSEQUENCESCHEDULE_TB: ciclos o secuencias de horarios (semanal, quincenal, etc…)
  • WPACTIVITY_TB: actividades y competencias
  • WPCATEGORY_TB: categorías profesiones
  • WPACTIVITY_CATEGORIES_TB: relación prioridades actividad –> categoría
  • WPCATEGORY_ACTIVITIES_TB: relación prioridades categorías –> actividad (competencias)
  • WPCASEGLOBAL_TB] / WPPLAN_TB: tablas de persistencia de los objetos de planificación
  • WPASSIGNEDSEQSCH_TB: contiene los ciclos horarios con la información planificada (campo codificado ACTIVITYSCH)
  • WP_OBJECTVERSIONS_TB: cada vez que se modifica un objeto se almacena la versión anterior en esta tabla del mismo, en formato más compacto (comprimido o XML). Esta tabla permite mantener un control de versiones real de todos los objetos del sistema.

Formularios de permisos

La tabla base es WPXMLFORM_TB. Cada registro se corresponde con un formulario. La columna CustomProps contiene un documento XML los campos de cada formulario. En Formato XML para formularios de permisos se encuentra una descripción detallada del significado de cada campo.

Vistas predefinidas:

VIEW_WPXMLFORM_TB_CLASSSUBTYPE5

CREATE VIEW VIEW_WPXMLFORM_TB_CLASSSUBTYPE5
AS  SELECT *, 
   CustomProps.value('(/M32Permisos/SubType/@value)[1]', 'int') as SubType,
   CustomProps.value('(/M32Permisos/StatusForm/@value)[1]', 'int') as StatusForm,
   CustomProps.value('(/M32Permisos/M32DatosEmpleado/IdArea1/@value)[1]', 'int') as IdArea1,
   CustomProps.value('(/M32Permisos/M32DatosEmpleado/IdArea2/@value)[1]', 'int') as IdArea2,
   CustomProps.value('(/M32Permisos/M32DatosPermiso/IncidenceID/@value)[1]', 'int') as IncidenceID,
   CustomProps.value('(/M32Permisos/M32DatosPermiso/IncidenceJustifiedID/@value)[1]', 'int') as IncidenceJustifiedID,
   CustomProps.value('(/M32Permisos/LicenseJustified/@value)[1]', 'nvarchar(max)') as LicenseJustified,
   CustomProps.value('(/M32Permisos/M32DatosEmpleado/IdWorker/@value)[1]', 'int') as IdWorker,
   CustomProps.value('(/M32Permisos/Mode/@value)[1]', 'nvarchar(max)') as Mode,
   CustomProps.value('(/M32Permisos/Duration/@value)[1]', 'int') as Duration,
   CustomProps.value('(/M32Permisos/SimpleStatusForm/@value)[1]', 'int') as SimpleStatusForm,
   CustomProps.value('(/M32Permisos/ResponseAlert/@value)[1]', 'int') as ResponseAlert,
   CustomProps.value('(/M32Permisos/EmployeeID/@value)[1]', 'int') as EmployeeID,
   CONVERT(datetime, LEFT(CustomProps.value('(/M32Permisos/M32DatosPermiso/Inicio/@value)[1]', 'nvarchar(max)'),10), 21) as Inicio,
   CONVERT(datetime, LEFT(CustomProps.value('(/M32Permisos/M32DatosPermiso/Fin/@value)[1]', 'nvarchar(max)'),10), 21) as Fin
   FROM WPXMLFORM_TB
   WHERE classsubtype = 5 and activo = 1

La consulta anterior define una vista sobre los formularios de peticiones activas (no eliminadas), publicando los campos principales de cada formulario.

Campos XML y campos comprimidos

Algunas tablas de la base de datos contienen la información en un formato codificado (campos IMAGE). El motivo original es debido a que suelen ocupar mucho espacio y con este formato las manipulaciones desde la aplicación eran más ágiles. Por otro lado, sin embargo, tiene el inconveniente de que resulta más complicado manipular estos campos directamente desde una sentencia SQL. Por ejemplo los campos WPWORKER_TB.PERIODLIST (lista de incidencias del empleado o empleada) y WPASSIGNEDSEQSCH_TB.ACTIVITYSCH (lista de actividades asignadas en un ciclo horario del plan) son las más significativas.

En el artículo Acceso a campos codificados en la BD se dan varias opciones para acceder a dicha información desde el exterior.

Consultas SQL frecuentes

  • Ciclos (Horarios semanales)

select id, nombre, * from WPSEQUENCESCHEDULE_TB where activo=1 and generationmode=4

  • Nombre y descripcion del horario del contrato activo

select W.ID, W.nombre, w.fullname, cw.id, cw.nombre, cw.cycleref, S.nombre, S.descripcion from wpworker_tb W left join wpcontractworker_tb CW on cw.ID_WPWORKER = W.ID and STARTCONTRACT < getdate() and endcontract +1 > getdate() left join WPSEQUENCESCHEDULE_TB S on S.ID = cw.cycleref and w.activo=1 and cw.activo=1

Was this article helpful?
0 out Of 5 Stars
5 Estrellas 0%
4 Estrellas 0%
3 Estrellas 0%
2 Estrellas 0%
1 Estrellas 0%
5
How can we improve this article?
How Can We Improve This Article?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Contenido