近期做了一个订单发票计划的程序,
发现订单抬头发票计划的状态
在数据表中是没有值的,
而我们在前台查看数据时却是有的,
那这个状态是怎么来的呢?
通过debug分析系统标准代码,得到源代码的计算逻辑。
include: lv60ff0k
form: kfplan_summenstatus_ermitteln
解析以上源代码逻辑,分解步骤如下:
1、销售vbkd表,通过订单号获取到“出具发票计划编号”(fplnr),这个编号是订单发票计划抬头的编号;
2、通过上一步取得的编号,从fplt中获取到发票计划;
3、通过之前得到的抬头发票计划编号,去表fpla中,使用rfpln关联编号,得到订单行中所有的计划编号,然后再使用订单行中的计划编号,去fplt中获取订单行发票计划;
4、数据准备阶段完成,下来就可以通过订单行发票计划去计算抬头发票计划状态了。
5、外层循环抬头的发票计划,内层通过关联编号rfpln以及发票行号fpltr,去关联行项目的发票计划,通过发票行项目的发票状态,一条一条判断最终抬头发票状态,最终得到抬头中每条计划的状态
结果如图:
P.S:如果你有好的题材,或者问题,可以发邮件给作者邮箱(harneymoon@vip.qq.com),作者可以在空闲时间尽量帮您分析解答,也请大家多多关注我们的公众号,欢迎投稿!
图文来源:成旭平
责任编辑:泰古
责任审核:泰古