web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :

Crear Relación entre Empleado y Usuario ejecutando código X++

Juan Antonio Tomas Profile Picture Juan Antonio Tomas 236 User Group Leader

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++:

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!!

Comments

*This post is locked for comments