二开试例:快递100物流签收后销售出库单到货确认

金蝶云星空供应链领域销售管理模块在补丁 PT-146915 [8.0.0.202206] 中对物流刷新相关功能添加了二开支持(提供了插件和执行计划虚方法,客户可继承通版插件,重写相关方法即可达到二开目的),首先说明下,销售管理模块对快递100物流刷新功能分两个地方:一个是手工刷新功能,如下图1-1和1-2所示:

图1-1

图1-2
在销售物流信息列表中勾选指定记录,或者双击进入某个记录的查看界面,通过图中的'刷新物流信息'按钮可实现手工物流刷新功能。另一个是执行计划自动刷新功能,如下图1-3所示:

图1-3
有关此执行计划的介绍,可参阅: https://wenku.my7c.com/article/223033855618894592?productLineId=1。本文只大致介绍如何继承通版插件,重写相关插件方法,然后调用相关到货确认功能(需要客户有二开人员)。首先,反编译通版插件Kingdee.K3.SCM.Sal.Business.PlugIn.dll,找到类Kingdee.K3.SCM.Sal.Business.PlugIn.SalLogistInfoList和Kingdee.K3.SCM.Sal.Business.PlugIn.SalLogistInfoEdit,这两个类分别是 销售物流信息 基础资料的列表插件和表单插件的默认实现类,在其中可以看到以CustomHandle***为前缀的虚方法,如下图2-1所示:
图2-1
如上图所示,列表插件有两个可重写的方法,通过参数可以看出一个传的是批量物流轨迹信息,一个是单个物流轨迹信息,客户二开时只需要重写其中的一个方法就行,建议仅重写其中的批量方法。参数中的类CustomKuaiDi100Result由物流单号(ExperssNo属性)和另一个物流详细信息(Result属性,类型为KuaiDi100Result)组成。类KuaiDi100Result的定义如下图2-2所示:

图2-2
当重写方法时,可以通过类似的表达式 temp.Result && temp.ReturnCode == "200" 判断是否有正确的物流详细数据(其中temp为类KuaiDi100Result的实例)。如果表达式为true,且temp.State属性为3则代表已签收。 类KuaiDi100Result中的Data属性(类型为KuaiDi100Data,里面有Context和FTime属性)则是物流轨迹的详细信息。对于执行计划,可反编译组件Kingdee.K3.SCM.App.Core.dll,找到类Kingdee.K3.SCM.App.Core.UpdateSalLogistics
二开试例:快递100物流签收后销售出库单到货确认
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



