1. 簡介
1.1. 目的
規(guī)范K/3Cloud產(chǎn)品二次開發(fā)規(guī)則棍潘,遵循過程改進裕偿、優(yōu)化和管理的機制尊剔,特制定此工作指引爪幻。
1.2. 范圍
本工作指引適用于金蝶K/3Cloud產(chǎn)品二次開發(fā)研發(fā)過程開發(fā)活動。
1.3. 面向?qū)ο?/strong>
基于K/3 Cloud產(chǎn)品進行二次開發(fā)的所有設(shè)計師以及開發(fā)工程師须误。
1.4. 名詞解釋
- Pascal 大小寫:大小寫形式-所有單詞第一個字母大寫挨稿,其他字母小寫。
例如:BackColor
- Camel 大小寫:大小寫形式-除了第一個單詞京痢,所有單詞第一個字母大寫奶甘,其他字母小寫。
例如:backColor
<label>:語法塊的名稱祭椰。此約定用于對可在語句中的多個位置使用的過長語法段或語法單元進行分組和標記臭家。
{ }(大括號):必選語法項。
[ ](方括號):可選語法項方淤。
| (豎線):分隔方括號或大括號中的語法項钉赁。只能使用其中一項。
命名空間:命名空間提供了一種組織相關(guān)類和其它類的方式携茂。命名空間是一種邏輯組合你踩,既用作程序的“內(nèi)部”組織體系,也用作“外部”組織體系(一種表示向其他程序公開程序元素的途徑)。命名空間和程序集有助于開發(fā)基于組件的系統(tǒng)带膜。
- 程序集:用于物理打包和部署吩谦。程序集可以包含類型、用于實現(xiàn)這些類型的可執(zhí)行代碼以及對其他程序集的引用膝藕。
- KSQL:金蝶數(shù)據(jù)庫結(jié)構(gòu)化查詢語言式廷。SQL92的子集。
- 健康中心:新產(chǎn)品系統(tǒng)性能芭挽、錯誤診斷框架滑废,繼承自EAS1健康中心。
- 插件:基于K/3Cloud BOS平臺插件览绿,通過BOS平臺提供的接口策严,只需要實現(xiàn)各個功能特殊的維護邏輯穗慕、敘事簿顯示取數(shù)等接口饿敲,通過配置動態(tài)增加業(yè)務(wù)功能。
- 擴展函數(shù):BOS平臺高級擴展逛绵,針對業(yè)務(wù)系統(tǒng)需求擴展公共服務(wù)功能怀各,如:取當前日期、按表達式計算术浪、字段攜帶的邏輯運算等瓢对。
- K/3業(yè)務(wù)領(lǐng)域:指按應(yīng)用范圍區(qū)分的業(yè)務(wù),如:基礎(chǔ)胰苏、BOS硕蛹、財務(wù)、供應(yīng)鏈硕并、制造法焰、HR、協(xié)同倔毙。
- K/3子系統(tǒng):每個領(lǐng)域內(nèi)的按整體功能細分埃仪,如:財務(wù)會計、管理會計陕赃、資金管理卵蛉、集團合并、供應(yīng)鏈管理么库、成本管理傻丝、計劃管理、生產(chǎn)管理诉儒、精益管理葡缰、資產(chǎn)管理、人力資源、企業(yè)績效运准、商業(yè)智能幌氮、移動商務(wù)、內(nèi)控管理等胁澳。
- K/3模塊:每個子系統(tǒng)內(nèi)的功能模塊该互,如:供應(yīng)鏈子系統(tǒng)下的采購管理、委外加工韭畸、銷售管理宇智、供應(yīng)商協(xié)同、客戶關(guān)系管理等胰丁。
1.5. 參考
《C#編碼規(guī)范》
2. 開發(fā)環(huán)境及命名空間規(guī)范
2.1. 環(huán)境及配置
開發(fā)工具:VS2010 + {Oracle11gClient | SQLServer2008R2}随橘;
VS環(huán)境設(shè)置:
服務(wù)端組件輸出路徑:%TFS%\K3Cloud\K3CloudServer\Bin
2.2. 命名空間
命名要求表達準確,無歧義锦庸。
書寫格式:{ISV}[.K3][.業(yè)務(wù)系統(tǒng)][.模塊][.功能]
? ISV ::= 開發(fā)商標識符
? 業(yè)務(wù)系統(tǒng) ::= K/3業(yè)務(wù)系統(tǒng)標識符
? 模塊 ::= K/3模塊標識符
功能 ::= 功能標識符
使用 Pascal 大小寫机蔗。
2.3. 程序集
與命名空間一致,因程序集與命名空間不一致造成的組件沖突將不能注冊到K/3Cloud App Store甘萧。
3. BOS****設(shè)計器規(guī)范
3.1. 業(yè)務(wù)對象編號
業(yè)務(wù)對象編號(FormId)由BOS自動生成萝嘁,不允許修改;
3.2. BOS****設(shè)計器對象屬性標識
標識(Key)格式:{ISV}_{標識}扬卷;
標識不允許重復(fù)(注:此處標識包括業(yè)務(wù)對象唯一標識牙言、ORM實體屬性名、單據(jù)體標識怪得、字段標識)咱枉。
4. 數(shù)據(jù)庫對象命名總體規(guī)則
4.1. 數(shù)據(jù)庫對象命名規(guī)范
對象包括所有數(shù)據(jù)庫對象(如:表、字段徒恋、視圖蚕断、存儲過程、主鍵因谎、索引基括、缺省值、函數(shù)财岔、觸發(fā)器风皿、序列)。
對象 | 命名規(guī)則 | 最大長度 | 示例 |
---|---|---|---|
表 | {ISV標識符}T{名稱} ① | 30 | KDV_T_USER |
字段 | [F_]{ISV標識符}_{名稱} | 30 | KDV_USERNAME |
視圖 | {ISV標識符}V{名稱} | 30 | KDV_V_USER |
存儲過程 | {ISV標識符}P{名稱} | 30 | KDV_P_GETUSERLIST |
主鍵 | {ISV標識符}PK{名稱} ① | 30 | KDV_PK_USER |
索引 | {ISV標識符}IX{表縮寫}_{字段縮寫} | 30 | KDV_IX_USER_FID |
缺省值 | {ISV標識符}DF{名稱} | 30 | KDV_DF_USER_FID |
函數(shù) | {ISV標識符}FN{名稱} | 30 | KDV_FN_GETCOUNT |
觸發(fā)器 | {ISV標識符}TRG{名稱} | 30 | KDV_TRG_USERINS |
序列 | Z_{ISV標識符}T{名稱} | 30 | Z_KDV_T_USER |
注:①名稱必須一致匠璧; {ISV標識符}由K/3Cloud云平臺開發(fā)商申請獲取桐款。
4.2. 數(shù)據(jù)類型規(guī)范
數(shù)據(jù)類型定義僅允許使用如下類型:
數(shù)據(jù)類型 | 長度 | Sql server | Oracle |
---|---|---|---|
CHAR | [1,254] | CHAR[(n)] | CHAR[(n)] |
VARCHAR | [1,4000] | VARCHAR[(n)] | VARCHAR2(n) |
NCHAR | [1,2000] | NCHAR[(n)] | NCHAR[(n)] |
NVARCHAR | [1,4000] | NVARCHAR[(n)] | NVARCHAR2(n) |
BLOB | [1,2G] | IMAGE | BLOB |
NCLOB | [1,1G] | NTEXT | NCLOB |
SMALLINT | [-2^15,2~15-1] | SMALLINT | NUMBER(5) |
INT,INTEGER | [-2^31,2~31-1] | INT | NUMBER(10) |
DECIMAL | [-1031+1,1031-1] | DECIMAL(23,10) | NUMBER(23,10) |
DATETIME | DATETIME | DATE |
一張表的所有字段的總字節(jié)長度之和不能大于8K
附
繼承體系
業(yè)務(wù)系統(tǒng) | 類(插件、服務(wù)) | 繼承自抽象類 |
---|---|---|
表單插件 | 單據(jù)插件 | Kingdee.BOS.Core.Bill.PlugIn.AbstractBillPlugIn |
表單插件 | 基礎(chǔ)資料插件 | Kingdee.BOS.Core.Base.PlugIn.AbstractBasePlugIn |
表單插件 | 動態(tài)表單插件 | Kingdee.BOS.Core.DynamicForm.PlugIn.AbstractDynamicFormPlugIn |
敘事簿插件 | 敘事簿插件 | Kingdee.BOS.Core.List.PlugIn.AbstractListPlugIn |