9979997藏宝阁香港马会
大学生考试网 让学习变简单
赞助商链接
当前位置:9979997藏宝阁香港马会 >> 理学 >>

第二节 K3 BOS 详解

第二节  K3 BOS 详解

9979997藏宝阁香港马会 www.shixinhuamu.com
K/3 BOS开发认证培训
-- 基于K/3V11.0
演讲人:K/3BOS开发部 金蝶软件(中国)有限公司

提纲
? ? ? ? ?

K/3BOS开发综述 基础资料、单据业务对象开发

操作管理
扩展服务 多级审核流程开发

?
? ?

单据转换流程开发
报表开发 K/3BOS插件开发模型

?

部署

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P2

基于平台技术的金蝶K/3 ERP

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P3

K/3 BOS集成开发原理(典型场景)
1、业务系统 2、业务对象 3、商业逻辑 4、序时簿 5、多级审核流程 6、消息预警 7、权限 8、业务流程 9、报表 10、数据交换 11、插件开发 12、多语言 13、快速部署 。。。

采购申请
业务流程定义

创建新单据

询价单 采购订单 质检单
业务流程定义
复制现有模版

采购订单B

业 务 定 义

修改参数

入库单 标准系统应用

业务配置

入库单 K/3 BOS应用

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P4

K/3 BOS集成开发
K/3 BOS集成开发工具

基 础 资 料 设 计

业 务 单 据 设 计

审 核 流 程 设 计

单 据 流 程 设 计

业 务 报 表 设 计

应 用 部 署 管 理

……

插 件 开 发 模 型

插 件 开 发 工 具

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P5

K/3 BOS标准完整的开发流程
业务 分析

基础 资料 定义

业务 单据 定义

审核 流程 定义

K/3 BOS
单据 流程 定义 报表 定义 插件 开发 部署 发 布

运行已定义好的功能 将已配置信息发布到应用环境中

在K/3主界面上可以按角色配置已开发的功能 灵活的定义检斤业务报表 可视化的定义业务单据

可视化的定义检斤业务流程
P6

版权所有 ?1993-2006 金蝶软件(中国)有限公司

K/3 BOS的三大产品特性
可视化、拖拽式的业务配置模式 基础资料、业务单据、多级审核、单 据转换、业务报表、应用部署等一体化 的设计模式 抽象业务应用中最繁琐的环节 ?

简单快速
基础数据集成 业务流程集成 消息集成 权限集成 主控台集成 …

K/3 BOS

元数据描述机制 元数据引擎 接口的一致性 …

易于集成

平滑升级

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P7

可视化、与技术无关的集成开发环境
主要功能
?可视化、技术无关的集成开发

子系统管理 工具栏和菜 单

环境

属性定义 丰富的字段 定义

可视化的定义业务单据
客户价值
?通过鼠标点击、拖拉等方式创

建新系统,勿须编写程序代码, 所见即所得

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P8

基础资料定义
主要功能
?定义基础资料。

可视化基础 资料设计

客户价值
?定义基础资料时,只需定义基

础资料的项目及相关属性,即能 完成与基础资料相关的各种业务 对象及应用界面; ?将大量的编程工作简化成界面 的定义,降低二次开发的难度;

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P9

业务单据定义
主要功能
?新增或修改业务单据

可视化界 面和业务 逻辑设计

客户价值
?只需定义单据项目及相关属性,

即能完成与单据相关业务对象的 定义 ?将大量的编程工作简化成界面的 定义,降低二次开发的难度;

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P10

扩展业务服务
主要功能
?将标准ERP的部份业务功能抽象

成业务服务,以便在新开发的系 统中使用这些扩展服务

客户价值
?集成。通过扩展服务便于与原业

务系统实现集成; ?方便。扩展服务通常完成一组功 能,使用扩展服务可以避免重复 开发,易于使用,降低开发的复 杂性 ?效率。使用扩展服务可以提高率 率

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P11

权限管理
主要功能
?通过BOS开发的基础资料或单据

具备功能、数据、字段权限的管 理功能

客户价值
?无须开发即能实现权限管理,大

大提升个性化业务应用的安全性

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P12

操作管理
主要功能
?对BOS基础资料或业务单据的操

作可以进行个性化定义

客户价值
?BOS基础资料或单据生成时自动

生成一系列的操作如新增、修改、 删除等,可以重新定义操作的名 称或增加新的操作内容,以满足 特定的业务需求。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P13

多级审核流程、消息定义
主要功能
?对业务单据可以提供12级的多

级审核流程,审核消息可以发送 至指定的用户、用户组或默认用 户

客户价值
?满足给客户顺序、会签两种多级

审批业务需求,便于客户对业务 进行分级管理和业务监控。 ?消息驱动多级审核流程,可以简 化审批的工作量并降低操作的复 杂性

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P14

单据流程定义
主要功能
?可以定义将一种单据通过一定

的规则转化生成另外一种单据

客户价值
?除低工作量,新增单据根据源

单生成,除低输入工作量; ?BOS单据和K/3单据间可以灵活 定义 ?便于业务跟踪,生成单据时可 以确定单据之间的关联与钩稽关 系,可以上查和下查,便于业务 跟踪检查
版权所有 ?1993-2006 金蝶软件(中国)有限公司

P15

生成记账凭证
主要功能
?对BOS单据可定义凭证模板并生

成财务记账凭证

客户价值
?实现业务与财务的集成,实现新

增业务系统的信息与财务系统一 致 ?降低重复性工作,便于追溯跟踪

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P16

单据套打
主要功能
?设计并配臵BOS业务单据的套打

格式 ?单据标准打印,支持单据报表 式的打印

客户价值
?分离输入与打印界面,分别满足

单据输入与打印方面的特定需求 ?可以减少打印的工作量的与打印 时间,节约打印成本 ?满足统一打印格式管理的要求; ?对打印格式的重新修改和调整时 不需要调整单据录入界面

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P17

适应多种语言环境
主要功能
?能够定义中文简体、中文繁体、

英语等三种语言操作界面

客户价值
?适应国际化企业管理的需要 ?适应不同人员的语言习惯与操作

方式

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P18

部署与发布
主要功能
?把业务功能发布至主控台或生

成安装包

客户价值
?可以生成主控台菜单,统一访问

的方式 ?生成的安装包可以部署到其他账 套,实现开发环境与运行环境的 分离

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P19

报表定义
实现同一业务的交叉分析
?万能报表 ?万能报表(旧版) ?交叉分析报表 ?直接SQL报表 ?电子表格报表
BOS万能 报表工具包

灵活的报表定义
?标准报表(万能报 表工具)

实现复杂的报表分析

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P20

提纲
? ? ? ? ?

K/3BOS开发综述 基础资料、单据业务对象开发

操作管理
扩展服务 多级审核流程开发

?
? ?

单据转换流程开发
报表开发 K/3BOS插件开发模型

?

部署

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P21

