Como todos sabemos, cuando estamos trabajando con Microsoft Dynamics AX, necesitamos tener nuestro usuario relacionado con un empleado del sistema, por ejemplo, para trabajar con Workflows de aprobaciones entre otras tareas. Para realizar esta tarea bastaría con acceder a Administración del sistema / Común / Usuarios / Usuarios.
Una vez dentro de este formulario, bastaría con seleccionar el usuario que queremos relacionar con su empleado, y pulsar en el botón Relaciones. De esta forma, podremos seleccionar el empleado en cuestión y asociarlo al usuario.
Como veis, es una tarea bastante sencilla de realizar, siempre y cuando tengamos los permisos necesarios para ello, pero… ¿Qué ocurre si, por ejemplo, estamos realizando una importación de empleados y queremos generar dichas relaciones desde X++ directamente?
Pues este es el objetivo del post, aparte de tenerlo guardado a modo de bitácora para cuando necesite de nuevo este fragmento de código.
Para realizar esta asignación entre empleado o trabajador con usuario, únicamente necesitaremos ejecutar el siguiente bloque de código X++:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
public void insertUserRelation(DirPerson _dirPerson, UserId _userId) { DirPersonUser dirPersonUser; UserInfo userInfo; userInfo = xUserInfo::find(false, _userId); if (userInfo.RecId) { dirPersonUser.clear(); dirPersonUser.initValue(); dirPersonUser.PersonParty = _dirPerson.RecId; dirPersonUser.User = _userId; dirPersonUser.ValidFrom = DateTimeUtil::getSystemDateTime(); dirPersonUser.ValidTo = DateTimeUtil::maxValue(); if (dirPersonUser.validateWrite()) dirPersonUser.insert(); else throw Exception::Error; } else { throw error(strFmt("The User '%1' does not exist in the system", _userId)); } } |
Pues nada, hasta aquí este artículo/bitácora sobre la relación entre empleado y usuario. Espero que os pueda ser útil.
Saludos y happy DAXing!!