Methods Axapta:验证对显示方法返回值的访问

Methods Axapta:验证对显示方法返回值的访问,methods,axapta,x++,dynamics-ax-2009,Methods,Axapta,X++,Dynamics Ax 2009,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.Style

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;
}
我假设它希望我在返回结果之前检查配置或安全密钥。关于从哪里开始,有什么建议/例子吗


谢谢

< p>这是一个提醒,你需要考虑用户是否应该访问从函数返回的数据。对于表字段,内核通常根据用户所在的安全组和字段上设置的安全密钥为您执行此操作

要检查用户是否具有字段访问权限,请使用
hasFieldAccess
功能。要了解这是如何使用的,请查看表方法BankAccountStatement.openingBalance()或CustTable.OpenInvoiceBalanceList()。还有其他帮助程序功能来检查安全密钥,例如
hasmenuiteaccess
hasSecuritykeyAccess
,以及
hasTableAccess

在您的情况下,添加以下代码:

if(!hasFieldAccess(tablenum(ABC_Styles),fieldnum(ABC_Styles,StyleName)))
{
    throw error("@SYS57330");
}
即使在添加代码之后,仍然会出现最佳实践错误。要告诉编译器您已经解决了这个问题,您需要在函数声明之前立即添加以下注释:

//BP Deviation Documented

我在几个问题上看到了你的名字。谢谢你花时间帮助新来的家伙。从.NET到X++的过渡是一个痛苦的过程,但我正在努力