二开案例.开发环境.反编译插件

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例.开发环境.反编译插件

【阅读对象】

<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

二开案例.开发环境.反编译插件

【阅读对象】<1>有一定软件知识基础,不熟悉C#开发,,不熟悉.NET反编译工具的使用,不熟悉金蝶云星空产品,有志于学习金蝶云星空二次开发...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息