业务单据定义-总体流程

单据定义
字段 定义 属性 定义

格式 定义

逻辑 控制

操作 消息 定义

凭证 定义

权限 定义

插件 定义

单据 测试

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P22

业务单据定义-字段类别1
分类
手工录入类

元素类型
文本类型 无

前置字段

可录入


说明
提供对文本的维护功能,例如 “姓名”字段,默认的文本长 度是50字节。 提供对文本的维护功能,可以 储存较多的文字内容。 提供对小数的维护功能,例如 “折扣率”字段。

大文本类型 小数类型

无 无

是 是

整数类型
日期类型 长日期类型


无 无


是 是

提供对整数的维护功能。
提供对日期的维护功能,例如 “制单日期”字段。 提供对日期+时间数据的维护功 能,例如“出库时间”字段。

备注类型
复选框类型 下拉列表


无 无


是 是

特殊的文本类型,提供业务对 象的备注说明。
提供复选功能。 提供下拉列表字段支持,下拉 列表的值提供手工指定与SQL查 询获取两种形式。 提供图形的显示。
版权所有 ?1993-2006 金蝶软件(中国)有限公司

图片类型





P23

业务单据定义-字段类别2
分类
基础资料类

元素类型
基础资料 基础资料属性

前置字段
无 基础资料

可录入
是 否

说明
封装K/3基础资料,支持K/3传 统的F7,F8,F9功能。 当业务对象拥有基础资料类型 字段时,可以在业务对象中加 入基础资料属性类型字段,以 便业务对象上显示基础资料的 相关属性。注意此类型字段不 会保存。 以下拉列表的形式,显式K/3中 的核算项目类别。 在业务对象中有核算项目类别 字段的情况下,可以添加核算 项目字段,以支持针对特定的 核算项目类别,提供核算项目 的F7支持。

核算项目类别 核算项目

无 核算项目类别

是 是

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P24

业务单据定义-字段类别3
分类
物料相关类

元素类型
批次 计量单位 单价 基本单位单价 数量 基本单位数量 金额

前置字段
物料 物料 物料、计量单位 单价 物料、计量单位 数量 无

可录入
是 是 是 否 是 否 是

说明
封装K/3批次服务,使用户可以选择物料 批次。 处理物料的计量单位。必须与物料的计 量单位组关联。 物料的价格,必须与物料类型字段相关 联,可自动获取物料的单价精度设置。 物料的基本计量单位的价格。 物料的数量,必须与计量单位类型字段 关联,可自动获取物料的数量精度设置。 以基本单位计量的数量。 即物料的总价格,等于数量乘以单价。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P25

业务单据定义-字段类别4
分类
选单关系类

元素类型
源单类型(选 单) 源单编号(选 单) 无

前置字段

可录入


说明
单据头上用于列出当前单据可以关联的 所有源单,如果没有,此字段不显示。 单据头上文本类型字段用于输入源单据 号,如果没有可以关联的单据,此字段 不显示。





源单类型,源 单编号,源单 内码,源单分 录



关联关系记录字段。源单类型记录 一组选单关系中的源单类型,源单源号 记录一组选单关系中的源单编号,源 单内码记录源单的内码信息,如是源单 据体参与选单,源单分录字段记录源 单单据体分录。目标单据可以存在多 种选单关系,单据的同一条分录也可存 在多种选单关系。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P26

业务单据定义-字段类别5
分类
凭证关系类

元素类型
凭证字号 无

前置字段

可录入


说明
记录当前单据对应的凭证字号,格式 为凭证字+凭证号。凭证字号字段实际 对应两个物理存储字段,凭证内码及 凭证字号。 记录当前单据打印次数。 用于固定文本。 主要用于插件开发。 主要用于界面字段的分类,和层的功 能类似。但层是一个单据级的对象, 页签则不是。 主要用于界面字段的分类。

打印关系类 通用控件类

打印次数 标签 按钮 页签

无 无 无 无

否 否 否 否

框架





版权所有 ?1993-2006 金蝶软件(中国)有限公司

P27

业务单据定义-字段类别6
分类
其它类

元素类型
单据体 单据编号 制单人 用户 无 无 无 无

前置字段

可录入
是 否 否 否

说明
单据的单据体,可以是单分录,也可 以是多分录。 提供单据编号服务,用户可以设置单 据编号规则及自动填补断号等选项。 业务对象的制单人字段,其值为当前 系统登录用户。 对K/3系统用户信息的封装,如审核人 字段。

组合
GUID 附件数

有字段参与组合
无 无


否 否

将多个字段组合为一个字段。
全球唯一标识 封装K/3附件服务,若业务对象添加了 此字段类型,其值将自动显示对应业 务对象的附件数量

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P28

业务单据定义-属性定义_字段通用属性1
属性类型 属性名 繁体名称 简体名称 英文名称 边框 边框颜色 标题宽度 标题颜色 外观控制 文本颜色 字体 宽度 高度 上 左 属性描述 繁体名称 简体名称 英文名称 边框:设置字段的边框显示风格。 边框颜色 标题宽度 标题颜色 文本颜色 字体 宽度 高度 上 左

所在层

所在层:设置单据元素所属层,每个元素只能在一个层的上面。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P29

业务单据定义-属性定义_字段通用属性2
属性类型 数据库类 属性名 表 字段名 必录 长度 格式 业务控制 功能控制 可见性 锁定性 缺省值 保存规则 事件类 加载事件 值更新事件 属性描述 表:设置当前业务对象在数据库中保存的物理表名称。 字段名:设置当前字段在物理表中存储的字段名。 必录:设置当前元素是否在业务对象上作为必录项,必录项数据不为空业务对 象才可保存。 长度:设置字段的文本长度。 格式 功能控制:设置当前字段是否支持被关联、引用、F7多选、复制等功能。 可见性:设置当前字段在单据、序时簿、过滤条件以及排序上是否可见。 锁定:设置新增、修改、审核后等状态下是否锁定当前字段。 缺省值:设置新增业务对象时当前字段的缺省值。 保存规则:设置保存时的检查事件(规则),如果不满足规则将不允许保存业务 对象。 加载更新事件:设置字段元素的值更新事件。业务对象加载时触发此事件。 值更新事件:设置当前字段修改后相关触发事件。
版权所有 ?1993-2006 金蝶软件(中国)有限公司

P30

业务单据定义-属性定义_外观通用属性
属性类型 属性名 繁体名称 简体名称 英文名称 边框 边框颜色 标题宽度 标题颜色 外观控制 文本颜色 字体 宽度 高度 上 左 属性描述 繁体名称 简体名称 英文名称 边框:设置字段的边框显示风格。 边框颜色 标题宽度 标题颜色 文本颜色 字体 宽度 高度 上 左

所在层

所在层:设置单据元素所属层,每个元素只能在一个层的上面。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P31

业务单据定义-整体属性
单据/基础资料整体属性
层管理 窗体风格 插件管理

