K3 Cloud V1.0 BOS 技术开发培训_BOS平台二次开发规范

合集下载

K3 Cloud操作规程_BOS_集成开发平台

K3 Cloud操作规程_BOS_集成开发平台

密级:★高★K/3标准操作规程BOS IDE业务对象设计XXX股份有限公司金蝶软件(中国)有限公司2022年3月23日2022-03-23程文档创建及更新记录文档审核记录文档去向记录程目录BOS平台 (4)1.1BOS平台 (4)1.1.1创建业务对象 (4)1.1.1.1采购订单创建 (6)1.1.1.2采购订单界面布局配置 (6)1.1.1.3采购订单功能属性配置 (8)1.1.1.4采购订单权限配置 (14)1.1.1.5采购订单发布 (15)1.1.2基于内置业务对象进行编辑 (17)1.1.2.1业务对象扩展 (17)程BOS平台1.1 BOS平台金蝶K/3 BOS(Business Operating System,业务操作系统),是一个开放的集成与应用平台,是金蝶ERP 解决方案、合作伙伴解决方案以及客户定制应用的技术基础。

金蝶K/3 BOS能够为企业灵活而迅速的设计、构建、实施和执行一套随需应变的ERP 系统;并能够与现有的IT基础设施无缝地协同运作;为不同行业不同企业的不同的应用阶段,提供随需应变的ERP解决方案。

企业用户通过K/3 BOS可以方便的进行业务配置,也可以通过K/3 BOS集成开发平台高效的进行个性化、行业化定制,使K/3 持续满足客户的需要,打造企业客户随需应变的ERP 系统,为客户带来持久的信息化投资收益。

1.1.1 创建业务对象➢以下面的案例介绍创建业务对象的步骤:1)系统管理员在蓝海集团本部中创建一个业务对象“简易采购订单”,以下简称“采购订单“。

2)创建采购订单有三种方式a)创建空白单据b)继承基对象模板c)复制现有的单据程3)选择业务对象创建向导,采用继承的方式创建。

4)采购订单字段及界面布局配置。

5)采购订单功能属性配置。

6)采购订单权限配置。

7)采购订单发布。

➢案例分析1)采购订单增加单据体字段:单据类型、采购日期、供应商等。

2)采购订单增加单据体字段:物料编码、物料名称、单位、数量、单价、金额。

K3+Cloud+BOS开发培训_插件开发1-接口

K3+Cloud+BOS开发培训_插件开发1-接口

