记录一个二开插件调用销售订单下推生成生产订单的坑原创
60人赞赏了该文章
579次浏览
编辑于2023年11月15日 00:54:45
通常情况下,我们在插件中调用自动下推时,如果是按行下推则无需传入源单单据内码,只要传分录内码就行。
【官方知识】:在插件中实现自定义下推 (kingdee.com)
但标准产品的销售订单下推生产订单中,有一个插件(Kingdee.K3.MFG.PRD.App.BillConvertServicePlugIn.SeOrder2MoConvert),里面用到了下推参数里的 销售订单内码。
如果我们调用 销售订单->生产订单的下推,按行下推,源单内码不传的话,会抛出异常:"将参数值从 String 转换到 Int64 失败。"
var selectedRow = new ListSelectedRow(Convert.ToString(order["Id"]),//这个订单内码一定要传! Convert.ToString(row["Id"]), rowNo++, rule.SourceFormId); selectedRow.EntryEntityKey = "FSaleOrderEntry"; selectedRows.Add(selectedRow); ...... ConvertServiceHelper.Push(ctx, pushArgs, pushOption);
大半夜先怀疑二开插件问题,排除之后又怀疑是执行计划调用,里面的Context会不会有问题。。。
排查数小时未果,最后反编译标准插件源码看了半天。。
赞 60
60人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读