我需要知道如何在SSRS报告中使用显示方法。我有一个问题。我已经为现有表创建了扩展类。在那堂课下,我写了我的展示方法。
[SysClientCacheDataMethodAttribute(true)]
public display CustAccount CustAccount(ProdTable _prodTable)
{
CustAccount custAccount;
if (_prodTable.InventRefType == InventRefType::Sales)
{
custAccount = SalesTable::find(_prodTable.InventRefId).CustAccount;
}
return CustAccount;
}
我的报告是基于查询的报告。 我能够在报告中看到显示方法,并且我已将该字段放入报表设计中。但报告没有任何价值。
请指导我这个。
答案 0 :(得分:0)
如果要向表中添加display
方法,则表明您的方法没有正确的签名。
如果您想使用ExtensionOf属性,则代码应为:
[ExtensionOf(tableStr(ProdTable))]
public final class ProdTable_Extension
{
[SysClientCacheDataMethodAttribute(true)]
public display CustAccount custAccount()
{
CustAccount custAccount;
if (this.InventRefType == InventRefType::Sales)
{
custAccount = SalesTable::find(this.InventRefId).CustAccount;
}
return CustAccount;
}
}
或者您可以使用static display method - 通常用于表单中绑定的显示方法 - 您的代码应该是:
public static class ProdTable_Extension
{
[SysClientCacheDataMethodAttribute(true)]
public static display CustAccount custAccount(ProdTable _this)
{
CustAccount custAccount;
if (_this.InventRefType == InventRefType::Sales)
{
custAccount = SalesTable::find(_this.InventRefId).CustAccount;
}
return CustAccount;
}
}
您使用了它们的混合物,我不确定它是否可行。就个人而言,我从未在SSRS for AX 365中使用过显示方法,但我想第一个解决方案(我所描述的)应该可行。
我希望它可以帮到你。