架构模型动态表单领域模型插件开发步骤定义插件类(参照继承体系);分析业务定义重载方法;引用相关组件(参照组件引用规则);重载方法编码;设置编译路径,编译组件;打开IDE设计器,配置插件;动态表单视图接口IDynamicFormViewIDynamicFormViewService2个重要的属性BusinessInfoLayoutInfo界面元素访问1、访问菜单this.View.GetMainBarItemthis.View.GetBarItem2、访问表单控件this.View.GetControlthis.View.GetView3、访问字段this.View.GetFieldEditorthis.View.LockFieldthis.View.SetFormTitle 4、执行操作ShowFormUpdateViewInvokeFieldUpdateService动态表单模型接口IDynamicFormModelIDynamicFormModelService属性BusinessInfoDataObject数据操作CreateNewDataCreateNewEntryRowInsertEntryRowGetEntryCurrentRowIndexLoadReferenceDataGetValueGetEntityDataObject动态表单插件命名空间:Kingdee.BOS.Core.DynamicForm.PlugInIDynamicFormViewPlugIn IDynamicFormModelPlugIn加载机制OnInitializeCreateNewData / AfterCreateNewData BeforeBindData / AfterBindDataBeforeClosed表单操作BeforeDoOperation / AfterDoOperationBeforeF7Select / AfterF7Select TabItemSelectedChange表单事件BarItemClickEntryBarItemClickToolBarItemClickButtonClickEntityRowClickEntityRowDoubleClickEntryButtonCellClick模型访问操作BeforeUpdateValueBeforeDeleteRowAfterDeleteRow单据插件(基础资料插件)继承自动态表单接口IBillViewPlugInOnBillInitialize参数BillOpenParameterIBillModelPlugInBeforeSave / AfterSaveBeforeSubmit / AfterSubmit列表插件继承自动态表单接口IListViewPlugInOnListInitialize参数ListOpenParameterAfterGetDataFormatCellValueIListModelPlugInPrepareFilterParameterBatchCopyData过滤条件插件接口IListFilterViewIListFilterModelFilterObjectQuickFilterObjectIsolationOrgIdGetFilterField事件OnParseSettingFireBeforeBindFilterMetadataFireBeforeSelectTreeNodeScheme服务插件命名空间:Kingdee.BOS.Core.DynamicForm.PlugIn抽象类:AbstractOperationServicePlugIn继承体系:(继承自抽象类)Kingdee.BOS.Core.DynamicForm.PlugIn.AbstractOperationServicePlugIn接口IOperationServicePlugInBeforeExecuteOperationTransactionAfterExecuteOperationTransactionBeginOperationTransactionEndOperationTransaction校验服务IOperationServicePlugInOnAddValidatorsSaveValidator : AbstractValidatorValidate表单插件和列表插件继承层次表单单据叙事簿基础资料插件针对对象动态表单单据基础资料Kingdee.BOS.Core.dllAbstractBillPlugIn 接口AbstractBillPlugIn的ViewPlugin插件接口OnBillInitialize 视图模型初始化事件AfterBindData 绑定数据后事件处理接口BeforeF7Select 基础资料弹出前事件BeforeClosed 窗口关闭前事件BarItemClick 菜单单击事件处理扩展接口AfterBarItemClick 菜单单击事件后BeforeDoOperation 操作调用前事件AfterDoOperation 操作调用完成后事件ButtonClick 按钮单击事件AfterButtonClick 按钮单击后事件ListViewClick 列表项目单击事件TreeNodeClick 树控件单击事件TreeDragDrop 树控件拖拽EntityRowClick 分录行单击事件AbstractBillPlugIn的ModelPlugIn接口动态表单数据模型插件编程接口定义了数据模型扩展允许通过接口处理数据,以实现特定业务需求AbstractBillPlugIn插件方法CreateNewData 数据模型创建实体对象事件AfterCreateNewData 数据模型创建实体对象完成后事件BeforeUpdateValue 数据更新前事件DataChanged 数据改变后事件CreateNewEntryRow 创建分录行事件BeforeDeleteRow 删除分录行事件AfterDeleteRow 删除分录后事件叙事簿插件接口AbstractListPlugIn 的ViewPlugIn接口序时簿视图插件编程模型接口定义了序时簿视图模型扩展允许通过接口处理视图,实现特定业务需求ListInitialize 视图模型初始化事件AfterGetData 完成取数后事件FormatCellValue 列表格式化接口BeforeButtonClick 按钮和菜单单击前事件AfterButtonClick 按钮和菜单单击后事件CellDbButtonClick 单元格双击事件AbstractListPlugIn 的ModelPlugIn接口序时簿数据模型插件编程接口定义了序时簿数据模型扩展允许通过接口处理数据,以实现特定业务需求PrepareFilterParameter 准备过滤条件CreateFilterEditorControl 触发创建过滤条件控件事件BatchCopyData 复制单据事件AfterBatchCopyData 复制单据完毕事件服务插件插件特性IOperationServicePlugin一般会附加校验器运行于App层事务保护插件针对对象操作Kingdee.BOS.Core.dll服务插件AbstractOperationServicePlugIn应用服务器插件与业务数据更新操作在一个事务执行校验器插件AbstractValidator在服务插件的OnAddValidators加入AbstractOperationServicePlugIn插件方法OnPreparePropertys 可以定制加载指定字段到实体里OnAddValidators 添加自定义数据校验器BeforeExecuteOperationTransaction 执行操作事务前事件AfterExecuteOperationTransaction 执行操作事务后事件BeginOperationTransaction 调用操作事件前触发(支持事务) EndOperationTransaction 调用操作事件完毕(支持事务)表单构建插件继承层次表单单据叙事簿基础资料插件针对对象动态表单单据基础资料Kingdee.BOS.Core.dllAbstractDynamicWebFormBuilderPlugIn插件方法CreateControl 构建界面元素事件AfterCreateControl 构建界面元素后事件CreateMainMenu 构建菜单事件AfterCreateMainMenu 构建菜单后事件表单插件调用过程由控制器创建视图、模型、插件代理初始化视图、模型由插件服务注册到插件代理插件代理初始化插件加载数据,通知插件创建数据,创建表单数据包表单操作插件服务调用代理,发送事件通知插件代理调用插件,执行事件返回执行结果View对象属性this.View(View接口)this.View的常用属性BusinessInfo(界面业务对象元数据)LayoutInfo(布局元数据)Model(动态表单模型接口)OpenParameter(页面调用时传入的参数)方法GetFieldEditor (获取界面控件对象)UpdateView(重新更新界面数据及状态)ShowMessage(显示信息)更改界面控件状态this.View. GetFieldEditor示例:/// <summary>/// 设置金额列精度/// </summary>/// <param name="iScale"></param>/// <param name="strField"></param>private void SetColumnScale(short iScale, string strField){his.View.GetFieldEditor<DecimalFieldEditor>(strField, -1).Scale = iScale; }更新界面数据和状态this.View.UpdateView示例:/// <summary>/// 字段修改事件函数重载/// </summary>public override void DataChanged(DataChangedEventArgs e){switch (e.Key.ToUpper()){case "FPARENTDEPTID": //组织隶属方案和上级部门变化,重新生成部门全称this.Model.SetValue(“FFullName”, GetFullName(e.Key));this.View.UpdateView(“FFullName”);break;}}显示信息this.View.ShowMessage示例:if (e.CurParentId == "0"){this.View.ShowMessage(“请先选择顶层组织。

K3_Cloud_V1.0_BOS_技术开发培训_云平台

K3_Cloud_V1.0_BOS_技术开发培训_云平台

云端体验项目成果
④内部公开 请勿外传
P14
感謝
ขอบคุณ
ありがとう
terima kasih
Thanks 谢谢
版权所有©1993-2012金蝶软件(中国)有限公司
④内部公开 请勿外传
④ 内部公开 请勿外传
K/3Cloud协同开发云有啥不一样呢?
“开发应用,即时体验”,帮助企业降低开发成本
项目创建
项目开发 基于构建包的客户即时体验,大 大降低了开发、业务人员由于沟 通、误解等带来的工作重复。
项目构建
项目体验
④内部公开 请勿外传
P12
K/3Cloud协同开发云有啥不一样呢?
“增值应用”帮助企业二次开发实现盈利
K/3 Cloud V1.0产品培训 -- 云平台
K/3产品部
版权所有©1993-2012金蝶软件(中国)有限公司
④内部公开 请勿外传
④ 内部公开 请勿外传
课程说明:
课程简介: 本课程介绍K/3 Cloud 协同开发云产 品理念和产品定位, 以及K/3 Cloud 协同开发 云的特点及目前实现的功能。
讲师:邹俊
④内部公开 请勿外传
P2
提纲
K/3 Cloud产品的特性介绍 – 云平台
④内部公开 请勿外传
P3
K/3 Cloud企业应用需求不满足时怎么办?
企业所在 行业不同
企业发展 规模不同
企业发展 阶段不同
K/3Cloud 协同开发云
企业自身的行业需求 企业自身的个性需求 企业自身的动态发展需求
④内部公开 请勿外传
P9
K/3Cloud协同开发云有啥不一样呢?
一键式开发环境部署,帮助企业开发人员快速开发业务应用

K3 Cloud操作规程_BOS_业务流程

K3 Cloud操作规程_BOS_业务流程

