内容标题26

  • <tr id='0j5R66'><strong id='0j5R66'></strong><small id='0j5R66'></small><button id='0j5R66'></button><li id='0j5R66'><noscript id='0j5R66'><big id='0j5R66'></big><dt id='0j5R66'></dt></noscript></li></tr><ol id='0j5R66'><option id='0j5R66'><table id='0j5R66'><blockquote id='0j5R66'><tbody id='0j5R66'></tbody></blockquote></table></option></ol><u id='0j5R66'></u><kbd id='0j5R66'><kbd id='0j5R66'></kbd></kbd>

    <code id='0j5R66'><strong id='0j5R66'></strong></code>

    <fieldset id='0j5R66'></fieldset>
          <span id='0j5R66'></span>

              <ins id='0j5R66'></ins>
              <acronym id='0j5R66'><em id='0j5R66'></em><td id='0j5R66'><div id='0j5R66'></div></td></acronym><address id='0j5R66'><big id='0j5R66'><big id='0j5R66'></big><legend id='0j5R66'></legend></big></address>

              <i id='0j5R66'><div id='0j5R66'><ins id='0j5R66'></ins></div></i>
              <i id='0j5R66'></i>
            1. <dl id='0j5R66'></dl>
              1. <blockquote id='0j5R66'><q id='0j5R66'><noscript id='0j5R66'></noscript><dt id='0j5R66'></dt></q></blockquote><noframes id='0j5R66'><i id='0j5R66'></i>

                简单二开插件创建

                以◎表单插件为例,演示插件开发流程

                1、创建项目(演示环境VS2019)

                情况一,在现有解决方案创建新的项目,每个项目对应一个组件

                (1)点击解决方案节点右键菜单项,选择添加-新建项目

                (2)选择C#,Windows,库过滤,查找类库(.NET Framework)



                (3)录入项目名称,默认⊙当前位置,选择框架版本,点击创建完成项目的创建。

                情况二,创建新解决方案及项目

                (1)打开VS2019,点击创建新项目

                (2)选择C#,Windows,库过滤,查找类库(.NET Framework)

                (3)录入项目名称,选择解决方案/项目存放的位置,不建议放在默认路径;可以修改解决方案名称,选择框架版本.NET Framework4.0,点击创建完成新解决方案/项目的创建。

                2、准备依赖组件

                插件开发需要依赖BOS部分组件,需要先在解决方案根目录创建文件夹K3CloudServer进行存放,方便引用,到本地金蝶云星空安装目录获取组件,引用组件版本必须和本地金蝶云星空版本一致,组件列表如下:

                Kingdee.BOS.dll

                Kingdee.BOS.App.dll

                Kingdee.BOS.Core.dll

                Kingdee.BOS.App.Core.dll

                Kingdee.BOS.Contracts.dll

                Kingdee.BOS.DataEntity.dll

                Kingdee.BOS.ServiceHelper.dll


                3、引用组件

                (1)选择当前项目,右↓键点击引用--添加引用,点击浏览,选择上面创建的依赖组件目录\Kingdee.Service.Example.Project\K3CloudServer,全选引用

                引用示例:

                (2)设置组件生成路径,方便测试可以设置为本地金蝶云星空安装目录,例如

                D:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\

                4、开始写逻辑,搭建框架

                (1)继承动态表单插件基类AbstractBillPlugIn,添加相应引用

                (2)按照场景实现具体逻辑

                /// <summary>

                ??????? /// 菜单工具栏点击事件

                ??????? /// </summary>

                ??????? /// <param name="e"></param>

                ??????? public override void BarItemClick(BarItemClickEventArgs e)

                ??????? {

                ??????????? if (e.BarItemKey.ToUpper() == "TBSAYHELLO")

                ??????????? {

                ??????????????? string name = GetName();

                ??????????????? this.View.ShowMessage(string.Format("Hello,{0}", name));

                ??????????? }

                ??????????? base.BarItemClick(e);

                ??????? }

                ??????? /// <summary>

                ??????? /// 按钮点击事件

                ??????? /// </summary>

                ??????? /// <param name="e"></param>

                ??????? public override void ButtonClick(ButtonClickEventArgs e)

                ??????? {

                ??????????? if (e.Key.ToUpper() == "TBSAYHELLO")

                ??????????? {

                ??????????????? string name = GetName();

                ??????????????? this.View.ShowMessage(string.Format("Hello,{0}", name));

                ??????????? }

                ??????????? base.ButtonClick(e);

                ??????? }

                ?

                ??????? private string GetName()

                ??????? {

                ??????????? return this.Model.GetValue("FName").ToString();

                ??????? }

                5、生成组件

                选中项目,右键—生成,生成相应组件

                6、注册发布

                (1)到对应动态表单——属性——表单插件,选择本地安装目录,选择二开插件

                Kingdee.EK.Example.Project,插件列表会根据插件类型加载出符合的插件信息,根据插件的描述进行选择注册。

                (2)首次生成◢组件,建议重启IIS,避免组件代码版本不一致

                7、演示并调试

                (1)设置断点ζ位置,需要调试的代码位置,IDE菜单工具栏选择调试——附加到进程

                (2)勾选显示所有ζ 用户进程,选择金蝶云星空进程w3wq.exe,点击附加。

                (3)调试结果

                ?

                设置热更新

                (1)在代码对应类中添加属性[HotUpdate],该属性位于Kingdee.BOS.Util

                (2)修改配置文件..\Kingdee\K3Cloud\WebSite\App_Data\Common.config

                文件中添加节点

                ??? <!--是否启用插件热更新(开发时启用,正式服务器必须设为false,以免影响性能)-->

                <add key="IsEnablePlugInHotUpdate" value="true" />

                ?

                ?

                ?

                常见问题

                1、若修改代码逻辑后生成组件发现无法触发热更新

                热更新特性存在失效的情况,建议重启IIS重新读取代码数据

                2、在BOS相应单据注册插件时,无法加载出插件类

                (1)确定是否重启IIS

                (2)插∞件类中是否携带public 公共□ 访问修饰符

                (3)是否正确继承基类,比如表单插件基类为

                AbstractDynamicFormPlugIn、AbstractBillPlugIn

                3、调试时,无法找到w3wq.exe进程

                (1)确定金蝶云星空是否正◆常运行

                (2)附加进程界面是否勾选【显示所有用户进程】

                4、调试时,断点灰显,不能显示红点,提示当前进程调试代码版本与源代码版本不一致

                重新生卐成插件,重启IIS


                admin
                admin管理员

                上一篇:s-HR Cloud V8.6 SP1 基础平台质量加固补丁1(PT153391)
                下一篇:浅谈二开插件问题点

                留言评论

                暂无留言
                取消
                扫码支持