2009-12-02 15 views
3

Le complément des meilleures pratiques de Dynamics AX 2009 renvoie l'erreur suivante sur un remplacement de méthode d'affichage.Axapta: Valider l'accès pour renvoyer la valeur à partir de la méthode d'affichage

"TwC: Validate access to return value from the display/edit method." 

Voici ma méthode d'affichage. Je suppose qu'il veut que je vérifie une clé de configuration ou de sécurité avant de retourner un résultat. Des suggestions/exemples sur où commencer?

Merci

Répondre

5

Ceci est un rappel que vous devez examiner si l'utilisateur doit avoir accès aux données que vous revenez de la fonction. Pour les champs de table, le noyau le fait normalement pour vous en fonction des groupes de sécurité dans lesquels se trouve l'utilisateur et des clés de sécurité définies dans les champs.

Pour vérifier si un utilisateur a accès à un champ, utilisez la fonction hasFieldAccess. Pour voir comment cela est utilisé, regardez les méthodes de la table BankAccountStatement.openingBalance() ou CustTable.openInvoiceBalanceMST(). Il existe d'autres fonctions d'assistance pour vérifier les clés de sécurité telles que hasMenuItemAccess, hasSecuritykeyAccess et hasTableAccess.

Dans votre cas, ajoutez ce code:

if(!hasFieldAccess(tablenum(ABC_Styles),fieldnum(ABC_Styles,StyleName))) 
{ 
    throw error("@SYS57330"); 
} 

Même après avoir ajouté ce code, vous obtiendrez toujours l'erreur Best Practice. Pour indiquer au compilateur que vous avez résolu le problème, vous devez ajouter le commentaire suivant immédiatement avant la déclaration de la fonction:

//BP Deviation Documented 
+1

J'ai vu votre nom sur quelques-unes de mes questions. Merci d'avoir pris le temps d'aider le nouveau venu. Ce fut une transition douloureuse de .NET à X ++, mais j'y arrive. ;) – Brad