密级:★高★K/3标准操作规程供应链采购管理XXX股份有限公司金蝶软件(中国)有限公司2022年4月27日2022-04-27文档创建及更新记录日期创建或更新人版本备注2013-5-16 黄志洪V1.0文档审核记录日期审核人职务备注文档去向记录拷贝份数接受人职务备注目录业务流程 (4)1.1业务流程平台 (4)1.1.1创建业务流程 (4)1.1.2基于内置业务流程进行编辑 (22)业务流程1.1 业务流程平台业务流程平台提供对业务流程设计、管理、监控等功能,帮助企业将实际的业务流程加以梳理与规范。

业务流程的模型设计和模板配置分别在业务流程设计中心、业务流程配置中心完成,并支持流程模型的多版本管理和应用。

业务流程管理中心可以对业务流程实例进行管理。

业务流程中可以引用产品预置的或者用户自定义的单据转换规则和反写规则,在流程运行时可以使流程按指定规则进行单据转换,并能进行任意级次的反写。

1.1.1 创建业务流程➢以下面的案例介绍创建业务流程的步骤:1)流程管理员在蓝海集团本部中创建一个业务流程“标准采购流程”2)采购订单有两条下游分支a)采购订单→收料单→入库单b)采购订单→入库单3)2个分支最终都可以生成入库单,入库数量之和不得超过采购数量;4)采购订单每次转换生成单据时,默认携带当前可用量。

5) 采购订单上可以查看累计收料数量、累计入库数量,此数量在收料单、入库单审核后更新。

6) 【采购订单→收料单】时,供应商、收料组织都相同的可以合到一张收料单。

7) 【采购订单→收料单】时,采购订单中已审核、未关闭、未作废的才能转换。

➢ 案例分析1) 采购订单上增加【已关联数量】,生成收料单(或入库单)保存时,将收料数量(或入库数量)反写【已关联数量】进行累加。

2) 采购订单生成收料单(或入库单),收料数量(或入库数量)默认携带【采购数量-已关联数量】,即可以自动填入当前可用量。

3) 通过检查采购订单上【已关联数量】>【采购数量】,判断生成是否超额。

K3 Cloud BOS 技术开发培训_总体技术架构介绍

K3 Cloud BOS 技术开发培训_总体技术架构介绍

元模型库
构件
领域模型模板库 (通用/行业/客户化)
抽象 领域模型
柔性领域构件
界面模型设计
用户界面服务

对象实体设计
领域逻辑服务
领域操作服务

业务逻辑设计
行业1模型 用户界面 业务对象 业务逻辑 通用模型 用户界面 业务对象 业务逻辑
行业2模型 用户界面 业务对象 业务逻辑 客户订制模 型业务对象 业务逻辑 用户界面
K/3Cloud总体技术架构介绍

版权所有©1993-2012金蝶软件(中国)有限公司
④内部公开 请勿外传
④ 内部公开 请勿外传


1 K/3 Cloud技术架构及设计理念
2
K/3 Cloud技术架构特点
3
K/3 Cloud核心技术揭秘
2
④内部公开 请勿外传
K/3 Cloud技术架构
④内部公开 请勿外传
技术领先
应用支撑架构领先 非功能特性领先 交付模式领先
.NET Web2.0+3G SOA 云计算 BOS
门户技术 企业搜索 OBA框架 国际化框架 BPM+BR+BI
并行运算
业务用户建模
动态领域模型 软件生态链
64位计算
多数据库 服务器集群
④内部公开 请勿外传
P4
K/3 Cloud技术架构特点云
P3
K/3 Cloud技术架构设计理念与愿景
目标:动态商业应用(Dynamic Business Application)架构支撑,科技以人为本,而世界始终在变 面对当前商业的起伏变化,我们的架构理念就是“Design For People, Build For Change ”

K3_CloudV1.0_产品培训_BOS_工作流

K3_CloudV1.0_产品培训_BOS_工作流

顺签审批流程 会签审批流程 条件分支流程 并行分支流程 人工单据转换流程 自劢单据转换流程
④内部公开 请勿外传
P28
流程设计中心_主界面
主要功能
设计流程模型的设计器入口; 流程集中修改、管理、发布的
平台; 列表展示所有流程模型,丌迚 行组细隔离;
应用场景
根据业务需要迚行流程的设
计不管理。
④内部公开 请勿外传
④内部公开 请勿外传
P26
工作流整体应用流程
④内部公开 请勿外传
P27
目录
产品框架介终
– 工作流基础 – 应用价值 – 工作流觃划思路 – 工作流架构
系统应用介绉
– 系统整体应用流程 – 产品功能和特性
• • • • • • • • • • 流程设计中心 流程配置中心 信息中心 流程管理中心
– 案例演练
ActionEvent 劢作
④内部公开 请勿外传
P22
目录
产品框架介绉
– 工作流基础 – 应用价值 – 工作流觃划思路 – 工作流架构
系统应用介终
– 系统整体应用流程 – 产品功能和特性
• • • • • • • • • • 流程设计中心 流程配置中心 信息中心 流程管理中心
– 案例演练
顺签审批流程 会签审批流程 条件分支流程 并行分支流程 人工单据转换流程 自劢单据转换流程
– 系统整体应用流程 – 产品功能和特性
• • • • • • • • • • 流程设计中心 流程配置中心 信息中心 流程管理中心
– 案例演练
顺签审批流程 会签审批流程 条件分支流程 并行分支流程 人工单据转换流程 自劢单据转换流程
④内部公开 请勿外传
P7

K3 Cloud V1.0 BOS 技术开发培训_KSQL

K3 Cloud V1.0 BOS 技术开发培训_KSQL

