手把手搭建K3cloud插件开发环境
最近几天在配置K3cloud开发环境,发现不论是产品论坛还是百度出来的结果,都不够满意,很多大咖给提供的环境搭建手册都是那个云山雾罩的PPT
也就是这个open.kingdee.com/K3Cloud/WenKu/DocumentView.aspx?docId=109261
博主表示看完了只是理解了概念,但是如何打开K3cloud开发的第一扇门,还是无法理解(好吧,可能做产品实施时间过长了,好久没有碰代码,做开发,理解能力确实有点低)
为此,博主把自己摸索创建的开发环境搭建方式一步一步给大家展示出来,希望更多的人成为一个K3Cloud Developer
=============================================================================================
首先建议第一次接触K3cloud开发的同学,在本机安装以下内容
K3Cloud服务器端(安装在本地,具体下载地址可以从http://open.kingdee.com下载安装包,并可以在云之家中申请注册30天的临时许可,记得导入Demo数据中心)
SQL Server 2008 R2或SQL Server 2012
安装Visual Studio2010或2012(2015 17当然都可以)
安装完成后,开始做我们第一个HelloWorld
步骤一
确保可以正常登录本地K3Cloud客户端
步骤二
打开VS,在解决方案下,点击文件-新建-项目(如果是英文版的是File--New--Project)
在新建项目窗口中,选择新建类库
步骤三
添加以下几个必要的引用
Kingdee.BOS
Kingdee.BOS.Core
Kingdee.BOS.DataEntity
Kingdee.BOS.ServiceHelper
步骤四
在当前类库下添加一个类ButtonEvent
步骤五
新建的类继承自AbstractBillPlugIn
public class buttonEvent : AbstractBillPlugIn
这里提供一个插件的继承关系,常用到的是动态表单插件(AbstractDynamicFormPlugIn)和单据列表插件(AbstractListPlugIn)
步骤六
添加菜单按钮点击事件(提前在K3Cloud Bos中对其他入库单的菜单栏添加按钮“HelloWorld”,这一步不会操作的,可以参考产品论坛的一个帖子来扫盲http://club.kingdee.com/forum.php?mod=viewthread&tid=945566&source=solr_search&word=BOS添加按钮),代码参考我这段代码即可
- namespace clouddeveloptest
- {
- public class buttonEvent : AbstractBillPlugIn
- {
- public override void BarItemClick(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e)
- {
- base.BarItemClick(e);
- if (e.BarItemKey == "helloworld")//判断按钮的Key是不是helloworld
- {
- this.View.ShowMessage("这是一条helloworld", msgType: Kingdee.BOS.Core.DynamicForm.MessageBoxType.Notice);//弹出一条提醒
- }
- }
- }
- }
步骤七
完成代码编写这一步后,需要将我们的类,编译输出成为一个插件DLL,在类库上右键-属性
属性界面的生成页签,修改输出路径到Website\bin目录,一般K3Cloud默认安装路径都是\Program Files (x86)\Kingdee\K3Cloud\WebSite\Bin
步骤八
发布完成后,可以在输出目录下,看到编译生成的以类库名为名称的DLL文件
将这个类库文件,注册到对应要使用该功能的表单插件中,以本文为例,我们希望在其他入库单点击菜单栏按钮helloworld后,弹出消息提示,则在BOS中找到其他入库单的表单插件属性,进行注册
在我们的输出目录下,找到相应的DLL文件
这样就完成了表单的注册
步骤九
完成以上操作后,需要重启一次IIS服务,才可以看到代码的效果
最终效果
点击后弹出提示消息
其他说明
如果需要调试代码,因为我们是类库输出型的项目,并不同于普通winform或者asp.net网站的项目,所以需要通过附加进程的方式来捕获调试
在VS中,点击调试-附加到进程
在进程列表中找到w3wp.exe进程进行附加
再次进行功能操作时,就可以进入断点了
原创文章,转载请注明出处
手把手搭建K3cloud插件开发环境的更多相关文章
- Hudson(Jenkins)持续集成插件开发环境搭建
Hudson持续集成插件开发环境搭建 第一步安装java jdk,至于版本的话推荐1.6以上吧.安装好jdk设置环境变量,确保你在cmd中输入java -version有提示你jdk的版本信息等,也就 ...
- ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版
原文:ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版 ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio ...
- 手把手在MyEclipse中搭建Hibernate开发环境
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53414303冷血之心的博客) 在MyEclipse中如何搭建Hib ...
- 自定义搭建PHP开发环境
学习了一段时间php了,因为之前是刚接触php,所以用的是集成安装包(wamp).现在想进一步了解apache.mysql.php之间的关系以及提升自己所以进行自定义搭建PHP开发环境.废话不多说,请 ...
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
前言 上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...
- 使用virtualenv搭建python3开发环境
问题描述 环境: CentOS6.5 想在此环境下使用python3进行开发,但CentOS6.5默认的python环境是2.6.6版本. 之前的做法是直接从源码安装python3,替换掉现有的开发环 ...
- Windows下搭建PHP开发环境
PHP集成开发环境有很多,如XAMPP.AppServ......只要一键安装就把PHP环境给搭建好了.但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习.所以我还是喜欢手工搭建PHP开发 ...
- 搭建Android开发环境附图详解+模拟器安装(JDK+Eclipse+SDK+ADT)
——搭建android开发环境的方式有多种,比如:JDK+Eclipse+SDK+ADT或者JDK+Eclipse+捆绑好的AndroidSDK或者Android Studio. Google 决定将 ...
- 基于 Jenkins 快速搭建持续集成环境
什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火 ...
随机推荐
- MyEclipse中的查找快捷键
MyEclipse中的查找快捷键 1.Ctrl+H:可以搜索文件,Java类名.方法名.包名等等. 例如:在MyEclipse中打开Search弹出框,或者在菜单中打开Search弹出框, 定位到 F ...
- Java面试题集(116-135)
Java程序员面试题集(116-135) 摘要:这一部分讲解基于Java的Web开发相关面试题,即便在Java走向没落的当下,基于Java的Web开发因为拥有非常成熟的解决方案,仍然被广泛应用.不管你 ...
- wsl 下安装docker
docker for windows本身其实是可以直接用的,但是仍然有很多不足,比如说:权限问题.没有docker.sock文件.文件编码问题等.而win10自带的wsl可以非常完美地解决这些问题. ...
- 【ABAP系列】SAP 系统的消息类型分析 MESSAGE TYPE
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 系统的消息类型分析 ME ...
- Java基础语法--IDEA快捷键
Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ ...
- jmeter正则提取器提取指定位置的字符串
1.需求:提取登录后的凭证ticket供系统其他接口调用 2.登录接口返回的格式如下: { "ret_code":0, "ret_msg":"logi ...
- word定义多级列表
1.单击开始选项卡里的多级列表按钮,在下拉列表中选择定义新的多级列表 2.先设置第一级编号,选择阿拉伯数字1,2,3,...,并在自动编号“1”的左右分别输入“第”“章”,级别链接到样式选择标题一 3 ...
- php读取excel文件并导入数据库(表头任意设定)
最近收到一个很奇葩的需求,要求上传excel员工工资表,表格表头不固定,导入后字段名为表头的拼音,每月导入一次,当月重复导入则覆盖现有的当月表头,并且可以按照在界面上按照月份筛选显示,我写的代码主要包 ...
- python3使用hashlib进行加密
hashlib是个专门提供hash算法的库,里面包括md5, sha1, sha224, sha256, sha384, sha512,使用非常简单.方便. MD5 MD5的全称是Message-Di ...
- mongoose 数据库操作2
mongoose的内置的主要功能解说 除了定义文档结构和你要存储的数据类型外.模式(Schema)还用于下面定义: · Validators (异步和同步) · Defa ...