Axapta 如何在采购登记报告中仅显示一个发票行的发票四舍五入金额?
在“采购登记”报告中,我将显示所有发票行 我已经包括了一个名为四舍五入(发票四舍五入金额)的栏目。此列基于显示方法。当前显示每个发票行的四舍五入金额:Axapta 如何在采购登记报告中仅显示一个发票行的发票四舍五入金额?,axapta,dynamics-ax-2009,Axapta,Dynamics Ax 2009,在“采购登记”报告中,我将显示所有发票行 我已经包括了一个名为四舍五入(发票四舍五入金额)的栏目。此列基于显示方法。当前显示每个发票行的四舍五入金额: 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
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
如何实现这一点?将变量添加到报表的
类声明中
:
real roundOff;
VendInvoiceAccount currentInvoiceId;
将显示方法添加到舍入列所在的部分:
display real getRoundOff()
{
return roundOff;
}
将字段的DataMethod
属性设置为getRoundOff
并覆盖此节的执行部分:
public void executeSection()
{
if (purchLine.InvoiceAccount == currentInvoiceId)
{
roundOff = 0;
}
else
{
roundOff = purchLine.RoundOff;
currentInvoiceId == purchLine.InvoiceAccount;
}
super();
}我想显示一个随机行的值,并为同一invoiceId的其余行显示零。我编辑了答案,以便只有第一行显示舍入。请注意,
purchLine.InvoiceAccount
不存在。使用相应的字段。我不明白为什么你需要一个随机的行来显示一个四舍五入的数量?