– SQL Server
• UPDATE T1 SET FStatus = -1 • FROM tmp369faa3f7d224b0595670425008 T1 • WHERE EXISTS (SELECT 1 FROM t_BD_Supplier • WHERE (FUseOrgId = t1.FDestOrgID • AND FMasterId = t1.FMasterId)) •
④内部公开 请勿外传
P8
常用KSQL
SELECT TOP N
– KSQL:
• SELECT TOP 10 * FROM T
– ORACLE:
• SELECT * FROM T WHERE ROWNUM <= 10
– SYBASE:
• SET ROWCOUNT 10 • SELECT * FROM T • SET ROWCOUNT 0
④内部公开 请勿外传
P11
常用KSQL
字符串相加
– KSQL:
• SELECT 'AAA' || 'BBB‘ FROM T
– MS SQL Server:
• SELECT 'AAA' + 'BBB‘ FROM T
– ORACE:
• SELECT 'AAA' || 'BBB‘ FROM T
– DB2:
④内部公开 请勿外传
P10
常用KSQL
关联表格更新
– KSQL:
• UPDATE tmp369faa3f7d224b0595670425008 AS t1 • SET FStatus=-1 • WHERE exists(SELECT 1 FROM t_BD_Supplier • WHERE FUseOrgId = t1.FDestOrgID • AND FMasterId = t1.FMasterId) • UPDATE 后面使用别名必须加AS;

K3 Cloud V1.0 BOS 技术开发培训_权限系统结构

K3 Cloud V1.0 BOS 技术开发培训_权限系统结构

④内部公开 请勿外传
P4
权限管理-功能权限的业务应用
功能权限应用 1、主控台菜单按照权限 设置显示 2、用户具有多个角色 的,权限是多个角色的 合集 3、禁止权限优先 针对冲突权限设置 4、业务对象新增使用基 础资料时,丌验基础资 料的查看权限 5、验权时,按照(当前 组细的)用户+角色 (合集)进行控制
④内部公开 请勿外传
P5
权限管理-数据权限设置
数据权限设置 1、数据权限针对业务对 象的查看权限进行设置 2、数据权限提供方案设 置 3、业务对象上的基本信 息字段可以作为数据权 限的条件 4、基础资料权限可以针 对业务对象单独设置数 据权限
④内部公开 请勿外传
P6
权限管理-数据权限的业务应用
数据权限应用 1、数据权限应用到选择 的业务对象查看 2、基础资料权限应用到 角色下特定的业务对象 新增时F8的显示数据
④内部公开 请勿外传
P13
用户应用(一)
administrator
1、唯一默认的用户 2、默认密码:888888, 只受密码规则控制 3、丌能删除 4、丌需要授权 5、丌能进行业务操作 和主数据的管理 6、可以进行操作:基 础资料(部分)、系统 管理、系统设置 7、系统管理 1)组细以及相关属性 2)用户创建及维护 3)角色创建及维护 公有/私有 4)权限管理
④内部公开 请勿外传
P17
感謝
ขอบคุณ
ありがとう
terima kasih
Thanks 谢谢
版权所有©1993-2012金蝶软件(中国)有限公司
④内部公开 请勿外传
④ 内部公开 请勿外传
④内部公开 请勿外传
P7
权限管理-字段权限设置

K3+Cloud+BOS插件开发培训

K3+Cloud+BOS插件开发培训

动态表单视图 • 2个重要的属性 • BusinessInfo • LayoutInfo
动态表单视图
• 界面元素访问
• 访问菜单
• this.View.GetMainBarItem • this.View.GetBarItem
动态表单视图
• 界面元素访问
• 访问表单控件
• this.View.GetControl • this.View.GetView
动态表单插件 • 表单事件 • BarItemClick • EntryBarItemClick • ToolBarItemClick
动态表单插件 • 表单事件 • ButtonClick • EntityRowClick • EntityRowDoubleClick • EntryButtonCellClick
动态表单插件 • 模型访问操作 • BeforeUpdateValue • BeforeDeleteRow • AfterDeleteRow
动态表单插件 • 单据插件 • 基础资料插件
• 列表插件 • 过滤条件插件
单据插件 • 继承自动态表单
单据插件
• 接口 • IBillViewPlugIn
动态表单插件 Kingdee.BOS.Core. DynamicForm.PlugIn.AbstractDynamicFormPlugIn Nhomakorabea列表插 件
列表插件 Kingdee.BOS.Core. List.PlugIn.AbstractListPlugIn
动态表单插件 • 接口
• IDynamicFormViewPlugIn • IDynamicFormModelPlugIn
动态表单插件 • 加载机制 • OnInitialize • CreateNewData / AfterCreateNewData • BeforeBindData / AfterBindData

K3 Cloud V1.0 BOS 技术开发培训_课程说明

K3 Cloud V1.0 BOS 技术开发培训_课程说明
软件 操作系统 (任选其一) 版本 Window Server 2003/2003 R2 (推荐) Window Server 2008 (推荐) Window Server 2008 R2 (推荐) Window XP Window 7 SQL Server 2005 SQL Server 2008 SQL Server 2008 R2 SQL Server 2012 Oracle Database 11gR2 K/3 Cloud V1.0 Visual Studio 2010 (推荐) Visual Studio 2012
2013-03-12 2013-03-13 2013-03-14
课程说明 总体技术架构介绍 产品部署 开发环境部署 开发规范 数据中心与账套管理 多组织与权限体系 集成开发环境(IDE)配置与演练 插件开发 工作流配置与演练 业务流程配置与演练 套打与报表体系 课程总结
④内部公开 请勿外传
P6
提前准备环境
K/3 Cloud BOS领域设计师 ben_liu@
邹俊
赖碧云
K/@
K/3Cloud 云应用领域 产品经理
zj@
④内部公开 请勿外传
感謝
ขอบคุณ
ありがとう
terima kasih
Thanks 谢谢
④内部公开 请勿外传
P2
启航, 4天, 3大篇章
引领入门,扫清障碍
K/3 Cloud BOS 设计理念、技术架构、架构特点 K/3 Cloud BOS 动态领域模型、领域解读 K/3 Cloud BOS 基本开发流程
④内部公开 请勿外传
P3
启航, 4天, 3大篇章
环境部署,做好准备
K/3 Cloud 安装部署 K/3 Cloud BOS 插件开发环境部署 数据中心管理与配置 多组织与权限体系 开发规范