单据体属性
关键字段 分录类型 单分录 多分录

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P32

业务单据定义-生成凭证
生成凭证
定义凭证字 定义凭证取数来源 定义凭证模板 凭证操作设置 凭证生成
凭证取数来源 设置
凭证字定义

凭证模板设置 凭证操作场景 设置 凭证生成操作

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P33

业务单据定义-权限管理
定义业务对象的权限分组
以选择的方式制定业务对象所在的权限分 组 直接制定业务对象所在的权限分组 功能权限
设置 选择权限 分组

定义用户对某业务对象的权限
功能权限 字段权限 数据权限
字段权限 设置

数据权限 设置

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P34

业务单据定义-其他配置
编码规则定义
对单据编号字段自动编码时的编码规则进行配置

顺序配置
录入顺序:Enter或Tab顺序 序时簿字段显示顺序

网络控制定义
定义某些操作的特殊网络控制要求

单据模版检查
检查前面定义的功能是否有逻辑上的错误

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P35

业务对象运行时-细节功能(一)
快捷方式
F6 F7 F8 F9 批量填充 基础资料查询 基础资料下拉选择 基础资料名称模糊查询

冻结列设置

菜单:冻结列
套打:支持多套打注册

选项
禁止下拉列表自动显示 输入时采用覆盖模式 保存后立即新增 单据保存时检查源单状态
版权所有 ?1993-2006 金蝶软件(中国)有限公司

P36

业务对象运行时-细节功能(二)
? 选项
*号标识必录项 批量填充只填充本列为空的行 屏蔽数量为零的批次 复制行追加模式
当前行之后 所有行之后

运行时选 项设置

单据载入时不加载图片字段内容 纯用小键盘

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P37

提纲
? ? ? ? ?

K/3BOS开发综述 基础资料、单据业务对象开发

操作管理
扩展服务 多级审核流程开发

?
? ?

单据转换流程开发
报表开发 K/3BOS插件开发模型

?

部署

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P38

业务单据定义-操作管理和消息定义(一)
场景分析
单据维护
修改 浏览 新增 其他 选择单据 的场景

单据序时簿
选单 联查 自定义联查 浏览 定义操作的消 息发送规则

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P39

业务单据定义-操作管理和消息定义(二)
操作定义
操作名称,操作编码 操作适应的场景 操作外观设置
选择单据 的场景

消息定义
消息适应的场景 消息内容 消息接收对象
定义操作的消 息发送规则

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P40

业务单据定义-操作事件定义
操作事件定义
单据操作前事件定义 单据操作事件定义 单据操作后置事件定义 序事簿操作前置事件定义 序事簿操作事件定义 序事簿操作后置事件定义
操作事件定义

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P41

业务单据定义-操作事件(一)
操作相关事件
显示提示信息 采购价格预警 中止后续动作(*) 采购价格查询 获取采购价格 历史价格查询(*) 库存状态查询

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P42

业务单据定义-操作事件(二)
操作相关事件
物料替代查询 刷新界面 获取菜单信息 设置菜单信息 执行有简单返回值的SQL(*) 更新物料价格 单据状态栏显示当前分录即时仓存、安全库存信息 F12库存查询

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P43

提纲
? ? ? ? ?

K/3BOS开发综述 基础资料、单据业务对象开发

操作管理
扩展服务 多级审核流程开发

?
? ?

单据转换流程开发
报表开发 K/3BOS插件开发模型

?

部署

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P44

扩展服务-扩展业务服务管理
从扩展业务服务管 理中可以查看、维 护所有BOS扩展服 务,及增加新的扩 展服务。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P45

扩展服务 – 变量定义
?

环境变量
? ?

系统内置 可以应用于扩展服务传入参 数及条件设置

?

共享变量
?

在一组扩展服务序列生命周 期内有效,可以在同组的扩 展服务中传递。
扩展Action中的 共享变量定义 扩展Action中的 环境变量应用

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P46

扩展服务-主要的扩展服务举例
值更新/加载更新事件(一)
携带当前字段相关基础资料属性到指定列(*) 计算定义公式的值并填写到指定列(*) 计量单位变化后自动换算数量或单价 表达式为真/假时显示/隐藏字段(*) 表达式为真/假时锁定/解锁字段 单据被引用后锁定字段(*)
携带当前字段 相关基础资料 属性到指定列

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P47

扩展服务-主要的扩展服务举例
值更新/加载更新事件(二)
条件成立时锁定菜单项,否则解锁菜单项 按公式计算表体字段的值并填写到表头目标字段 触发字段值更新事件(*) 触发值字段更 当前字段值改变时清空指定字段的值 新事件 根据表达式的值设置字段显示信息

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P48

扩展服务-主要的扩展服务举例
值更新/加载更新事件(三)
携带税率 币别转换 获取币别的汇率 单据状态栏显示当前分录即时仓存、安全库存信息(*) 物料为非批号管理时锁定批号对应列
单据状态栏显 示当前分录即 时仓存、安全 库存信息

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P49

扩展服务-主要的扩展服务举例
保存规则
单据合法性检验(*) 合法性检查,检查字段唯一性 单据合法校验

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P50

提纲
? ? ? ? ?

K/3BOS开发综述 基础资料、单据业务对象开发

操作管理
扩展服务 多级审核流程开发

?
? ?

单据转换流程开发
报表开发 K/3BOS插件开发模型

?

部署

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P51

多级审核定义-总体流程

多级审核流程
定义多级 审核级次、 业务审核 级次及审 核模式 基本 信息 配臵 审核 用户 配臵 消息 配臵 流转 配臵 选项 配臵 保存 并启 用

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P52

多级审核定义(一)
多级审核类型
顺序 会签

多级审核前置信息
单据上需要有用户类型的字段作 为审核人

多级审核基本信息配置
最大审核级次 业务审核级次 业务审核人 审核日期

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P53

多级审核定义(二)
多级审核选项配置
显示审核意见录入框 审核/驳回成功后提示 审核时选择消息接收人 修改无须反审核到最低一级… 业务审核人和制单人不可为同一人 反审核人与审核人必须为同一人 流程结束后仍可审核后续级次 移动商务多级审核信息可回复

移动商务多 级审核信息 可回复

多级审核跳转规则 多级审核消息配置
启动级次、结束级次 缺省消息接收人 消息内容 消息接收人

?
? ?

多级审核新增功能
可按用户组添加用户 可以批量审核

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P54

提纲
? ? ? ? ?

K/3BOS开发综述 基础资料、单据业务对象开发

操作管理
扩展服务 多级审核流程开发

?
? ?

单据转换流程开发
报表开发 K/3BOS插件开发模型

?

部署

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P55

单据流程定义-总体流程

单据转换流程
选择 单据

添加 关系

设臵 关联 关系

保存 并启 用流 程

测试 流程

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P56

