【保姆级】Python插件也可以调试了原创
金蝶云社区-开发工程师吴工
开发工程师吴工
51人赞赏了该文章 681次浏览 未经作者许可,禁止转载编辑于2024年05月27日 20:37:49

一、先介绍下Python的优势
1、对环境没有要求,无论公有云、混合云还是私有云都可用;
2、一个小需求,C#实现可能需要半天,而Python插件实现,估计也就30分钟;
3、Python插件无需部署,即时注册,即时实现功能;
4、Python的代码量特别少,真的是少到可怕。


二、废话不多说,直接上步骤获取更多金蝶二次开发教程

1.安装Visual Studio 2013

百度经验:https://jingyan.baidu.com/article/ab0b56305e8883c15bfa7d7a.html


2.下载IronPython

下载地址:https://download.csdn.net/download/weixin_39023606/12912338


3.下载python tools for visual studio工具

下载地址:https://archive.codeplex.com/?p=pytools


下载上述文件部署开发环境。当然也可以从其他地方下载到。


4.新建项目(环境准备)

1.新增项目


1.png


2.载入环境

2.png

3.png

3.选择环境

4.png


5.png


4.引入库

把所需要的dll复制到项目路径下。

6.png

7.png


5.调试准备

1.调试表单插件(调试什么类型插件注册对应的方法和位置)

8.png


以下代码借鉴于金蝶社区。


clr.AddReference('IronPython')

from IronPython.Hosting import Python


def wrap_d(f):

    func_name = f.__name__

    del f

    def wrapper(e):

        engine = Python.CreateEngine({'Debug': True})

        scope = engine.CreateScope()

        g = globals()

        for v in ('this',):

            scope.SetVariable(v, g[v])

        engine.CreateScriptSourceFromFile(r'L:\开发\VSCLOUD\测试开发\IronPythonApplication1\IronPythonApplication1\IronPythonApplication1.py').Execute(scope)

        return getattr(scope, func_name)(e)

    return wrapper

@wrap_d

def AfterEntryBarItemClick(e):

    pass


2.附加到进程

9.png

10.png


3.增加断点监视信息

11.png

12.png

到此调试金蝶云python脚本已完成。


赞 51