K3_Cloud_V1.0_BOS_技术开发培训_开发环境配置

K3_Cloud_V1.0_BOS_技术开发培训_开发环境配置
K/3Cloud 开发运行环境
版权所有©1993-2012金蝶软件(中国)有限公司
④内部公开 请勿外传
④ 内部公开 请勿外传
课程说明:
课程简介:
本课程为K/3Cloud BOS二次开发环境配置
提供数据参考,并为环境搭建提供指导和帮助。
④内部公开 请勿外传
P2
提纲
运行环境 开发环境 跟踪调试
④内部公开 请勿外传
P3
开发环境配置
运行环境
– 部署 – 服务器 – 客户端
④内部公开 请勿外传
P4
开发环境配置
运行环境
图 运行环境-部署角色
④内部公开 请勿外传
P5
开发环境配置
运行环境 – 服务器
服务器 组件 Microsoft SQL Server 数据库服务器 Oracle Database 11g (ODAC) IIS WEB服务器 Microsoft .NET Framework 6.0以上 4.0 Linux x86-64 AIX 版本 2005|2008|2008R2 操作系统 Windows Server 2003以上
个人
客户端+数据库 内存(SQLServer) 4 GB以上 内存(oracle) 8 GB以上
④内部公开 请勿外传
P11
开发环境配置
开发环境 – 开发工具
– 开发工具
• Visual studio 2010
– 数据库工具
• SQLServer 2008 或 Oracle 11g
– 跟踪工具 • HttpWatchPro6.0
标准版、企业版
Windows Server 2003以上
④内部公开 请勿外传

K3 CloudV1.0_产品培训_BOS_BOSIDE

K3 CloudV1.0_产品培训_BOS_BOSIDE

,设置的单据视图,可以支持 在工作流、单据类型中调用, 无需再设置界面控制方式,而 是直接选叏合适的视图来实现 界面控制;
④内部公开 请勿外传 P10
业务对象设计——事件直接调用服务
功能说明
值更新事件 列表双击事件 实体服务规则
通过字段“值更 通过单据“列表 新事件”属性, 通过单据体“实体服 双击事件”属性, 定义值更新事件; 务规则”属性,定义 定义列表双击事 实体服务规则; 件;
已设定互斥关系的 子系统; 选择需要设置互 斥的子系统;
应用场景
用户小王打开存货核算—采
购入库核算,不乊相关的采购 管理子系统就被独占,其他用 户使用采购管理系统时,提示 采购管理系统已被小王互斥占 用。
设置子系统互斥列 表;
④内部公开 请勿外传
P15
业务对象设计——子功能控制
功能说明
子功能明绅互斥 用户打开某个子系统子功能A
客户价值
通过系统参数,实现选项功
能控制。
④内部公开 请勿外传
P21
目录 业务对象设计
収布不部署
运行平台
套打设计平台
案例演练
④内部公开 请勿外传
P22
収布
功能说明
通过系统参数指系统中的参数
设置界面。设置好的业务对象 可以通过収布功能,収布到主 控台界面,用户登录主控台后 ,可通过该功能生成的链接调 用BOS业务对象相应功能;
客户价值
用户快速查询系统单据信息;
④内部公开 请勿外传
P27
运行平台——选项设置
功能说明
系统运行时提供选项设置功能
,用户可根据操作习惯进行相 应的参数设置;
客户价值
并支持按用户保存,用户下

K3 Cloud V1.0 BOS 技术开发培训_插件开发环境部署

K3 Cloud V1.0 BOS 技术开发培训_插件开发环境部署

④内部公开 请勿外传
P7
系统部署角色
角色 开发
oud BOS IDE、MS 浏览器(IE 8/9) VS2010开发业务对象。 微软Silverlight 5.0 用浏览器或WPF客户端访问应用服务器,调试成果 K/3 Cloud BOS IDE MS VS2010
K/3 Cloud V1.0 插件开发环境部署
版权所有©1993-2012金蝶软件(中国)有限公司
④内部公开 请勿外传
④ 内部公开 请勿外传
目 录
1 2 3 4 5
环境准备
系统部署角色
推荐的部署方式
开发环境部署
功能调试
④内部公开 请勿外传
环境准备
K/3 Cloud V1.0 产品
– – – – – K/3 Cloud 插件开发,需要基于K/3 Cloud产品 插件依赖组件来源于K/3 Cloud K/3 Cloud 提供IDE设计器,完成业务对象设计 业务对象设计成果存储(存储与业务数据库) 基于K/3 Cloud运行环境,进行调试
开发环境部署
K/3 Cloud产品部署
– K/3 Cloud 产品其他角色的部署,请参与K/3 Cloud 产品部署文档 – 本文仅介绍开发机器的部署
部署K/3 Cloud 应用服务器
– K/3 Cloud应用服务器部署过程,参见产品部署 – 请记住应用服务器站点部署目录,通常为
• C:\Program Files\Kingdee\K3Cloud
– IIS进程为w3wp.exe
在K/3 Cloud中打开待调试单据,进行调试
④内部公开 请勿外传
P15
感謝
ขอบคุณ
ありがとう
terima kasih

K3+Cloud+BOS开发培训_插件开发1-接口

K3+Cloud+BOS开发培训_插件开发1-接口

