0

我只是想知道是否有人可以帮助我。我正在 Axapta 3.0 中设计报告并遇到问题。我在 InventTable 中有一个显示方法,它返回现有库存数量。我在报告中使用它来显示尚未售出的物品数量。现在我想将此方法添加为一个范围,因此只有该项目的数量超过手头的 5 个才应该显示。

我将不胜感激有关此的任何帮助。

问候,

4

2 回答 2

1

据我所知,您不能将方法用作范围。

Range 是数据库端的逻辑。Axapta 核心将所有范围转换为有效的 SQL 并将其传输到数据库服务器。

表方法是一种 AOS(或客户端)逻辑。它适用于 AOS 或客户端。它无法转换为 SQL 并传输到数据库服务器。

但是您可以从数据库服务器获取所有记录并在报告代码中的 AOS(或客户端)上过滤它们。只需覆盖报表上的 fetch() 或 send() 方法即可。

在这里您可以找到示例。

于 2011-06-03T17:55:05.817 回答
0

另一种不需要覆盖该方法的解决fetch方法。您可以尝试通过以下方式覆盖executeSection方法(例如 ):\Reports\YourReport\Designs\ReportDesign1\AutoDesignSpecs\Body:YourReportBody\Methods\executeSection

public void executeSection()
{
    InventQty qty = yourMethodToCalculateQty();
    ;

    if (qty > 5)
    {
        super();
    }
}

如果数量不大于 5,则将跳过该行。

于 2011-06-07T12:59:09.270 回答