K/3 Cloud BOS客户化开发规范
目 录 1 规范总则 2 K/3 Cloud BOS IDE设计器规范 3 数据库规范 4 代码规范
规范总则 目的 为保证客户化开发成果平滑升级 适用范围 使用K/3 Cloud BOS开发业务功能以及插件
目 录 1 规范总则 2 K/3 Cloud BOS IDE设计器规范 3 数据库规范 4 代码规范
K/3 Cloud BOS设计器 K/3 Cloud BOS设计器 对标准产品的修改,需通过“扩展”方式 新建业务对象编码 (FormId) 自动生成,GUID {ISV标识}_{业务对象标识},如:LT_PurchaseOrder 元素Key 不允许重复 F_{ISV标识}_{元素含义},如F_LT_Qty 包括字段、单据体、控件等… 物理字段名建议同字段Key 字段名 F[_]{ISV标识}_{元素含义},如FLT_Qty 实体名 {ISV标识}_{元素含义},如LT_Qty
目 录 1 规范总则 2 K/3 Cloud BOS IDE设计器规范 3 数据库规范 4 代码规范
数据库规范 数据库对象规范 数据类型规范 避免扩展冲突 函数、触发器不建议使用 建议采用的字段类型 VARCHAR NVARCHAR CHAR NCHAR VARCHAR NVARCHAR BLOB NCLOB SMALLINT INT DECIMAL DATETIME
数据库规范 数据类型对应关系 数据类型 长度 Sql server Oracle CHAR [1,254] CHAR[(n)] VARCHAR [1,4000] VARCHAR[(n)] VARCHAR2(n) NCHAR [1,2000] NCHAR[(n)] NVARCHAR NVARCHAR[(n)] NVARCHAR2(n) BLOB [1,] IMAGE NCLOB NTEXT INT,INTEGER [-2^31,2~31-1] INT NUMBER(10) SMALLINT NUMBER (5) DATETIME DATE BIGINT [-2^63,2^63-1] NUMBER(19) NUMERIC DECIMAL NUMBER
数据库规范 数据库对象命名规范 表格命名 字段命名 {ISV标识}_T_{子系统}_{表名} 如 LT_T_PUR_Order 表格名称长度 < 30 字符 字段命名 F[_]{ISV标识}_{字段名} 如FLT_Qty 字段名称长度 < 30 字符
数据库规范 数据库对象命名规范 其他各种对象命名规则及示例 对象 命名规则 最大长度 示例 视图 {ISV标识符}_V_{名称} 30 LT_V_USER 存储过程 {ISV标识符}_P_{名称} LT_P_GETUSERLIST 主键 {ISV标识符}_PK_{名称} LT_PK_USER 索引 {ISV标识符}_IX_{表缩写}_{字段缩写} LT_IX_USER_FID 缺省值 {ISV标识符}_DF_{名称} LT_DF_USER_FID 函数 {ISV标识符}_FN_{名称} LT_FN_GETCOUNT 触发器 {ISV标识符}_TRG_{名称} LT_TRG_USERINS 序列 Z_{ISV标识符}_T_{名称} Z_LT_T_USER
数据库规范 基础资料预插数据内码分配 FID >= 100,000 80,000 < FID < 100,000 系统自动分配,请避免占用 80,000 < FID < 100,000 客户二次开发预插数据内码 FID < 10,000 K/3 Cloud 标准产品预插数据内码,且勿占用
目 录 1 规范总则 2 K/3 Cloud BOS IDE设计器规范 3 数据库规范 4 代码规范
代码规范 插件继承体系 派生插件基类,重载事件处理 需根据领域类型,派生不同的插件基类,能重载的事件也有所不同 插件基类在 Kingdee.BOS.Core.dll 领域类型 基类 命名参考 动态表单 – 维护 AbstractDynamicFormPlugIn ExpressionEdit 业务单据 – 维护 AbstractBillPlugIn PurchaseOrderEdit 业务单据 – 列表 AbstractListPlugIn PurchaseOrderList 基础资料 – 维护 AbstractBasePlugIn MaterialEdit 基础资料 – 列表 MaterialList
代码规范 命名空间规范 程序集 命名要求表达准确,无歧义 技术名称和功能均使用 Pascal 大小写 格式: {ISV标识}[.K3][.业务系统][.模块][.功能] ISV标识 := 开发商标识符,如LT 业务系统 := K/3 业务系统标识符 模块 := K/3模块标识符 功能 := 功能标识符 如:LT.K3.SCM.PUR.Business.PlugIn (采购系统业务对象界面插件) 如:LT.K3.SCM.PUR.Service.PlugIn (采购系统业务对象操作插件) 如:LT.K3.SCM.PUR.Report (采购系统报表插件) 程序集 保持与命名空间一致