单据流程定义-关联关系
复制
单纯的数据复制关系, 目标单上不会记录源 单的类型、内码等信 息,不支持上下联查。 唯一不需要在目标单 上添加选单关系类字 段即可应用的关联关 系

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P57

单据流程定义-关联关系
关联复制
不仅进行数据的复制,而 且在目标单记录源单的类 型、内码等信息,支持上 下联查。 关联内码来源:设置源单 的内码取值来源,如是单 据体,将记录单据内码与 单据体分录内码。 关联内码存储:设置源单 信息的保存字段。目标单 上可能存在多组选单类型 字段,需要指定一组源单 信息的存储字段。 不支持从单据体到单据头 的关联复制关系。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P58

单据流程定义-关联关系
钩稽
支持扣减 扣减关系设置
控制字段:源单中应该被扣 减的字段,此字段必须已参 与字段对应关系的设置。如 订单到入库单关系中的订单 订货数量。 扣减字段:源单中记录每次 扣减数量的字段。多次扣减 时,扣减数量累加。如订单 中的已入库数量。 关闭字段:标记源单是否已 经被扣减完毕的字段。如订 单中的是否已入库完毕字段 主控:同一个选单关系中可 支持多个扣减关系,但其中 必须有一个扣减关系为主控 关系,以此关系的状态进行 选单控制。 严格控制:指明在当前扣减 关系中,目标单是否可以超 额扣减。如入库数量是否可 以超过订货数量。
版权所有 ?1993-2006 金蝶软件(中国)有限公司

P59

单据流程定义-关联关系
强制钩稽
特殊的钩稽关系,只允许一次性扣减。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P60

单据流程定义-其它
关联选项配置
修改:源单字段携带到目标单后, 是否允许修改字段值。 选单一致:字段值一致的源单才 允许在同一次选单中被选择生成 目标单。 过滤:是否以字段值过滤源单。 匹配的源单才可以被选择生成目 标单。 处理值更新事件:源单字段携带 到目标单后,是否触发目标单字 段的值更新事件。 红字为正:选单时取源单字段绝 对值。 红蓝字属性:当目标单为工业单 据,且此单据支持红蓝字属性时, 指定生成目标单时的红蓝字属性。 仅复制:同一个源单字段被对应 关联关系 到多个目标单字段,且此字段同 时作为控制字段??奂豕叵低獾?配置 字段应关系不参与扣减,应指定 仅复制。 过滤条件:设置参与选单的源单过 滤条件。 选单时关联整单:选单运行时选 项,源单整单始终参与选单。不 选定此选项时,可选择源单部分 分录生成目标单。
版权所有 ?1993-2006 金蝶软件(中国)有限公司

P61

单据流程定义-选单填充模式
单据功能控制:设定单 据适用的选单模式。 追加:支持多次选单, 目标单表体内容累加, 表头内容取最后一次选 单字段值。 覆盖:当前的选单内空 直接覆盖上一次的选单 内容。(默认模式) 叠盖:存在多个选单关 系时,在前一选单动作 完成的基础上,叠加本 次选单的字段内容。
版权所有 ?1993-2006 金蝶软件(中国)有限公司

P62

提纲
? ? ? ? ?

K/3BOS开发综述 基础资料、单据业务对象开发

操作管理
扩展服务 多级审核流程开发

?
? ?

单据转换流程开发
报表开发 K/3BOS插件开发模型

?

部署

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P63

报表设计器
报表管理
?主界面 ?菜单栏 ?工具栏 ?子系统与报表类型 ?报表列表 ?状态栏

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P64

报表设计器
报表设计
?主界面 ?菜单栏 ?工具栏 ?工具箱 ?字段列表 ?属性窗口 ?工作区

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P65

单据类报表
报表设计
?新建 ?设计 ?明细区段 ?明细报表 ?添加字段 ?预览

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P66

序时簿报表
报表设计
?新建 ?条件 ?显示列 ?设计 ?预览

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P67

SQL增强报表
报表设计
?新建 ?条件 ?设计 ?预览

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P68

报表的使用
报表的使用
?单据类报表的启用 ?单据类报表的打印 ?报表发布到主控台 ?主控台查看报表 ?序时簿报表 ?SQL增强报表

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P69

提纲
? ? ? ? ?

K/3BOS开发综述 基础资料、单据业务对象开发

操作管理
扩展服务 多级审核流程开发

?
? ?

单据转换流程开发
报表开发 K/3BOS插件开发

?

部署

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P70

提纲
插件开发概述 案例介绍 插件开发基础 插件开发向导 数据结构 K3ClassEvents业务对象接口 BillEvent 单据接口 ListEvents 序事簿接口 BaseClassEvent 基础资料序事簿接口 K3ClassEvents公用对象 K3Lib 常用元数据表结构

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P71

提纲
插件开发概述 案例介绍 插件开发基础 插件开发向导 数据结构 K3ClassEvents业务对象接口 BillEvent 单据接口 ListEvents 序事簿接口 BaseClassEvent 基础资料序事簿接口 K3ClassEvents公用对象 K3Lib 常用元数据表结构

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P72

插件开发概述
为什么要用插件
完成当前版本无法用 K/3 BOS 标准功能实现的需求,插件原理图如下

插件的作用
实现单据、序时簿、基础资料序时簿中特殊的业务流程处理 中间层数据改变时的特殊处理规则 个性化的菜单、外观定制;增加自定义的菜单并响应其操作 对审核、消息流程的自定义控制 其它BOS没有提供通用服务的个性化功能

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P73

插件开发概述-开发环境介绍
插件开发环境
金蝶K/3 v10.1以上的版本 必选安装客户端、K/3 BOS,推荐同时安装中间层Microsoft Visual Basic 推荐使用 vb 6.0 版本,并且安装 SP5 Microsoft Windows 2000 Server以上版本 推荐采用 Server 类操作系统作为开发、调试操作系统 注意:如果要使用“金蝶K/3 BOS插件开发向导”工具,需要采用简体中文操作系统 Microsoft SQL Server 2000数据库

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P74

提纲
插件开发概述 案例介绍 插件开发基础 插件开发向导 数据结构 K3ClassEvents业务对象接口 BillEvent 单据接口 ListEvents 序事簿接口 BaseClassEvent 基础资料序事簿接口 K3ClassEvents公用对象 K3Lib 常用元数据表结构

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P75

案例分析
ABC公司
主营业务是生产和销售各种高档卫浴五金、水暖器 材等。拥有五个厂区,产品外销欧美、日本等国家 和地区

为了统一物流管理,解决重复请购、资金占用严重的问题,ABC公司提出了寄存仓的管理模式,与供应商之间通过统一窗口 来管理 供应商将物料寄存到ABC公司指定的物流中心仓库,但所有权属供应商 ABC公司根据生产实际需求从物流中心领料并进行相应的结算处理

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P76

解决方案

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P77

演示案例—插件开发需求(一)

