要求是在没有贷记凭证和预付款的情况下打印客户对账单。我修改了报告并添加了一个过滤条件来仅过滤发票,它工作正常。
我面临着老龄化问题,总计不合理,包括贷项通知单和预付款。
我试图重新计算这些值,但它无效。
如何重新计算考虑新添加的过滤条件的老化?
答案 0 :(得分:0)
我曾与这份报告纠缠在一起,这是一项艰苦的工作。我的要求不同,但最后我不得不修改报告中的变量是如何根据数据计算的。在报表设计器中,单击部分,然后单击属性下的变量集合。您可以看到余额如何相加并编辑代码,输入if语句等。希望这有帮助。
答案 1 :(得分:0)
遵循以下步骤
声明变量AgeingDays并计算声明日期和文件截止日期之间的日期差异
= DateDiff(' d',[ARStatementDetailInfo.DueDate],[@ StatementDate])
使用以下语句查找老化组并存储值
= $ cagb00 + Iif($ AgeingDays< [ARStatement.AgeDays00],IIf([ARStatement.StatementType] = [@ TypeOpenItem],[ARStatementDetailInfo.DocBalanceSigned],[ARStatementDetailInfo.OrigDocAmtSigned]),0)
= $ cagb01 + Iif($ AgeingDays> = [ARStatement.AgeDays00]和$ AgeingDays< [ARStatement.AgeDays01],IIf([ARStatement.StatementType] = [@ TypeOpenItem],[ARStatementDetailInfo.DocBalanceSigned],[ ARStatementDetailInfo.OrigDocAmtSigned]),0)
= $ cagb02 + Iif($ AgeingDays> = [ARStatement.AgeBalance02]和$ AgeingDays< [ARStatement.AgeBalance03],IIf([ARStatement.StatementType] = [@ TypeOpenItem],[ARStatementDetailInfo.DocBalanceSigned],[ ARStatementDetailInfo.OrigDocAmtSigned]),0)
= $ cagb03 + Iif($ AgeingDays> [ARStatement.AgeBalance03]和$ AgeingDays< [ARStatement.AgeBalance04],IIf([ARStatement.StatementType] = [@ TypeOpenItem],[ARStatementDetailInfo.DocBalanceSigned],[ARStatementDetailInfo .OrigDocAmtSigned]),0)
= $ cagb04 + Iif($ AgeingDays> = [ARStatement.AgeDays04],IIf([ARStatement.StatementType] = [@ TypeOpenItem],[ARStatementDetailInfo.DocBalanceSigned],[ARStatementDetailInfo.OrigDocAmtSigned]),0)
最后在打印老化值时,仅检查标记发票,如果为真则打印计算值,否则为默认值
= Iif([@ InvoiceOnly],$ ca01,$ CustAgeBalance01)
我测试过,测试结果很好。