二开案例.开发环境.反编译插件
【阅读对象】
<1>有一定软件知识基础,不熟悉C#开发,,不熟悉.NET反编译工具的使用,不熟悉金蝶云星空产品,有志于学习金蝶云星空二次开发的新手同学。
<2>对金蝶云星空标准产品的内部实现有浓厚兴趣的开发人员。
【环境准备】
<1>开发电脑一台,系统要求:Win7,Win10,Window Server系列(2008及更高版本)。
<2>开发电脑安装金蝶云星空产品,或者使用协同开发平台部署一套开发环境。
开发环境准备可参考:【从零开发第一个插件】https://vip.kingdee.com/article/83500607104976896
<3>下载.NET反编译工具(ILSpy、dnSpy、Reflector...)。
【实操演练】
下文将以采购订单的某个表单插件为例,进行反编译的相关知识讲解。
<1>定位当前操作的业务对象的唯一标识(FormID)。
如果您已经知道要分析的业务对象的标识,可跳过此步骤。
开启Https数据监控:
功能主菜单打开单据:
快捷搜索打开单据:
常用功能列表打开单据:
老司机可直接数据库查表获取即可。
SELECT b.FNAME,a.* FROM T_META_OBJECTTYPE a
LEFT JOIN T_META_OBJECTTYPE_L b ON a.FID=b.FID AND b.FLOCALEID=2052
WHERE a.FMODELTYPEID=100 AND a.FDEVTYPE IN (0,1) AND b.FNAME ='采购订单'
<2>BOSIDE打开业务对象,定位插件类全名。
如果您已经知道要分析的插件类全名,可跳过此步骤。
拿到采购订单的某个表单插件的类全名为:
Kingdee.K3.SCM.Purchase.Business.PlugIn.PurchaseOrderEdit, Kingdee.K3.SCM.Purchase.Business.PlugIn
由此插件类全名可知:
表单插件类名称:PurchaseOrderEdit
插件组件文件名:Kingdee.K3.SCM.Purchase.Business.PlugIn.dll
<3>下载反编译软件(ILSpy、dnSpy、Reflector...)。
下载ILSpy:
下载dnSpy:
<4>使用反编译软件对插件组件进行反编译。
ILSpy:
打开文件目录,定位到金蝶云星空应用站点文件夹的Bin目录下,找到插件组件并打开:
左侧逐层展开,定位到插件类及对应的插件事件:
dnSpy:
操作类似,不再详述。
至此,插件源代码就已经全部呈现在您眼前了,接下来,就需要您耐心的去阅读源代码啦,如果您对标准产品的某个功能感兴趣,就可以通过这样的方式去了解学习其底层实现逻辑,看多了,大部分二开技能也就解锁啦:)
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.开发环境.反编译插件
本文2024-09-23 04:18:28发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164473.html