Crystal reports Crystal report running total sum在两个值之间波动

Crystal reports Crystal report running total sum在两个值之间波动,crystal-reports,crystal-reports-2008,crystal-reports-2010,crystal-reports-xi,Crystal Reports,Crystal Reports 2008,Crystal Reports 2010,Crystal Reports Xi,我正试图在报表页脚中用一个正在运行的合计公式对明细记录求和 运行总评估公式如下 global numbervar prev_ordnumber; global numbervar prev_invnbr; if prev_invnbr <> tonumber({Command.INVOICE_NBR}) or prev_ordnumber <> tonumber({Command.ORD_NBR}) then ( prev_invnbr := tonumber

我正试图在报表页脚中用一个正在运行的合计公式对明细记录求和

运行总评估公式如下

global numbervar prev_ordnumber;
global numbervar prev_invnbr;

if prev_invnbr <> tonumber({Command.INVOICE_NBR}) or prev_ordnumber <> tonumber({Command.ORD_NBR})  then
(
    prev_invnbr := tonumber({Command.INVOICE_NBR});
    if  {Command.PYMTIND} = 'Y'  and {Command.ROW_NUMBER} = 1  and prev_ordnumber <> tonumber({Command.ORD_NBR}) then
    (
        prev_ordnumber := tonumber({Command.ORD_NBR});
        true;
    )
    else 
    (   
        prev_ordnumber := tonumber({Command.ORD_NBR});
        false;
    )
)
else
(
    prev_invnbr := tonumber({Command.INVOICE_NBR});
    prev_ordnumber := tonumber({Command.ORD_NBR});
   false;
)
global numberavar prev\u ordnumber;
全局编号上一个invnbr;
如果prev_invnbr tonumber({Command.INVOICE_NBR})或prev_ordnumber tonumber({Command.ORD_NBR}),则
(
prev_invnbr:=tonumber({Command.INVOICE_NBR});
如果{Command.PYMTIND}='Y'和{Command.ROW_NUMBER}=1和prev_ordnumber tonumber({Command.ORD_NBR}),则
(
prev_ordnumber:=tonumber({Command.ORD_NBR});
是的;
)
其他的
(   
prev_ordnumber:=tonumber({Command.ORD_NBR});
虚假的;
)
)
其他的
(
prev_invnbr:=tonumber({Command.INVOICE_NBR});
prev_ordnumber:=tonumber({Command.ORD_NBR});
虚假的;
)
重置条件设置为从不


问题是running total有时会返回130,有时会返回160。请提供帮助。

您的报告是否按OrderNumber和InvoiceNumber分组?您可以将running total字段放在详细信息部分进行测试,以查看添加的值。这会让你更好地了解发生了什么。