BOS二次开发规范.

Slides:



Advertisements
Similar presentations
第2章第2章 第 1 节 生物与非生物. [ 猜谜语 ] 名字叫做牛, 不会拉犁头; 说我力气小, 背着房子走。 ( 打一动 物)
Advertisements

第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
高级服务器设计和实现 1 —— 基础与进阶 余锋
103 年新北市環保知識擂台賽培育計畫 新北市政府環境保護局 大 綱 計畫緣起 計畫期程及內容 計畫分工及配合事項 討論 Q&A 2.
Chapter 3: SQL.
如何準備社工師考試 講 師:張雅惠 社工師 演講日期:
中國宗教精神與其哲學.
可爱的蜗牛 一、蜗牛冬眠 二、蜗牛进食 三、蜗牛排泄 四、蜗牛呼吸.
股票市場技術面概念介紹 斗六高中 馬明宏.
第二课 战国时期的 百家争鸣 呼伦贝尔学院附属中学:司顺英.
資料庫系統 曾俊雄.
Excel VBA视频教程 课程介绍-什么是VBA
比爾蓋茲導讀.
创建数据库 MySql创建数据库的语法: CREATE DATABASE 数据库名; 例: CREATE DATABASE mydb;
資料庫設計 Database Design.
转正述职报告 乐恩公司 史航
Oracle数据库 Oracle 子程序.
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
十二生肖的故事.
組員:蔡惠雅 494D0032 楊雅惠494B0079 蔡騏鴻 葉時宇 余建霖495B0002 陳瑛淑495B0021
PHP與MySQL 入門學習指南 凱文瑞克 著 第 23 章 資料型別.
第十一章 資料庫設計與權限設定.
第4章 SQL语言基础及数据库定义 4.1 基本概念 4.2 SQL Server 提供的主要数据类型 4.3 数据定义.
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
SQL Server 2000 数据库入门.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
第16章 信息系统综合应用开发实例.
管理信息结构SMI.
辅导课程六.
第六单元 ADO.net数据库操作 劳动和社会保障部全国计算机信息高新技术考试指定教材——ASP.NET.
視窗程式設計簡介-VB、Visual Studio
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第3章 关系数据库标准语言SQL.
K/3 Cloud V6.0_产品培训 —BOS万能报表平台
第十二章 SQL語言簡介 講授大綱: 新增資料庫 新增資料表 新增資料 修改資料 刪除資料 查詢資料 透視ASP.NET-第12章
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
K/3 Cloud 技术开发培训 ----BOS 单据转换插件开发
第二章 Java语言基础.
数据挖掘工具性能比较.
PaPaPa项目架构 By:Listen 我在这.
SQL Server 2000数据库 简明教程 李存斌 主编 下一页.
第1章 Visual Basic 简介 郭清溥.
程序设计工具实习 Software Program Tool
K/3 Cloud BOS客户化开发规范.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
第16章 信息系统综合应用开发实例.
K/3 Cloud V6.1产品培训 ---集成平台 K/3 Cloud产品部.
K/3 Cloud V6.0产品培训 ---集成平台 K/3 Cloud产品部.
K/3 Cloud V5.0_产品培训 —BOS套打设计平台
通讯录管理系统设计 常州工程职业技术学院 计算机技术系.
算法与程序设计.
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
第4章 表的创建与维护 4.1 数据类型 4.2 数据完整性约束 4.3 创建数据表 4.4 修改数据表 4.5 删除数据表.
第4章 Excel电子表格制作软件 4.4 函数(一).
Chapter 18 使用GRASP的对象设计示例.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
Visual Basic程序设计 第13章 访问数据库
Delphi 7.0开发示例.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
CMP 讲义 2018 CMP设计哲学及基础概念 CMP推荐的4层代码结构.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
使用myApps平台配置Bug管理系统练习大纲
WEB程序设计技术 数据库操作.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
Presentation transcript:

BOS二次开发规范

课程说明: 课程简介: 本课程为K/3 Cloud BOS二次开发提供开发标准。

提纲 命名空间规范 程序集 BOS设计器规范 数据库规范

开发环境及参数设置 开发工具:VS2010+{Oracle11gClient|SQLServer2008} VS环境设置: 服务端组件输出路径 %TFS%\K3Cloud\K3CloudServer\Bin

提纲 命名空间规范 程序集 BOS设计器规范 数据库规范 插件继承体系

命名空间规范 命名要求表达准确,无歧义 ISV ::= 开发商标识符 业务系统 ::= K/3业务系统标识符 模块 ::= K/3模块标识符 功能 ::= 功能标识符 技术名称和功能均使用 Pascal 大小写 KDV.K3.SCM.SAL.ExpOrder KDV.K3.ExpOrder KDV.ExpOrder

提纲 命名空间规范 程序集 BOS设计器规范 数据库规范 插件继承体系

程序集规范 与命名空间一致 格式:{ISV}[.K3][.业务系统][.模块][.功能] KDV.K3.SCM.SAL.ExpOrder.dll KDV.K3.ExpOrder.dll KDV.ExpOrder.dll

提纲 命名空间规范 程序集 BOS设计器规范 数据库规范 插件继承体系

BOS设计器规范 业务对象编号(FormID) 自动生成 GUID

BOS设计器规范 BOS设计器对象属性标识(Key)不允许重复 格式:{ISV标识符}_{标识} 单据体标识 字段标识

提纲 命名空间规范 程序集 BOS设计器规范 数据库规范 插件继承体系

