Dadas las múltiples dudas existentes entre estas 2 entidades en el ERP Microsoft Dynamics AX 2012 R3, vamos a intentar explicar las diferencias entre ambas entidades.
Cómo sabéis dentro del módulo de Recursos Humanos encontramos estos 3 formularios en la sección común:
En primer lugar deciros que los Trabajadores pueden ser creados con 2 tipologías, o bien que pertenezcan a la empresa y estén en nómina o bien que sea simples trabajadores externos o subcontratistas.
¿Cómo AX diferencia entre uno y otro?
Es simple para ello existe el formulario Empleado o el formulario Contratista respectivamente. Por tanto, un Empleado en AX simplemente es un tipo deTrabajador, y un Contratista será otro tipo de Trabajador para el sistema.
Obviamente, si el Contratista no pertenece a la empresa no tiene sentido que tengamos funcionalidad asociada para configurar nada relacionado con la Nómina, con esto quiero decir que todo lo relacionado en el módulo de Recursos Humanos de AX 2012 denominado Nómina no aparecerá para contratistas.
¿Pero qué sucede entre Trabajador y Empleado?
La respuesta es muy sencilla, cuando accedáis al módulo de Empleados y hagáis doble click sobre uno de ellos, mirar el formulario que se abre.
¡Sorpresa! Vuelve a ser el formulario de Trabajador.
Ni existe diferencias que si uno pertenece a todas las empresas y otro no, ni nada similar, puesto que si quieres que un trabajador pueda operar en más de una empresa (por ejemplo esto es muy útil para que un empleadocontratado en una empresa pueda crear solicitudes de compra para otras distintas) será tan sencillo cómo acceder a su ficha (da igual si vas porempleado o trabajador, vas a llegar al mismo sitio a Trabajador), secciónEmpleo y pinchar en Nuevo para asignarle otra empresa. Con esta configuración el empleado/trabajador podrá crear solicitudes de compra para más de una entidad jurídica.
Por defecto cuando se crea en AX un trabajador el sistema lo predetermina como empleado. La lógica interna de AX es almacenar todo en una misma tabla denominada HcmEmployment en donde hay funciones del tipoisContractor() o isWorker() en otra tabla HcmWorker para identificar si es de un tipo o de otro.
¿Entonces cuál es la diferencia entre uno y otro?
Ninguna, solo hay diferencia entre Trabajador y Contratista, pero unEmpleado a todos los efectos se comporta como un Trabajador.
¿Por qué se creó así el modelo de datos?
Para tener un formulario global en donde encontrar a los empleados de la empresa y a los contratistas denominado Trabajadores y luego poder disgregar información en 2 formularios distintos. Pensar que la información de los empleados siempre puede ser más sensible a efectos de la protección de datos y seguridad que la de los contratistas y de esta manera será más sencillo poder configurar mejor los accesos en el sistema.