? 单据定义
? 寄存入库单新增时默认为2000行 在寄存入库单单据上增加复制按钮的浮动按钮,隐藏“页面设置”菜单 在寄存入库单序事簿上增加单据变更的菜单及按钮 以插件中附带的图片资源文件增加单据变更的显示 当单据头金额大于10000时,锁定单据头备注字段 当前登录用户只能看到本人制作的寄存入库单 ? 寄存入库单新增时给表体赋一行默认值

? 多级审核
? 多级审核业务审核完后仍可修改单据头备注字段

? 单据转换流程
? 寄存入库单下推外购入库单时所选单据部门必须相同

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P78

提纲
插件开发概述 案例介绍 插件开发基础 插件开发向导 数据结构 K3ClassEvents业务对象接口 BillEvent 单据接口 ListEvents 序事簿接口 BaseClassEvent 基础资料序事簿接口 K3ClassEvents公用对象 K3Lib 常用元数据表结构

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P79

插件开发基础 — 插件开发向导

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P80

插件开发基础 — 数据结构
KFO
K/3 BOS 中传递数据,主要使用了 KFO的2个对象 关于 KFO 对象的详细使用,请参考《KFO参考手册》

Vector 对象
相当于一个一维数组,可以说它是一个不定长且可以是任意数据类型的数组,同样可以通过存 取数组元素值进行数据传递,一个元素值可以是RecordSet,也可以是一个任意一个数据或对 象

Dictionary 对象
是一个数据字典,字典里可以存放不同的变量,可以给字典里这些变量赋值,或从字典里取出 这些变量的值进行数据传递,它可以是任一个变量,也可以是一个对象。在Dictionary对象中 主要通过变量名称来进行索引

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P81

插件开发基础 — 业务数据包和单据字典包
两个关键的数据包
dctData BillEvent:Property Data ListEvents:

Event AfterCopyBillCreateData(srcInterID As Long, dctData As Dictionary)
dctTableInfo BillEvent:Property TableInfo ListEvents: Property DataSrv.TableInfo BaseClassEvent: Property DataSrv.TableInfo

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P82

插件开发基础 — 业务数据包
dctData Enu_EntryType_SingleRow “Page1” sKey dctFld1 dctFld… dctFldn Enu_EntryType_MutiRow “Page2” “Row1” “Row…” “Rown” BillEvent sKey FFLD FDSP FFND FOLD FMODIFY dctFld1 dctFld… dctFldn

“Page…” “Pagei”

BillHeads
BillHead BOSFields BillEntrys BillEntry BOSFields
版权所有 ?1993-2006 金蝶软件(中国)有限公司 BOSField

BOSField

P83

插件开发基础 — 业务数据包
dctData包含这个单据对象的详细数据
每一个Page对应一个数据对象,如果这个Page是单表或者表头,那么这个数据对象是一个字典, 否则这个数据对象就是一个Vector,而Vector的每一个子项均为一个字典 每一个数据对象字典包含了这一个页面上数据总和,他的每一个Item均为一个字典(这个字典 是最明细的)

最明细的数据字典包含五个域:
FFLD = "FFLD" 肯定都有 FDSP = "FDSP" 查找关联类型才有 FFND = "FFND" 查找关联类型才有 FOLD = "FOLD" 修改单据时才有 FMODIFY = "FMODIFY" '修改单据后时才有五个域

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P84

插件开发基础 — 如何访问dctData包(一)

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P85

插件开发基础 — 如何访问dctData包(二) 读取单据头审核日期的值可用以下两种方式:
m_billinterface.data(“page1”)(m_billinterface.tableinfo(“map”)(“FChe ckDate”))(“FFLD”) m_billinterface.bosheads(1).bosfields(“FCheckDate”).value

读取单据体第一行应收数量的值可用以下两种方式:
m_billinterface.data(“page2”)(1)(m_billinterface.tableinfo(“map”)(“F MustQty”))(“FFLD”)
Dim obj as bosfield Dim tmp as double Set obj=m_billinterface.billentrys(1).bosfields(“fmustqty”) Obj.row=1;tmp=obj.value

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P86

插件开发基础 — 数据字典包
dctTableInfo包含三部份内容 所有Item的详细信息,以 字典的形式保存,采用 Key 去查询这个 Key 是 用 FTabIndex+Fkey 格式 化而成 所有Page的信息,每一个 Page是一个字典包含了这 一个Page上组成项的Key 这个单据对象的所有Item 的Map映射,这是一个字 典

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P87

提纲
插件开发概述 案例介绍 插件开发基础 插件开发向导 数据结构 K3ClassEvents业务对象接口 BillEvent 单据接口 ListEvents 序事簿接口 BaseClassEvent 基础资料序事簿接口 K3ClassEvents公用对象 K3Lib 常用元数据表结构

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P88

插件对象模型(BillEvent)

K3ClassEvents
BillEvent 单据接口 ListEvents 序事簿接口 BaseClassEvent 基础资料序事簿接口
BillEvent
K3Lib

Net User Account

MenuBar BOSBands BOSTools BillHeads BillHead BOSFields BOSField BOSBand BOSTool

BillEntrys

BillEntry BOSFields BOSField 版权所有 ?1993-2006 金蝶软件(中国)有限公司

P89

BillEvent对象

BillEvent对象
MenuBar 概述 BOSBands和BOSBand对象 BOSTools和BOSTool对象 单据基础对象 BillHeads和BillEntrys BOSFields 单据接口 事件 函数、方法 属性

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P90

概述
BOSBands、BOSTools对象 是 PublicNotCreatable对象 在BillEvent、ListEvents、 BaseClassEvent对象中包含 MenuBar属性使用。例如: Dim oMenuBar As K3ClassEvents.MenuBar Set oMenuBar = BillEventObject.Menubar

MenuBar

ActiveBand BOSBands BOSTools Refresh

在BillEvent、ListEvents、BaseClassEvent对象新增事件 Sub MenuBarInitialize(ByVal oMenuBar As K3ClassEvents.MenuBar) Sub MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, Cancel As Boolean)

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P91

BOSBands和BOSBand对象
BOSBand
BOSBands Add(ByVal BandName As String) As BOSBand Remove(ByVal Index As Variant) RemoveAll() Count() As Long Item(ByVal Index As Variant) As BOSBand

Caption CurrentTool DockingArea DockingOffset DockLine Flags BandName

基本和ActiveBar的Bands、Band对象属性、方法一 致
BOSBands不能使用 For Each 方法遍历BOSBand对象

BOSTools BandType Visible

可以通过 Add 方法来新建BOSBand对象。
Wrappable Refresh()
版权所有 ?1993-2006 金蝶软件(中国)有限公司

P92

BOSTools和BOSTool对象
BOSTool Alignment BeginGroup Caption CaptionPosition
Remove(ByVal Index As Variant) BOSTools Add(ByVal ToolName As String) As BOSTool InsertBefore(ByVal Index As Variant, oTool As BOSTool) InsertAfter(ByVal Index As Variant, oTool As BOSTool)

