3

Dynamics AX 2009のベストプラクティスアドインは、表示メソッドのオーバーライドで次のエラーをスローします。

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

これが私の表示方法です。

display ABC_StyleName lookupModuleName(ABC_StyleSettings _ABC_StyleSettings)
{
    ;
return ABC_Styles::find(_ABC_StyleSettings.StyleID).StyleName;
}

結果を返す前に、構成キーまたはセキュリティキーを確認する必要があると想定しています。どこから始めるべきかについての提案/例はありますか?

ありがとう

4

1 に答える 1

5

これは、関数から返すデータにユーザーがアクセスできるかどうかを検討する必要があることを思い出させるものです。テーブルフィールドの場合、カーネルは通常、ユーザーが所属するセキュリティグループとフィールドに設定されたセキュリティキーに基づいてこれを行います。

ユーザーがフィールドにアクセスできるかどうかを確認するには、hasFieldAccess関数を使用します。これがどのように使用されるかを確認するには、テーブルメソッドBankAccountStatement.openingBalance()またはを見てくださいCustTable.openInvoiceBalanceMST()。、、、などのセキュリティキーをチェックする他のヘルパー関数がhasMenuItemAccessありhasSecuritykeyAccessますhasTableAccess

あなたの場合、このコードを追加します:

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

そのコードを追加した後でも、ベストプラクティスエラーが発生します。問題に対処したことをコンパイラに伝えるには、関数宣言の直前に次のコメントを追加する必要があります。

//BP Deviation Documented
于 2009-12-02T22:21:59.910 に答える