架构模型动态表单领域模型插件开发步骤定义插件类(参照继承体系);分析业务定义重载方法;引用相关组件(参照组件引用规则);重载方法编码;设置编译路径,编译组件;打开IDE设计器,配置插件;动态表单视图接口IDynamicFormViewIDynamicFormViewService2个重要的属性BusinessInfoLayoutInfo界面元素访问1、访问菜单this.View.GetMainBarItemthis.View.GetBarItem2、访问表单控件this.View.GetControlthis.View.GetView3、访问字段this.View.GetFieldEditorthis.View.LockFieldthis.View.SetFormTitle 4、执行操作ShowFormUpdateViewInvokeFieldUpdateService动态表单模型接口IDynamicFormModelIDynamicFormModelService属性BusinessInfoDataObject数据操作CreateNewDataCreateNewEntryRowInsertEntryRowGetEntryCurrentRowIndexLoadReferenceDataGetValueGetEntityDataObject动态表单插件命名空间:Kingdee.BOS.Core.DynamicForm.PlugInIDynamicFormViewPlugIn IDynamicFormModelPlugIn加载机制OnInitializeCreateNewData / AfterCreateNewData BeforeBindData / AfterBindDataBeforeClosed表单操作BeforeDoOperation / AfterDoOperationBeforeF7Select / AfterF7Select TabItemSelectedChange表单事件BarItemClickEntryBarItemClickToolBarItemClickButtonClickEntityRowClickEntityRowDoubleClickEntryButtonCellClick模型访问操作BeforeUpdateValueBeforeDeleteRowAfterDeleteRow单据插件(基础资料插件)继承自动态表单接口IBillViewPlugInOnBillInitialize参数BillOpenParameterIBillModelPlugInBeforeSave / AfterSaveBeforeSubmit / AfterSubmit列表插件继承自动态表单接口IListViewPlugInOnListInitialize参数ListOpenParameterAfterGetDataFormatCellValueIListModelPlugInPrepareFilterParameterBatchCopyData过滤条件插件接口IListFilterViewIListFilterModelFilterObjectQuickFilterObjectIsolationOrgIdGetFilterField事件OnParseSettingFireBeforeBindFilterMetadataFireBeforeSelectTreeNodeScheme服务插件命名空间:Kingdee.BOS.Core.DynamicForm.PlugIn抽象类:AbstractOperationServicePlugIn继承体系:(继承自抽象类)Kingdee.BOS.Core.DynamicForm.PlugIn.AbstractOperationServicePlugIn接口IOperationServicePlugInBeforeExecuteOperationTransactionAfterExecuteOperationTransactionBeginOperationTransactionEndOperationTransaction校验服务IOperationServicePlugInOnAddValidatorsSaveValidator : AbstractValidatorValidate表单插件和列表插件继承层次表单单据叙事簿基础资料插件针对对象动态表单单据基础资料Kingdee.BOS.Core.dllAbstractBillPlugIn 接口AbstractBillPlugIn的ViewPlugin插件接口OnBillInitialize 视图模型初始化事件AfterBindData 绑定数据后事件处理接口BeforeF7Select 基础资料弹出前事件BeforeClosed 窗口关闭前事件BarItemClick 菜单单击事件处理扩展接口AfterBarItemClick 菜单单击事件后BeforeDoOperation 操作调用前事件AfterDoOperation 操作调用完成后事件ButtonClick 按钮单击事件AfterButtonClick 按钮单击后事件ListViewClick 列表项目单击事件TreeNodeClick 树控件单击事件TreeDragDrop 树控件拖拽EntityRowClick 分录行单击事件AbstractBillPlugIn的ModelPlugIn接口动态表单数据模型插件编程接口定义了数据模型扩展允许通过接口处理数据,以实现特定业务需求AbstractBillPlugIn插件方法CreateNewData 数据模型创建实体对象事件AfterCreateNewData 数据模型创建实体对象完成后事件BeforeUpdateValue 数据更新前事件DataChanged 数据改变后事件CreateNewEntryRow 创建分录行事件BeforeDeleteRow 删除分录行事件AfterDeleteRow 删除分录后事件叙事簿插件接口AbstractListPlugIn 的ViewPlugIn接口序时簿视图插件编程模型接口定义了序时簿视图模型扩展允许通过接口处理视图,实现特定业务需求ListInitialize 视图模型初始化事件AfterGetData 完成取数后事件FormatCellValue 列表格式化接口BeforeButtonClick 按钮和菜单单击前事件AfterButtonClick 按钮和菜单单击后事件CellDbButtonClick 单元格双击事件AbstractListPlugIn 的ModelPlugIn接口序时簿数据模型插件编程接口定义了序时簿数据模型扩展允许通过接口处理数据,以实现特定业务需求PrepareFilterParameter 准备过滤条件CreateFilterEditorControl 触发创建过滤条件控件事件BatchCopyData 复制单据事件AfterBatchCopyData 复制单据完毕事件服务插件插件特性IOperationServicePlugin一般会附加校验器运行于App层事务保护插件针对对象操作Kingdee.BOS.Core.dll服务插件AbstractOperationServicePlugIn应用服务器插件与业务数据更新操作在一个事务执行校验器插件AbstractValidator在服务插件的OnAddValidators加入AbstractOperationServicePlugIn插件方法OnPreparePropertys 可以定制加载指定字段到实体里OnAddValidators 添加自定义数据校验器BeforeExecuteOperationTransaction 执行操作事务前事件AfterExecuteOperationTransaction 执行操作事务后事件BeginOperationTransaction 调用操作事件前触发(支持事务) EndOperationTransaction 调用操作事件完毕(支持事务)表单构建插件继承层次表单单据叙事簿基础资料插件针对对象动态表单单据基础资料Kingdee.BOS.Core.dllAbstractDynamicWebFormBuilderPlugIn插件方法CreateControl 构建界面元素事件AfterCreateControl 构建界面元素后事件CreateMainMenu 构建菜单事件AfterCreateMainMenu 构建菜单后事件表单插件调用过程由控制器创建视图、模型、插件代理初始化视图、模型由插件服务注册到插件代理插件代理初始化插件加载数据,通知插件创建数据,创建表单数据包表单操作插件服务调用代理,发送事件通知插件代理调用插件,执行事件返回执行结果View对象属性this.View(View接口)this.View的常用属性BusinessInfo(界面业务对象元数据)LayoutInfo(布局元数据)Model(动态表单模型接口)OpenParameter(页面调用时传入的参数)方法GetFieldEditor (获取界面控件对象)UpdateView(重新更新界面数据及状态)ShowMessage(显示信息)更改界面控件状态this.View. GetFieldEditor示例:/// <summary>/// 设置金额列精度/// </summary>/// <param name="iScale"></param>/// <param name="strField"></param>private void SetColumnScale(short iScale, string strField){his.View.GetFieldEditor<DecimalFieldEditor>(strField, -1).Scale = iScale; }更新界面数据和状态this.View.UpdateView示例:/// <summary>/// 字段修改事件函数重载/// </summary>public override void DataChanged(DataChangedEventArgs e){switch (e.Key.ToUpper()){case "FPARENTDEPTID": //组织隶属方案和上级部门变化,重新生成部门全称this.Model.SetValue(“FFullName”, GetFullName(e.Key));this.View.UpdateView(“FFullName”);break;}}显示信息this.View.ShowMessage示例:if (e.CurParentId == "0"){this.View.ShowMessage(“请先选择顶层组织。

