最近幾天在配置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進程進行附加
再次進行功能操作時,就可以進入斷點了
原創文章,轉載請注明出處