数据库规范 数据库对象规范 表命名 {ISV标识符}_T_{名称} 长度:< 30 示例: KDV_T_USER

数据库规范 数据库对象规范 字段命名 [F_]{ISV标识符}_{名称} 长度:< 30 示例: KDV_USERNAME

数据库规范 数据库对象规范 对象 命名规则 最大长度 示例 视图 {ISV标识符}_V_{名称} 30 KDV_V_USER 存储过程 {ISV标识符}_P_{名称} KDV_P_GETUSERLIST 主键 {ISV标识符}_PK_{名称} KDV_PK_USER 索引 {ISV标识符}_IX_{表缩写}_{字段缩写} KDV_IX_USER_FID 缺省值 {ISV标识符}_DF_{名称} KDV_DF_USER_FID 函数 {ISV标识符}_FN_{名称} KDV_FN_GETCOUNT 触发器 {ISV标识符}_TRG_{名称} KDV_TRG_USERINS 序列 Z_{ISV标识符}_T_{名称} Z_KDV_T_USER

数据库规范 数据库对象规范 避免扩展冲突 函数、触发器不建议使用

数据库规范 数据类型规范 使用的数据类型 CHAR NCHAR VARCHAR NVARCHAR BLOB NCLOB SMALLINT INT DECIMAL DATETIME

提纲 命名空间规范 程序集 BOS设计器规范 数据库规范 插件继承体系

继承体系 业务系统扩展 业务对象 单据 基础资料 列表 过滤条件 报表 扩展学习:使用特定前缀的原因 因为当Visual Basic遇到一个枚举成员名时,如果其他被引用的类型库中包含相同的名字,它就会搞混。例如,Visual Basic的所有系统常量都有个前缀vb。遇到vbFixedSingle这样一个常量时,马上就知道该常量属于Visual Basic的类型库。 推荐在K/3的代码中使用kd 前缀。

继承体系 业务系统扩展 业务系统插件 单据 基础资料 动态表单 列表 扩展学习:使用特定前缀的原因 因为当Visual Basic遇到一个枚举成员名时,如果其他被引用的类型库中包含相同的名字,它就会搞混。例如,Visual Basic的所有系统常量都有个前缀vb。遇到vbFixedSingle这样一个常量时,马上就知道该常量属于Visual Basic的类型库。 推荐在K/3的代码中使用kd 前缀。

继承体系 抽象类(组件:Kingdee.BOS.Core) 类(插件、服务) 继承自抽象类 业务系统插件 单据插件 AbstractBillPlugIn 基础资料插件 AbstractBasePlugIn 动态表单插件 AbstractDynamicFormPlugIn 列表插件 AbstractListPlugIn 扩展学习:使用特定前缀的原因 因为当Visual Basic遇到一个枚举成员名时,如果其他被引用的类型库中包含相同的名字,它就会搞混。例如,Visual Basic的所有系统常量都有个前缀vb。遇到vbFixedSingle这样一个常量时,马上就知道该常量属于Visual Basic的类型库。 推荐在K/3的代码中使用kd 前缀。

插件开发规范 插件实现 重载抽象类操作方法 扩展学习:使用特定前缀的原因 因为当Visual Basic遇到一个枚举成员名时,如果其他被引用的类型库中包含相同的名字,它就会搞混。例如,Visual Basic的所有系统常量都有个前缀vb。遇到vbFixedSingle这样一个常量时,马上就知道该常量属于Visual Basic的类型库。 推荐在K/3的代码中使用kd 前缀。

插件开发规范 单据插件 基础资料插件 动态表单插件 继承:AbstractBillPlugIn 继承: AbstractBasePlugIn 继承: AbstractDynamicFormPlugIn

插件开发指南 实现接口——IDynamicFormViewPlugin OnInitialize AfterLoadData 视图模型初始化事件 AfterLoadData 加载数据后事件 AfterBindData 绑定数据后事件处理接口 AfterF7Select F7操作后事件 LanguageChanged 语言切换

插件开发指南 实现接口——IDynamicFormViewPlugin BarItemClick AfterBarItemClick 菜单单击事件处理扩展接口 AfterBarItemClick 菜单单击事件后 BeforeDoOperation 操作调用前事件 AfterDoOperation 操作调用完成后事件 ListViewClick —— 列表项目单击事件 TreeNodeClick —— 树控件单击事件 TreeDragDrop ——数控件拖拽 EntityRowClick —— 分录行单击事件

插件开发指南 实现接口——IDynamicFormModelPlugIn CreateNewData AfterCreateNewData 数据模型创建实体对象事件 AfterCreateNewData 数据模型创建实体对象完成后事件 BeforeUpdateValue 数据更新前事件 DataChanged 数据改变后事件 CreateNewEntryRow 创建分录行事件 BeforeDeleteRow 删除分录行事件 AfterDeleteRow 删除分录后事件

插件开发规范 序时簿插件 继承: AbstractListPlugIn

插件开发指南 实现接口——IListViewPlugin BarItemClick AfterBarItemClick 菜单单击事件处理扩展接口 AfterBarItemClick 菜单单击事件后 BeforeDoOperation 操作调用前事件 AfterDoOperation 操作调用完成后事件 CellDbClick 单元格双击事件 AfterGetData 取数完成后事件

插件开发指南 优先使用表单业务逻辑服务 使用表单校验规则实现校验 表单服务和插件中尽量使用函数 简单业务逻辑通过python脚本描述 特殊场景通过插件实现

附——数据类型对应关系 数据类型 长度 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

Q&A