如何仅在其中一个发票行的采购登记报告中显示发票结算金额?

时间:2015-03-10 03:19:48

标签: axapta dynamics-ax-2009

在购买登记报告中,我显示所有发票行。

我添加了一个名为Roundoff的列(发票四舍五入金额)。此列基于显示方法。目前,每个发票行都会显示舍入金额:

VocherId    InvoiceID  ItemCode  Roundoff TotValue 
VC-00001    INV-001    ITM-001   0.50     120.50 
VC-00001    INV-001    ITM-002   0.50     146.00 
VC-00001    INV-001    ITM-003   0.50     221.00 
VC-00002    INV-002    ITM-002   0.25     175.75 
VC-00002    INV-002    ITM-003   0.25     167.00 

但它只应显示在其中一个发票行中:

VocherId   Invoice ID  ItemCode Roundoff TotValue
VC-00001   INV-001     ITM-001  0.50     120.50
VC-00001   INV-001     ITM-002  0.00     146.00
VC-00001   INV-001     ITM-003  0.00     221.00
VC-00002   INV-002     ITM-002  0.25     175.75
VC-00002   INV-002     ITM-003  0.00     167.00

如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

将变量添加到报告classDeclaration

real roundOff; 
VendInvoiceAccount currentInvoiceId;

将显示方法添加到舍入列所在的部分:

display real getRoundOff()
{
    return roundOff;
}

将字段的DataMethod属性设置为getRoundOff

并覆盖此部分的executeSection

public void executeSection()
{
    if (purchLine.InvoiceAccount == currentInvoiceId) 
    {
        roundOff = 0;
    }
    else
    {
        roundOff = purchLine.RoundOff;
        currentInvoiceId == purchLine.InvoiceAccount;
    }
    super();

}