为基础资料启用销售订单的信用额度时,在新增销售订单时可以查看其信用额度,有时看到的数据可能跟我们自己人工手动统计的结果不太一致,那么本文就一起探究下订单信用额度的实际取数逻辑。
由于销售订单信用额度的公式中包含发票、收退款单、订单三类单据的数据,为避免篇幅过长,三类单据将分开描述,每一类单据通过一篇文档描述,本文将对订单信用额度公式中订单的选项展开描述。
注:信用额度发票链接 https://vip.kingdee.com/article/447479721731897600?fromAction=POST_ARTICLE&productLineId=7
1、销售订单信用额度的公式中,订单的选项包括:
+ 已审核的销售订单金额
+ 未审核的销售订单金额
- 已开票的销售订单金额
如下图所示:
图1
图2
2、在销售订单单据界面查询信用额度时,对应的查询语句如下,主要是查询表 ICCreditInstant 中的数据,然后根据我们勾选的公式进行加加减减。
图3
3、表 ICCreditInstant 的数据最初是在启用信用额度时写入,通过查看启用信用额度的过程,可以了解每一类单据的信用额度写入的逻辑,因此我们主要研究启用信用额度的过程即可。
启用信用额度的过程实际上是执行存储过程 p_IC_InitCreditInstantData 的过程。
从图3的代码中可以看出,销售订单信用额度中订单选项的数据均来源于表 ICCreditInstant 中FGroup =1的记录。订单信用额度也是来源于单据表 ICCreditBill 中FGroup =1的记录 。
存储过程 p_IC_InitCreditInstantData 中关于订单的代码如下:
图4
图5
图6
图7
4、已审核的销售订单金额
通过图3可以看出已审核的销售订单金额对应的是表ICCreditInstant 中 FGroup =1的记录中FMainAmtPara2 的数据。
表ICCreditInstant 中 FGroup =1的记录中FMainAmtPara2 的数据来源于图5的代码。
图5代码的逻辑为:
行业务未关闭的分录:审核状态(FStatus为1或者2时),订单数量/订单数量*价税合计
行业务关闭的分录:销售订单的关联数量、开票数量的较大者/销售订单的数量* 价税合计本位币
图8
图9
图10
图11
图9、10中可以看出已审核的销售订单的金额为15165476。
图11中查询表ICCreditInstant 中 FGroup =1的记录FMainAmtPara2=15165476。
5、未审核的销售订单金额
通过图3可以看出未审核的销售订单金额对应的是表ICCreditInstant 中 FGroup =1的记录中FMainAmtPara1 的数据。
表ICCreditInstant 中 FGroup =1的记录中FMainAmtPara1 的数据来源于图5的代码。
图4代码的逻辑为:
销售订单未审核且未作废的价税合计
图12
图13
图12可以看出未审核的销售订单金额为7503609。
图13中查询表ICCreditInstant 中 FGroup =1的记录FMainAmtPara1 =7503609。
6、已开票的销售订单金额
通过图3可以看出已开票的销售订单金额对应的是表ICCreditInstant 中 FGroup =1的记录中FMainAmtPara3 的数据。
表ICCreditInstant 中 FGroup =1的记录中FMainAmtPara3 的数据来源于图5的代码。
图5的代码的逻辑为:
未行业务关闭的分录:销售订单的开票数量/销售订单的数量 * 价税合计本位币
行业务关闭的分录:销售订单的数量/销售订单的数量 * 价税合计本位币
图14
图15
图14可以看出已开票的销售订单金额总和为828。
图15中查询表ICCreditInstant 中 FGroup =1的记录FMainAmtPara3=828。
因此:客户002东方机电销售订单在订单选项上的额度为:
+ 已审核的销售订单金额15165476
+ 未审核的销售订单金额7503609
- 未审核的现销发票金额828
=22668257
客户002的信用额度只勾选销售订单的选项,新增销售订单,录入客户002,查看信用,可以看到已用额度为22668257,如附图1、2所示。
到此,销售订单信用额度的订单选项逻辑就分析完了。
总结:销售订单信用额度公式中订单的选项,按照字面理解均可查询到对应的单据数据,对金额有疑问可以禁用信用后重新启用,会重新执行一次存储过程,若还是有疑问可以参考本文描述逐条分析。
推荐阅读