Cumulative Update 9 para Microsoft Dynamics AX 2012 R2 y Windows 10

Microsoft Dynamics

Ya está disponible la siguiente actualización acumulativa para Microsoft Dynamics AX 2012 R2, que será la CU9 (6.2.3000.110) siguiendo el orden de numeración acostumbrado. Ver todos los números de versión y KB aquí. Se puede descargar con el login apropiado en PartnerSource, CustomerSource y LCS.

Los enlaces de la actualización son:

También se publicaba hace unos días confirmación sobre la compatibilidad de AX 2012 R2 CU8 y siguientes con Windows 10. La compatibilidad de AX 2012 R3 se confirmará en los próximos días.

Como siempre se pueden comprobar todas estas certificaciones en el documento Microsoft Dynamics AX 2012 System Requirements que Microsoft mantiene permanentemente actualizado.

 

[HOWTO] Impersonar otro usuario para ejecutar código en X++

A pesar de que esto no es habitual y va contra unas cuentas Best Practices, en algunos casos muy específicos podemos necesitar ejecutar un framento de X++ (una llamada a un método) en el contexto de un usuario que no es el que está ejecutando la sesión actual, ya sea una sesión de cliente o un proceso Batch. Para ejecutar una llamada a un método con un usuario concreto, usamos este código:

// ...

// Usuario que va a ejecutar el método
UserId postingUserId = parms.PostingUserId != '' ? parms.PostingUserId : curUserId();

new RunAsPermission(postingUserId).assert();

// Llamada a: MyClass.myClassMethod(methodParm1, methodParm2)

// BP Deviation Documented
runAs(postingUserId, classNum(MyClass), 'myClassMethod', [methodParm1, methodParm2]);

CodeAccessPermission::revertAssert();

// ...

Insisto en que esto no es habitual y tiene, como siempre que hacemos estas cosas, algunos riesgos de seguridad. Pero dejo aquí el código para buscarlo la próxima vez que lo necesite 😉