Checked Description Default Enabled ToolName ShortcutKey Style SubBand Tag ToolID TooltipText Visible ToolPicture PasteToolFace(ByVal Index As Long = 0, ByVal MaskColor As Long) SetPicture(ByVal Index As Long = 0, ByVal MaskColor As Long )
版权所有 ?1993-2006 金蝶软件(中国)有限公司

RemoveAll() Count() As Long Item(ByVal Index As Variant) As BOSTool

基本和ActiveBar的Tools、Tool对象属性、 方法一致 BOSTools不能使用 For Each 方法遍历 BOSTool对象 可以通过 Add 方法来新建BOSTool对象

P93

BOSTools 方法详解

Function Add(ToolName As String) As BOSTool
与ActiveBar的Tools的Add相比 可以在任何的BOSTools对象中调用 不需要考虑ToolID重复的问题
?

Sub InsertBefore(Index, oTool As BOSTool) Index 可以是数字,以表示当前BOSBand上的BOSTool的顺序(与 ActiveBar中的方法一致) 也可以是一个BOSTool的Name(字符串) Sub InsertAfter(Index, oTool As BOSTool) 新增方法,特性与上相同

?

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P94

练习
在寄存入库单单据上增加复制按钮的浮动按钮,隐藏“页面设置”菜单 在寄存入库单序事簿上增加单据变更的菜单及按钮 以插件中附带的图片资源文件增加单据变更的显示

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P95

BillEvent对象 BillEvent对象
MenuBar 概述 BOSBands和BOSBand对象 BOSTools和BOSTool对象 单据基础对象 BillHeads和BillEntrys BOSFields 单据接口 事件 函数、方法 属性

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P96

概述
是 PublicNotCreatable 对象 在BillEvent对象中包含使用。例如:
Dim oHead As K3ClassEvents.BillHead Set oHead = BillEventObject.BillHeads(1)

BillHeads、BillEntrys、BOSFields不能使用 For Each 方法遍历对象

BillEvent BillHeads BillHead BOSFields BillEntrys BillEntry BOSFields BOSField BOSField

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P97

BillEntrys对象
BillEntrys对象
包含了和单据体相关 的属性 通过这些属性可以在 时操作单据体
分录相关信息
Count EntryIndex Long Long (BOSFields) String Long Long Long Long Long Long Boolean String Long 分录的个数 序号 包含的字段 分录对应在数据库中的表名 分录的左 分录的上 分录的宽度 分录的高度 分录所在的层 分录的类型(单分录、多分录) 分录的可见性 分录的关键字段 可以在运行时调整单据体行数(大于1且小于2000)

运行

BOSFields

TableName EntryLeft EntryTop EntryWidth EntryHeight Layer EntryType Visible KeyField MaxRows

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P98

BOSFields和BOSField对象
属性集
字段相关信息 Count Caption FieldName TableName FieldLeft Long String String String Long 字段的个数 字段的标题 字段名 字段对应在数据库中的表名 字段的左 FontName FontSize FrameBorder FrameBorderColor LabelColor LabelWidth MustInput NeedSave Note Number Page Text TextColor Value FKey String Currency Boolean Long Long Integer Boolean Boolean String Variant Integer Variant Long Variant String 字段字体属性 字段字体属性 是否显示边框 边框颜色 标签颜色 标签宽度 是否必录 是否需要保存 备注 字段的值(用于查找类型字段) 字段所在的Page 字段的显示值 字段的颜色 字段的保存值 字段的内码

FieldTop
FieldWidth FieldHeight Layer FieldLock Visible Filter FontBold FontItalic

Long
Long Long Long Boolean Boolean String Boolean Boolean

字段的上
字段的宽度 字段的高度 字段所在的层 字段是否锁定 字段是否可见 字段的过滤 字段字体属性 字段字体属性

BOSField对象 每个字段对象,对应单据(包括单据头和单据体)上的每一个字段 通过这些属性,可以在运行时操作字段。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P99

BOSField 属性详解
某些属性值只适用于单据头中的字段
FieldTop\FieldLeft\FieldHeight\FieldWidth LabelWidth\LabelColor\FrameBorderColor\FrameBorder FontName\FontSize\FontBold\FontItalic\TextColor

某些两者都支持
TableName\FieldName\Caption\Page\Layer\FKey Visible\NeedSave\MustInput\FieldLock\Note

某些只适用于特殊的字段
Row Filter 仅支持多分录单据体 仅支持基础资料字段

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P100

BOSField 属性详解

Visible:字段显示/隐藏属性,只有设计时没有设计为“可见”状态的字段, 才可以在运行时更改可见性状态 FieldLock:只有设计时没有设计为“锁定”状态的字段,才可以在运行时更 改锁定状态 Value:得到字段内码值。即保存在数据库中的值 Number:得到字段查找类型字段查找值 Text:得到字段显示值。即显示在界面的值,不支持通过该属性直接赋值。 Value:得到/设置字段非查找类型字段赋值使用 Number :得到/设置字段查找类型字段赋值使用

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P101

练习 通过插件实现寄存入库单新增时默认表体行数为2000行,主要练习 BillEntry对象的Maxrows属性 通过插件实现当单据头金额大于10000时,锁定单据头备注字段,主要练 习单据Change事件,BosField对象的FieldLock属性

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P102

BillEvent对象 BillEvent对象
MenuBar 概述 BOSBands和BOSBand对象 BOSTools和BOSTool对象 单据基础对象 BillHeads和BillEntrys BOSFields 单据接口 事件 函数、方法 属性

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P103

BillEvent对象-事件
事件
Event MenuBarInitialize(oMenuBar As MenuBar) 说明:该事件在菜单、工具栏初始化时发生。 Event MenuBarClick(BOSTool As BOSTool, Cancel As Boolean) 说明:该事件在点击菜单、工具栏项时发生。 Event AfterNewBill() 说明:新建单据对象后发生。 Event AfterLoadBill() 说明:单据对象加载完成后发生。 Event AfterCopyBill() 说明:复制单据后发生 Event AfterSelBill(lSelBillType As Long) 说明:选单操作完成后发生。 Event BeforeVerify(bCancel As Boolean) 说明:单据对象保存前、系统进行校验操作前发生。 Event Change(dct As Dictionary, dctFld As Dictionary, Col As Long, Row As Long, Cancel As Boolean) 说明:单据对象上的字段值发生改变时发生。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P104

