T1商贸宝-打印显示预收预付余额
【问题描述】
软件中有预收预付款的功能,在做单据的时候,可以显示该往来单位的此前预收和此前预付,当本单使用预收款或者预付款时,如何能显示包含本单金额的预收余额和预付余额呢?
例如A单位此前有预收款1000元,本次销售单中使用了300进行货款冲抵,那么在本单单据中如何显示还有预收余额700元?
【问题分析】
在销售单的表头中有此前预收的余额显示,但是这个余额不包含本单的金额。
在单据左下方有收款账户以及收款金额,于是可以使用函数srtofloat将“此前预收”和“收款金额”转换成数值型后,两者相减即可得到包含本单的余额。
除此之外还需要使用if函数判断两个条件:
1、收款可能不是预收款,还可能是现金或者其他账户收款,因此需要判断本单是否使用了预收账款。
2、不是所有往来单位都有预收款,因此需要判断该往来单位是否有此前预收。
(预付款的余额设置与预收款相似,以下操作以预收款为例。)
【解决方法】
1、在单据右侧的“表头设置”中选择“完整”,使单据中显示此前预收。
2、收款账户选择预收账款,填写实际收款金额。
3、进入打印报表设计,双击单元格,点击fx表达式,选择if函数。
4、第一个if函数先判断该往来单位是否有此前预收。逻辑型判断“[主项数据."此前预收"] > 0”,如果不满足,就说明没有预收款,返回第三行0。
如果满足此前预收>0说明有此前预收,就返回第二行的值,需要使用第二个if函数判断是否使用了预收账款。
以下是第二行的公式:
IF([主项数据."账户名称"] = '预收账款',StrToFloat([主项数据."此前预收"]) - StrToFloat([主项数据."账户金额"]),[主项数据."此前预收"])
最终的公式如下:
[IF([主项数据."此前预收"] > 0,IF([主项数据."账户名称"]='预收账款',StrToFloat([主项数据."此前预收"]) - StrToFloat([主项数据."账户金额"]),[主项数据."此前预收"]),0)]
实际预览效果如下:
A单位此前预收1000,本单成交金额300,使用预收款支付,预收余额700。
如果使用其他账户例如现金,那么预收余额还是1000。
说明:此公式只适用于单账户收款的情况,如果客户有多账户收款,比如同时使用预收款和现金,那就不行,因为软件里会显示“多账户”,公式没法识别。
附:预付余额的设置与预收一样,只需要将“此前预收”改成“此前预付”即可。