
项目上要跟第三方系统做接口,需要串起来整个流程,并且星空里面的单据可以实现上查下查,这种前提下通过接口创建的单据需要跟上游单据创建关联关系;
我能想到的方式大概有三种:
第一种:
通过WebApi接口直接创建关联关系,主要是得给FENTRY_Link里面的字段赋值,还有些数量字段 比如基本单位数量、销售单位数量、辅助单位数量,感觉这种方式的问题主要是在辅助计量单位的计算上(基本数量/单位换算系数),数量修改辅助单位数量也得修改,计算有误差不知道会有什么后果,而且生产类的单据比较麻烦,FENTRY_Link里面除了赋值上游单据还得赋值相应的生产订单信息,其他的字段问题倒是不大,而且相对灵活。
可以参考:[WebAPI保存接口实现上下游关联](https://wenku.my7c.com/article/171055?productLineId=1&lang=zh-CN)
第二种:
代码里调用转换规则按照分录行生成下游单据,然后在转换规则里修改数量同时调用实体服务规则实现类似于表单的值更新效果,最后将下推的单据调用标准的保存、提交、审核方法,这种方式好处是数量、金额相关的字段都是调用系统的方法,不用人为去计算。当然也有弊端至少是我没解决的,比如销售退货单的审核接口,应退数量无论怎么传都是跟实退数量一致,应该是跟上游单据(销售出库单)的出库数量保持一致才对。
手工做单和webapI生成的单 通过下面的sql语句后台对比了下 t1 t2 t3 t4 这四张表里面只有应退数量数量不一样,只要实退数量有值,应退数量 = 实退数量 搞得很头疼;
--销售退货单
select
t1.fbillno