金蝶云苍穹扩展开发简单介绍
45-金蝶云苍穹扩展开发简单介绍.md
注意
本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。
产品简介
扩展开发
当金蝶云苍穹提供的标准产品无法满足终端用户的个性化需求时采取的开发模式,通过对应用和单据的扩展, 用户可以基于标准产品打造完全个性化的内容,这些扩展后的内容都是按租户严格隔离的,多个租户之间互不影响。 扩展模式一般只提供给终端用户对标准产品进行个性化处理,当对单据进行扩展开发后,系统中原来访问原单据的地方会自动展示扩展后的单据, 包括菜单、工作流,上下查等。
扩展的优点
支撑客户自定义业务需求
满足个性化功能
可持续化升级
保证二次开发兼容性
最小化升级包
扩展的场景
当前业务流程保持不变
原单据增加业务字段
原单据扩展业务功能
原单行业特性开发
扩展的方法
扩展主要包含以下三种方式:
应用扩展
表单扩展
操作扩展
快速入门
扩展的规范和要求
- 云和应用编码规范
{ISV标识}_{云编码}
{ISV标识}_{应用编码}
例如:
LT_MFG
LT_PRD (生产任务应用)
- 设计器对象命名规范
业务对象命名
{ISV标识}_{业务对象标识}
整个系统中不允许重复
长度不超过36位
对象名为字符、_、数字
例如:
LT_PurchaseOrder
元素命名
元素包括:控件、字段、容器、实体。
{ISV标识}_{元素标识}
当前业务对象中不允许重复
长度不超过36位
对象名为字符、_、数字
特殊要求
实体的表名属性、字段的字段名属性要求:
长度<=24位
表名:T_{ISV标识}_{表名}
字段名:F_{ISV标识}_{字段名}
- 继承体系
- 表单类插件
- 表单、单据、基础资料、移动
- 列表、报表
- 实体类插件
- 操作
- 反写规则
- 单据转换
- 插件命名规范
- 增加ISV前缀
- 插件继承关系
- 表单类插件 - bos-form-core.jar
- 实体类插件 - bos-entity-core.jar
业务对象类型 | 应用场景 | 预置的Java插件基类 |
---|---|---|
动态表单 | PC端界面 | AbstractFormPlugin |
移动端界面 | AbstractMobFormPlugin | |
单据、基础资料 | PC端界面 | AbstractBillPlugIn |
移动端界面 | AbstractMobBillPlugIn | |
单据列表 | AbstractListPlugin | |
左树右表单据列表 | AbstractTreeListPlugin | |
树形基础资料列表 | StandardTreeListPlugin | |
移动端单据列表 | AbstractMobListPlugin | |
业务操作 | AbstractOperationServicePlugIn | |
单据转换 | AbstractConvertPlugIn | |
关联反写 | AbstractWriteBackPlugIn | |
生成凭证 | AbstractBuildVchPlugin |
应用扩展
- 金蝶应用类型
- 金蝶原厂应用
应用名称上带有 “原”字样,代表为金蝶原厂应用

- 第三方应用
应用上的三角形代表为第三方厂商开发应用

- 租户自建应用
应用名称上带有 “自”字样,代表当前租户自建应用

- 应用扩展开发
在云应用管理界面,点击需要扩展的应用卡片上的“扩”图标即可快速生成扩展应用

扩展应用可以修改部分属性
- 修改菜单
修改应用基本信息

- 修改应用高级信息中部分属性

- 应用扩展限制
金蝶苍穹的所有类型的应用都支持扩展,但是只能垂直扩展,不能水平扩展
扩展过一次的应用不可再次扩展;扩展的应用可以继续向下扩展
只能垂直扩展,不能水平扩展

表单扩展
- 扩展方式
点击扩展应用进入扩展应用的页面管理页。
自建页面
表单扩展
扩展方式和应用扩展类似

如果分组中包含扩展的页面,分组标签会从“源” --> “扩”
打开扩展页面开始扩展设计

- 可扩展的内容
- 界面规则
允许修改源页面的界面规则,也可以新增自己的界面规则

- 业务规则
允许修改源页面的业务规则,也可以新增自己的业务规则

- 修改字段名称
源页面的字段标识不允许修改,但可以修改字段名称
- 隐藏字段
如果不需要使用源页面的字段,可以隐藏字段
- 添加字段
可以在源页面的基础上新增字段以满足扩展的需要
- 添加按钮
可以新增更多的功能菜单以满足个性化需求
- 编辑插件
扩展页面可对插件进行编辑,修改源页面的插件或者新增自己的插件
操作扩展
- 扩展方式
在页面设计中选中主实体,在属性栏点击操作属性进入操作编辑界面
可以编辑已有的操作或者新增操作
新增操作
- 点击新增按钮进入新增操作界面
选择操作类型
系统根据不同的业务场景内置有丰富的操作,选择一个已有的操作类型添加新来
操作配置
- 点击一个已有的操作,点击修改即可进入编辑界面
可对操作的参数和相关控制进行配置,主要是配置操作校验器和插件等
- 操作插件
- 单据操作可配置的插件如下:
事件 | 触发时机 |
---|---|
onPreparePropertys | 在单据列表上执行单据操作,系统需要先根据传入的单据内码,加载单据数据包;在加载单据数据包之前,触发此事件;插件需要在此事件,添加需要用到的字段; |
onAddValidators | 系统预置的操作校验器加载完毕,执行校验之前,触发此事件; |
beforeExecuteOperationTransaction | 操作校验通过之后,开启事务之前,触发此事件; |
beginOperationTransaction | 操作校验通过,开启了事务,准备把数据提交到数据库之前触发此事件; |
endOperationTransaction | 数据已经提交到数据库之后,事务未提交之前,触发此事件; |
rollbackOperation | 操作事务提交失败,事务回滚之后触发此事件; |
afterExecuteOperationTransaction | 操作执行完毕,事务提交之后,触发此事件; |
- 插件代码如下:
package kd.bos.form.plugin;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.AddValidatorsEventArgs;
import kd.bos.entity.plugin.PreparePropertysEventArgs;
import kd.bos.entity.plugin.args.AfterOperationArgs;
import kd.bos.entity.plugin.args.BeforeOperationArgs;
import kd.bos.entity.plugin.args.BeginOperationTransactionArgs;
import kd.bos.entity.plugin.args.EndOperationTransactionArgs;
import kd.bos.entity.plugin.args.RollbackOperationArgs;
public class SampleOperationPlugin extends AbstractOperationServicePlugIn {
@Override
public void onPreparePropertys(PreparePropertysEventArgs e) {
// TODO 在此添加业务逻辑
}
@Override
public void onAddValidators(AddValidatorsEventArgs e) {
// TODO 在此添加业务逻辑
}
@Override
public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
// TODO 在此添加业务逻辑
}
@Override
public void beginOperationTransaction(BeginOperationTransactionArgs e) {
// TODO 在此添加业务逻辑
}
@Override
public void endOperationTransaction(EndOperationTransactionArgs e) {
// TODO 在此添加业务逻辑
}
@Override
public void rollbackOperation(RollbackOperationArgs e) {
// TODO 在此添加业务逻辑
}
@Override
public void afterExecuteOperationTransaction(AfterOperationArgs e) {
// TODO 在此添加业务逻辑
}
}
分割线
相关信息
以上就是我关于 金蝶云苍穹扩展开发简单介绍 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。