金蝶云K3 Cloud BOS二次开发之参数设置

金蝶云K3 Cloud BOS二次开发之参数设置

金蝶知识库文档
图-4 权限控制勿勾选
3.1 系统参数开发流程
3.1.1 在 BOSIDE 中绘制界面
步骤 1:打开 K/3BOS 界面,单击工具栏【新建】,弹出【新建向导】窗口,左边新建 类型选择新建【空白对象】或者复制。
此处选择新建,模板列表中选择【系统参数】,业务对象中输入对应的对象名称,单击 【确定】即可。如下图-5 所示。
}
金蝶软件(中国)有限公司 客户服务中心
第 9 页 共 18 页
金蝶知识库文档 finally {
ServiceFactory.CloseService(systemParameterService); } return sysParaObject; }
编写 xml 读取代码获取参数值: 在以上文档中已经讲解了系统参数的数据存储,可以自己通过读取 Fparameters 字段的 值,然后把它复制给一个 XML 对象,通过解析 XML 对象来获取参数。(网络上有很多 XML 解 析的实例,可以参考,这里不再举例)
(' PUR_PURCHASEORDER '是采购订单的标识)如下图-18 所示。
图-18 单据类型参数查询
所有的参数都存放在 FPARASETTINGXML 字段中,这是一个 XML 类型字段,在设置单据 类型参数时,实际上是在向这个 XML 字段添加标签,如下图-19 所示。
金蝶软件(中国)有限公司 客户服务中心
金蝶软件(中国)有限公司 客户服务中心
第 5 页 共 18 页
金蝶知识库文档
图-5 新建系统参数模板
步骤 2:绘制参数界面如下图-6 所示。在界面上添加控件、字段来绘制系统参数界面。
图-6 系统参数绘制界面

K3_Cloud_V10_BOS_技术开发培训_BOS平台二次开发规范

K3_Cloud_V10_BOS_技术开发培训_BOS平台二次开发规范
– AfterBindData
绑定数据后事件处理接口
– AfterF7Select
F7操作后事件
– LanguageChanged
语言切换
④内部公开 请勿外传
P25
插件开发指南
实现接口——IDynamicFormViewPlugin
– BarItemClick
菜单单击事件处理扩展接口
– AfterBarItemClick
4、All that you do, do with your might; things done by halves are never done right. ----R.H. Stoddard, American poet做一切事都应尽力而为,半途而废永远不行 5.26.20215.26.202108:3008:3008:30:5708:30:57
June 2021
1、Genius only means hard-working all one's life. (Mendeleyer, Russian Chemist)
天才只意味着终身不懈的努力。21.5.265.26.202108:3008:30:57May-2108:30
2、Our destiny offers not only the cup of despair, but the chalice of opportunity. (Richard Nixon, American President )命运给予我们的不是失望之酒,而是机会之杯。二〇二一年五月二十六日2021年5月26 日星期三
KDV_V_USER KDV_P_GETUSERLIST
KDV_PK_USER
索引
{ISV 标 识 符 }_IX_{ 表 缩 30 写}_{字段缩写}
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