BillEvent对象-函数、方法
方法
Function GetFieldValue(sKey As String, [nRow As Long = -1], [ValueType As Enu_ValueType = Enu_ValueType_FFLD]) 说明:用于返回字段的值。 Function SetFieldValue(sKey As String, vValue, [nRow As Long = -1]) As Boolean 说明:用于设置字段的值。 Function InsertNewRowAndFill(nPage As Long, nRow As Long, ParamArray vFieldsData() As Variant) As Boolean 说明:在多分录单据体中插入一个新行,并填充数据。 Function GetDataFld(dct As Dictionary, [Row As Long]) As Dictionary 说明:获得单据指定字段的值的对象。 Function GetFieldInfoByKey(sKey As String, sPKey As String, lIndex As Long) As Dictionary 说明:通过给定的字段的关键名称获得字段的模版的对象。 Function RefreshBill() 说明:刷新当前单据对象。 Function IsChange() As Boolean 说明:判断单据对象是否被改变。 Function DeleteEntryData(nPage As Long) As Boolean 说明:删除单据对象指定单据体分录内全部数据。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P105

BillEvent对象-属性

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P106

练习
通过插件实现当寄存入库单业务审核后仍可修改单据头备注字段,主要练习单据 Afterload事件,单据方法SetBarStatus、SetBillFormCaption 通过插件实现寄存入库单新增时给表体赋一行值,物料代码为”01.001”,应收数量 为100,实收数量为100,单价为1500。主要练习Insertnewrowandfill方法

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P107

插件对象模型(ListEvents)

K3ClassEvents
BillEvent 单据接口 ListEvents 序事簿接口 BaseClassEvent 基础资料序事簿接口
ListEvents
K3Lib

Net User Account MenuBar BOSBands BOSTools BillHeads BillHead BOSFields BOSField BOSBand BOSTool

BillEntrys

BillEntry BOSFields BOSField

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P108

ListEvents对象

ListEvents对象
事件 函数、方法 属性

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P109

ListEvents对象-事件
Event MenuBarInitialize(oMenuBar As MenuBar) 说明:菜单、工具栏初始化时发生。 Event MenuBarClick(BOSTool As BOSTool, Cancel As Boolean) 说明:点击菜单、工具栏项时发生。 Event AfterCopyBillCreateData(srcInterID As Long, dctData As Dictionary) 说明:复制已选择的单据数据到新单据,但新单据尚未保存时发生。 Event AfterDeleteBill(bSuccess As Boolean, lBillInterID As Long, sBillNo As String, sErrorMessage As String, bCancelErrorMessage As Boolean) 说明:删除已选择的单据后发生。 Event ListFillRow(lRow As Long, RowData As Object, HeadDict As Dictionary, CellData As String, BackColor As Long, ContinueRaise As Boolean) 说明:序时簿的行填充数据时发生。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P110

ListEvents对象-方法
Function GetDataFld(dct As Dictionary, [Row As Long = -1]) As Dictionary 说明:获得单据指定字段的值的对象。 Function GetDataFldbyKey(sFKey As String, [Row As Long = -1]) As Dictionary 说明:通过字段关键名称获取字段的值的对象。 Function GetSelectedBillInfo() As Vector 说明:获取当前选中的单据的数据。 Function LoadSelectedBill(BillStatus As Enu_BillStatusExt) As Boolean 说明:加载当前选择的单据,并按照指定的状态显示。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P111

ListEvents对象-属性
ListFilterString 说明:序事簿运行时设置过滤条件

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P112

练习
通过插件实现当寄存入库单业务审核后仍可修改单据头备注字段,主要练习序事簿方 法LoadSelectedBill 通过插件实现当前登录用户只能看到本人制作的寄存入库单,主要练习序事簿 ListFilterString属性

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P113

插件对象模型(BaseClassEvent)

K3ClassEvents
BillEvent 单据接口 ListEvents 序事簿接口 BaseClassEvent 基础资料序事簿接口
BaseClassEvent
K3Lib

Net User Account

MenuBar BOSBands BOSBand

BOSTools
BillHeads BillHead

BOSTool

BOSFields

BOSField

BillEntrys

BillEntry BOSFields BOSField

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P114

对象- BaseClassEvent

BaseClassEvent对象
事件 函数、方法 属性

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P115

BaseClassEvent对象-事件
Event MenuBarInitialize(oMenuBar As MenuBar) 说明:菜单、工具栏初始化时发生。 Event MenuBarClick(BOSTool As BOSTool, Cancel As Boolean) 说明:点击菜单、工具栏项时发生。 Event RefreshList() 说明:序时簿刷新时发生。 Event ListFillRow(lRow As Long, RowData As Object, HeadDict As Dictionary, CellData As String, BackColor As Long, ContinueRaise As Boolean) 说明:序时簿的行填充数据时发生。 Event ClassGroupSelected(Button As Long, ClassGroupType As Long, ClassGroupID As Long, ClassGroupFullNumber As String) 说明:选择基础资料分组时发生。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P116

BaseClassEvent对象-方法、属性
方法
Function SelectClassGroupByID(lClassGroupID As Long) As Long 说明:按照指定的基础资料分组的ID定位显示。 Function PitchItemByID(lItemID As Long) As Boolean 说明:按照指定的基础资料明细的ID定位显示。 Sub RefreshClassGroups() 说明:刷新所有基础资料分组数据。 Function GetSelectedClassID() As Long 说明:返回当前选择的基础资料分组的ID。 Function GetSelectedItemID() As Long 说明:返回当前选择的基础资料明细的ID。

属性
EnableListFillRowEvents As Boolean 说明:是允许否触发插件的序时簿FillRow 事件。默认为False,即不触发。只有当此值为True且发 生序时簿行填充时,才会触发插件的序时簿FillRow 事件。

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P117

提纲
插件开发概述 案例介绍 插件开发基础 插件开发向导 数据结构 K3ClassEvents业务对象接口 BillEvent 单据接口 ListEvents 序事簿接口 BaseClassEvent 基础资料序事簿接口 K3ClassEvents公用对象 K3Lib 常用元数据表结构

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P118

概述
是 PublicNotCreatable 对象 在BillEvent、ListEvents、 BaseClassEvent对象中包含K3Lib对象使用。 例如: Dim oK3 As K3ClassEvents.K3Lib Set oK3 = BillEventObject.K3Lib 也可直接使用: lUserID = BillEventObject.K3Lib.User.UserID
K3Lib Net CommitMutex BeginMutex QueryFunc QuerySubSys UserName User UserID AccountName Account SetupType AccountID LoadKDString CreateK3Object GetData UpdateData GetK3Language
版权所有 ?1993-2006 金蝶软件(中国)有限公司

P119

方法集
Function LoadKDString(strGBText As String, [ResourceFile As String]) As String 根据K3的语言,从指定的K3语言资源包中返回多语言化的资源 可以通过 ResourceFile 参数指定多语言资源包。默认使用BOS的语言资源包 Function GetData(SQLCode As String) As Object 通过SQL语句从中间层访问数据库,返回数据。返回值是ADODB.Recordset 类型 Sub UpdateData(SQLCode) 通过SQL语句从中间层访问数据库,更新数据 参数SQLCode可以是String(单条SQL语句),也可以是String() (多条SQL语 句) Function CreateK3Object(ClassString As String) As Object 通过这个函数在插件中创建K/3的对象,使得插件可以单独调试

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P120

