Dynamics AX 2012 : Error executing code SysSecurityRecorder

Lors de la copie d'un environnement de PROD vers TEST, les utilisateurs obtenaient le message d'erreur suivant lors de l'ouverture d'un menu:

Error executing code: SysSecurityRecorder_1CC4B7A8D53 object does not have method 'MenuItemInvoked'


Le problème est causé par la raison suivante: les utilisateurs de mon environnement TEST utilisent Task Recorder, mais ils n'utilisent pas cette fonction dans l'environnement de production. Lors de la première exécution du Task Recorder dans l'environnement de TEST, une classe est créée dans l'AOT. Cette classe est ensuite utilisée par Security Developpement Tool et l'objet est mis dans la cache locale. Donc, je me retrouve avec un objet dans ma cache locale de mon environnement TEST qui n'existe pas dans mon environnement de Production.

Suite à la copie des bases de données de production vers  l"environnement de test, AX appelle la méthode qui se trouve dans sa cache locale, mais qui n'est pas dans la base de données, donc une erreur est lancée.

Cette erreur peut se produire dans d'autres scénarios.

Pour corriger le problème, vous pouvez supprimer la cache locale sur chaque machine, ou encore mieux, changer le GUID de l'environnement en utilisant la requête suivante:

UPDATE SYSSQMSETTINGS SET GLOBALGUID = '{00000000-0000-0000-0000-000000000000}'
Previous
« Prev Post