④内部公开 请勿外传
P8
提纲
命名空间规范 程序集 BOS设计器规范 数据库规范 揑件继承体系
④内部公开 请勿外传
P9
BOS设计器规范
业务对象编号(FormID)
– 自劢生成
GUID
④内部公开 请勿外传
P10
BOS设计器规范
BOS设计器对象属性标识(Key)不允许重复 – 格式:{ISV标识符}_{标识}
④内部公开 请勿外传
P23
插件开发指南
实现接口——IDynamicFormViewPlugin
– OnInitialize
视图模型初始化事件
– AfterLoadData
加载数据后事件
– AfterBindData
绑定数据后事件处理接口
– AfterF7Select
F7操作后事件
– LanguageChanged
主键 索引 缺省值 凼数 {ISV标识符}_PK_{名称}
30
30
KDV_P_GETUSERLIST
KDV_PK_USER KDV_IX_USER_FID KDV_DF_USER_FID KDV_FN_GETCOUNT
{ISV 标 识 符 }_IX_{ 表 缩 30 写}_{字段缩写} {ISV标识符}_DF_{名称} {ISV标识符}_FN_{名称} 30 30
列表揑件
AbstractListPlugIn
④内部公开 请勿外传
P21
插件开发规范
揑件实现
– 重载抽象类操作方法
④内部公开 请勿外传
P22
插件开发规范
单据揑件
– 继承:AbstractBillPlugIn
基础资料揑件
– 继承: AbstractBasePlugIn
劢态表单揑件
– 继承: AbstractDynamicFormPlugIn
– CreateNewData
数据模型创建实体对象事件
– AfterCreateNewData
数据模型创建实体对象完成后事件
– BeforeUpdateValue
数据更新前事件
– DataChanged
数据改变后事件
– CreateNewEntryRow
创建分录行事件
– BeforeDeleteRow
• 报表
④内部公开 请勿外传
P19
继承体系
业务系统扩展
– 业务系统揑件
• 单据 • 基础资料 • 劢态表单 • 列表
④内部公开 请勿外传
P20
继承体系
抽象类(组件:Kingdee.BOS.Core)
类(插件、服务) 单据揑件 基础资料揑件 AbstractBasePlugIn 业务系 统揑件 劢态表单揑件 AbstractDynamicFormPlugIn 继承自抽象类 AbstractBillPlugIn
触发器
序列
{ISV标识符}_TRG_{名称} 30
Z_{ISV标识符}_T_{名称} 30
KDV_TRG_USERINS
Z_KDV_T_USER
④内部公开 请勿外传 P15
数据库规范
数据库对象规范
– –
避免扩展冲突 凼数、触发器不建议使用
④内部公开 请勿外传
P16
数据库规范
数据类型规范
– 使用的数据类型 CHAR NCHAR
BOS二次开发规范
版权所有©1993-2012金蝶软件(中国)有限公司
④内部公开 请勿外传
④ 内部公开 请勿外传
课程说明:
课程简介:
本课程为K/3 Cloud BOS二次开发提供开
发标准。
④内部公开 请勿外传
P2
提纲
命名空间规范 程序集 BOS设计器规范 数据库规范
④内部公开 请勿外传
P3
开发环境及参数设置
命名空间规范
命名要求表达准确,无歧义
– 格式:{ISV}[.K3][.业务系统][.模块][.功能]
ISV ::= 开发商标识符 业务系统 ::= K/3业务系统标识符 模块 ::= K/3模块标识符 功能 ::= 功能标识符 技术名称和功能均使用 Pascal 大小写
KDV.K3.SCM.SAL.ExpOrder
语言切换
④内部公开 请勿外传
P24
插件开发指南
实现接口——IDynamicFormViewPlugin
– BarItemClick
菜单单击事件处理扩展接口
– AfterBarItemClick
菜单单击事件后
– BeforeDoOperation
操作调用前事件
– AfterDoOperation
操作调用完成后事件
BIGINT
NUMERIC DECIMAL
[-2^63,2^63-1]
BIGINT
DECIMAL DECIMAL
NUMBER(19)
NUMBER NUMBER
④内部公开 请勿外传 P30
Q&A
④内部公开 请勿外传 P31
感謝
ขอบคุณ
ありがとう
terima kasih
Thanks 谢谢
版权所有©1993-2012金蝶软件(中国)有限公司
NVARCHAR
BLOB NCLOB SMALLINT DATETIME
[1,4000]
[1,] [1,]
NVARCHAR[(n)]
IMAGE NTEXT INT SMALLINT DATETIME
NVARCHAR2(n)
BLOB NCLOB NUMBER(10) NUMBER (5) DATE
INT,INTEGER [-2^31,2~31-1]
④内部公开 Βιβλιοθήκη 勿外传P13数据库规范
数据库对象规范

字段命名

[F_]{ISV标识符}_{名称}

长度:< 30
示例: KDV_USERNAME
④内部公开 请勿外传
P14
数据库规范
数据库对象规范
对象 视图 命名规则 {ISV标识符}_V_{名称} 最大长度 30 示例 KDV_V_USER
存 储 过 {ISV标识符}_P_{名称} 程
– – – –
ListViewClick —— 列表项目单击事件 TreeNodeClick —— 树控件单击事件 TreeDragDrop ——数控件拖拽 EntityRowClick —— 分录行单击事件
④内部公开 请勿外传
P25
插件开发指南
实现接口——IDynamicFormModelPlugIn
删除分录行事件
– AfterDeleteRow
删除分录后事件
④内部公开 请勿外传 P26
插件开发规范
序时簿揑件
– 继承: AbstractListPlugIn
④内部公开 请勿外传
P27
插件开发指南
实现接口——IListViewPlugin
– BarItemClick
菜单单击事件处理扩展接口
– AfterBarItemClick
KDV.K3.ExpOrder
KDV.ExpOrder
④内部公开 请勿外传
P6
提纲
命名空间规范 程序集 BOS设计器规范 数据库规范 揑件继承体系
④内部公开 请勿外传
P7
程序集规范
与命名空间一致
– 格式:{ISV}[.K3][.业务系统][.模块][.功能]
KDV.K3.SCM.SAL.ExpOrder.dll KDV.K3.ExpOrder.dll KDV.ExpOrder.dll
开发工具:VS2010+{Oracle11gClient|SQLServer2008}
VS环境设置:
服务端组件输出路径 %TFS%\K3Cloud\K3CloudServer\Bin
④内部公开 请勿外传
P4
提纲
命名空间规范 程序集 BOS设计器规范 数据库规范 揑件继承体系
④内部公开 请勿外传
P5
– 单据体标识
– 字段标识
通常建议Key = 字段名({ISV标识符}_{名称})
④内部公开 请勿外传
提纲
命名空间规范 程序集 BOS设计器规范 数据库规范 揑件继承体系
④内部公开 请勿外传
P12
数据库规范
数据库对象规范

表命名

{ISV标识符}_T_{名称}

长度:< 30
示例: KDV_T_USER
菜单单击事件后
– BeforeDoOperation
操作调用前事件
– AfterDoOperation
操作调用完成后事件
– CellDbClick
单元格双击事件
– AfterGetData
取数完成后事件
④内部公开 请勿外传
P28
插件开发指南
优先使用表单业务逻辑服务 使用表单校验规则实现校验 表单服务和揑件中尽量使用凼数 简单业务逻辑通过python脚本描述 特殊场景通过揑件实现
④内部公开 请勿外传
P29
附——数据类型对应关系
数据类型
CHAR VARCHAR NCHAR
长度
[1,254] [1,4000] [1,2000]
Sql server
CHAR[(n)] VARCHAR[(n)] NCHAR[(n)]
Oracle
CHAR[(n)] VARCHAR2(n) NCHAR[(n)]
VARCHAR
BLOB SMALLINT DECIMAL DATETIME
NVARCHAR
NCLOB INT
相关文档
最新文档