练习 通过插件实现寄存入库单下推外购入库单时所选单据部门必须相同,主要 练习K3lib方法GetData以及序事簿方法GetSelectedBillInfo

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P121

提纲
插件开发概述 案例介绍 插件开发基础 插件开发向导 数据结构 K3ClassEvents业务对象接口 BillEvent 单据接口 ListEvents 序事簿接口 BaseClassEvent 基础资料序事簿接口 K3ClassEvents公用对象 K3Lib 常用元数据表结构

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P122

数据表结构
清单 关联关系 字段说明

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P123

清单
表名 说明 ICClassType 反映了所有事务类型的总体情况 ICClassTypeEntry 总体记录了单据头、单据体的信息 ICClassTableInfo 详细的模板描述表(记录界面上字段的所有信息) ICClassLink 数据内部传输的关系描述主表(主要用于选单, 上下查) ICClassLinkEntry 数据内部传输的关系描述明细表(主要用于选单) ICClassAction Action 的描述表,主要用于解析动作 ICClassCondition 各种条件(用于动态构造SQL过滤条件即Where 条件) ICClassConst 系统使用的常数表 ICClassProfile 用户设置信息的保存 ICClassProfileEntry 用户设置信息的保存的分录

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P124

库表之间的关联关系

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P125

字段说明1
ICClassType
FID FName FTableName FtempalteID 单据事务类型内部ID 单据名称 表名 对应模板ID,一般情况下和FID值相等

FLogic
FBillTypeID FLayerCount FLayerNames FPrimaryKey FEPrimaryKey FClassTypeKey FComponentExt FControl

菜单控制(新增、删除、修改)(0:不允许增删改;3:允许增删改)
单据类型 (1:分组管理 ;3: 单据)

层数 (用于多单据体的情况,可参考“设备管理”下的“设备档案”) 所有层的名称用“|”隔开 表头主键字段名 表体主键字段名 业务对象类型字段名 插件组合 是否允许单据平台自定义(-1(或者1):不允许;3:允许)

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P126

字段说明2

ICClassTypeEntry FIndex FParentID FTableName 序号,从1开始,1固定表示表头信息2~n表示后面分录的信息 记录ICClassType 的FID 表名

FLayer FEntryType

分录所在层 分录类型(0:单表 1:多表)

FTabIndex FMustInput FKeyField

分录的Tab Index 分录体是否必录(0:否; 1:是) 判断必录的分录体关键字段

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P127

字段说明3
ICClassTableInfo
FID FClassTypeID FPage FKey FFieldName FTableName FTableNameAs FListIndex FListClassName FVisible FEnable FNeedSave FMustInput Identity 无实际含意 单据ClassTypeID 所在页,和ICClassTypeEntry 的FIndex对应 关键字,一般和FieldName一样,在同一个ClassTypeID 情况下必须唯一 字段名称 表名 表的别名。主要处理多张相同的表出现的情况 序时薄的顺序 分组管理单表用,0 保存到单表 1 单表和组别表中都保存 2 仅在组别表中保存 显示隐藏(-1: 单据,序时薄都显示;0:单据,序时薄都不显示,2:序时薄显示,单据不显示) 显示可用( -1 :可用;0:不可用) 是否要保存(0:否;1:是) 是否必录(0:否;1:是)

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P128

字段说明4
ICClassTableInfo FCtlType FLookUpType FLookUpClassID FLookUpList FSRCFieldName FSRCTableName FSRCTableNameAs 控件类型 查找类型(0,无查找,1,基础资料 2,辅助资料) 查找类别 目前用于存储一些简单下拉列表框值,还有控制数值型录入框的最小和最大值问题 关联字段,仅对查找类型>0字段有效 关联表仅对查找类型>0字段有效或查找类别<>0有效 关联表别名

FDSPFieldName
FFNDFieldName FValueLocation FFilter FFilterGroup FValueType

携带字段
查找字段 显示字段(3 显示FDSPFieldName 2 显示FFNDFieldName 1 显示FSRCFieldName 查找过虑 辅助资料类别过虑 字段类型(即SQL Server 中各种数据类型对应的整型值)

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P129

字段说明5
ICClassTableInfo
FSaveRule FDefValue FAction FUserDefine FLoadAction FUncontrol FSourceType 保存规则 缺省值 回车键行为 是否用户定义(1:0:) 装载单据时的行为 控制字段是否允许复制,引入,交叉分析等 数据来源类别(0 :手工录入; 1 :新关联;2 :关联已有;3 :单据编码;4:制单人;5:批次;6 :核算项目类别; 7 :核算项 目;8:用户;9:拉列表;10:组合类型;11:复选框;12:用户自定义查找类型)

FSubKey FParentKey FConditionExt

子项,只针对组合类型 父项,只针对组合类型 与ICClassCondition中的FID对应,用于在过滤界面上条件的显示

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P130

资料
关于K/3 BOS完整案例的介绍,请参考《K3 BOS应用开发培训教材》 关于K/3 BOS完整开发流程的介绍,请参考《K3 BOS开发指导手册》 关于插件中接口的函数、方法、事件、属性的详细信息,请参考《K3 BOS插件开发参 考手册》 关于BOS万能报表工具包介绍,请参考《K3 BOS万能报表工具包用户手册》 常见问题请参考《K/3 BOS百问百答》 关于工业单据插件开发,函数、方法、属性的详细信息, 《 K3客户化开发工具包》

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P131

提纲
? ? ? ? ?

K/3BOS开发综述 基础资料、单据业务对象开发

操作管理
扩展服务 多级审核流程开发

?
? ?

单据转换流程开发
报表开发 K/3BOS插件开发模型

?
?

插件开发工具
部署

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P132

应用部署-总体流程

应用部署
设臵需 要打包 发布的 业务对 象 设臵 相应 的打 包参 数 确定 打包 发布 的文 件夹 执行打包 发布生成 的可执行 文件,发 布到其它 帐套中

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P133

应用部署
发布主控台
功能:直接发布到当前帐套的主控台
将已配置信息发布到应用环境中

打包部署
功能:可以发布到其他帐套中 步骤
首先选择需要打包发布的业务对象
元数据 功能 插件

然后设置相应的打包参数,包括: 确定打包发布的文件夹 执行打包发布生成的可执行文件,到其他帐套中发布BOS功能

版权所有 ?1993-2006 金蝶软件(中国)有限公司

P134

谢谢!
版权所有 ?1993-2006 金蝶软件(中国)有限公司

P135

联系方式:name@kingdee.com 业务咨询热线:4008-830-830 金蝶网站:www.kingdee.com
版权所有 ?1993-2006 金蝶软件(中国)有限公司

P136



推荐相关:
9979997藏宝阁香港马会 | 9979997藏宝阁香港马会
All rights reserved Powered by 9979997藏宝阁香港马会 www.shixinhuamu.com
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@qq.com