需要知道如何在AX7中的SSRS报告中使用显示方法

时间:2017-06-20 11:42:03

标签: reporting-services dynamics-ax7 dynamics-365-operations

我需要知道如何在SSRS报告中使用显示方法。我有一个问题。我已经为现有表创建了扩展类。在那堂课下,我写了我的展示方法。

[SysClientCacheDataMethodAttribute(true)]
public display CustAccount CustAccount(ProdTable _prodTable)
{
   CustAccount custAccount;

   if (_prodTable.InventRefType == InventRefType::Sales)
   {
       custAccount = SalesTable::find(_prodTable.InventRefId).CustAccount;
   }

    return CustAccount; 
}

我的报告是基于查询的报告。 我能够在报告中看到显示方法,并且我已将该字段放入报表设计中。但报告没有任何价值。

请指导我这个。

1 个答案:

答案 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中使用过显示方法,但我想第一个解决方案(我所描述的)应该可行。

我希望它可以帮到你。