金蝶系统在批量填充功能中可以设置汽车的系统有什么功能与优点?

1.本站不保证该用户上传的文档完整性不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

2.该文档所得收入(下载+内容+预览三)归上传者、原创者

3.登录后可充值,立即自动返金币充值渠道很便利


金蝶系统在批量填充功能中可以設置 BOS(Business Operation System)――金蝶系统在批量填充功能中可以设置业务操作系统它使用先进、开放、 可伸缩的技术体系,面向企业快速成长的业务需求协同合作伙伴拓展管理业务, 通过科学的工具和流程对企业建模进行全程监控 金蝶系统在批量填充功能中可以设置 BOS 在金蝶系统在批量填充功能中可以设置承担的国家 863 计划 “新一代 ERP 系统研发”中发挥核心作用,并致力发展成为中国管理软件技 术平台的标准 金蝶系统在批量填充功能中可以设置 K/3 BOS 是金蝶系统在批量填充功能中可以设置 BOS 产品家族中的一员,是专门针对金蝶系统在批量填充功能中可以设置 K/3 系列产品自 主研发的新一代技术平台;用以解决 K/3 系统日益增加的应用复杂度和快速开发与 实施之间的矛盾;集成了 K/3 产品底层的相关服务,如消息中心、数据传输、权限 模型、网络控制等同时提供一系列的客户化开发工具,让客户在可以不需要任何 编程知识的前提下快速的定淛新的业务单据、业务流程和报表,以适应客户业务 环境不断变化的需要对于高级用户,K/3 BOS 提供插件编程的机制来实现更加个 性化的客户開发需求 K/3 BOS 是与 K/3 紧密地集成在一起,为 K/3 的运行提供平台依托与支撑 K/3 的 发展。 本文档的目的就是要指导客户如何利用 K/3 BOS 提供的客户化开发工具快速开发新 的基于 K/3 BOS 的业务应用并集成到 K/3 主控台,使 K/3 更好的适应企业复杂多 变的业务环境本文的读者为金蝶系统在批量填充功能中可鉯设置内部利用 K/3 开发新业务的研发人员、机构和合 作伙伴的二次开发人员,以及 K/3 最终客户的自有开发人员
K/3 BOS 的系统构成如下图所示:

如图所示,K/3 BOS 客户化开发工具包括: ? 界面设计工具:包括基础资料界面设计工具和业务单据界面设计工具提供图 形化的界面让设计者对基础资料和业务单据包括的字段、 及字段间的组织关系; 字段在界面上的显示方式和位置等进行设计。 ? 流程设计工具:流程设计工具主要提供一個图形化的设计方法用来设计业务 单据之间的一种流程关系,关系包括复制、钩稽和强制性钩稽当前的流程设 计中可以选择的业务单據都是通过 K/3 BOS 开发的 K/3 新业务单据,不支持 K/3 BOS 新业务单据和 K/3 系统中原有业务单据之间的流程关系设置 ? 报表设计工具:可以和 K/3 系统提供的图形化報表设计工具“万能报表” 、 “单 据套打”集成运行,为 K/3 BOS 业务单据开发出个性化的报表 ? 发布工具:利用简单的图形界面,把 K/3 BOS 开发的新业務发布到 K/3 系统主 控台和 K/3 系统其他的功能模块无缝的组合在一起。 ? 插件开发向导:利用简单的向导方式为 K/3 BOS 业务单据插件的开发提供总 体框架,K/3 BOS 使用者只需要在指定的事件中写入个性化的事件处理命令 就可以完成了业务单据插件的开发,使业务单据的功能更加个性化


为叻加深你对 K/3 BOS 客户化开发工具的理解,让我们在没有开始正式介绍 K/3 BOS 各个客户化开发工具之前先看看下面这样一个开发案例,如果你手头已經有 K/3 BOS 客户化开发工具包你也可以按照开发案例的步骤,依次的开发出你的第 一个完全基于 K/3 BOS 的新业务!
有这样一家工业企业在今年新增叻外贸出口业务,需要在原有信息管理系统 K/3 ERP 中增加出口业务管理功能而目前系统合同管理模块只有内销合同,客 户要求系统增加外贸合哃实现外贸结算业务。
这个应用场景中客户在需要在 K/3 系统中添加一张新的业务单据,外贸合同 在没有 K/3 BOS 的时候,客户需要把这个需求提交给金蝶系统在批量填充功能中可以设置机构或者是金蝶系统在批量填充功能中可以设置合作 伙伴由机构或者合作伙伴进行二次开发, 如果机构或者合作伙伴觉得这个需求 有一定的难度不能完成,就会直接提交给金蝶系统在批量填充功能中可以设置软件研发中心而研发中心又会 结合各种情况,评估是否需要实现这个需求整个过程下来,耗费的时日可能比 较久耽误了客户业务应用的最佳时间。现茬有了 K/3 BOS客户就有能力自己 快速开发出针对业务需求的业务单据,快速的应用到日常业务中 好了, 现在就让我们简单的分解一下客户的需求 并针对明细需求制定开发步骤, 用 K/3 BOS 开发出这张单据 首先,我们分析外贸合同应该包括的内容发现国家、港口、仲裁机构、销售模 式有一定的通用性,同样的内容可以出现在多张外贸合同中因此,我们可以考 虑把这些内容纳入基本资料,规范外贸合同单据的输叺提高录入效率。 其次我们发现,外贸合同单据不是孤立存在的它应该和销售发票、收款单据 存在着一定的先后次序和依存关系,這就涉及到了业务流程设计 最后,录入的每张单据需要用一个列表的方式显示出来客户可以自定义条件快 速查询并打印,这就是单据嘚序时簿在 K/3 BOS 中,对于每张单据都会自

金 蝶 K/3 BOS 开 发 手 册 动建立一个序时簿,那么客户就不再需要对序时簿进行特别的设计了,只需要 调整序时簿中显示的字段和字段显示顺序就可以了 当然,在 K/3 BOS 中定义的新单据最后应该发布到 K/3 主控台和系统其他的 功能放在一起,方便最後使用 结合以上的简单分析,我们可以制定如下的操作步骤和结算流程:

1.3.3 步骤 1:定义基本资料


在定义基本资料之前请打开 K/3 BOS 客户化开发笁具中的“基础资料设计” 工具。程序位置如图:

登录到需要添加新单据的帐套这样,所作的工作就可以立即起到作用也 可以登录到臨时工作帐套, 在临时帐套中设计好单据以相关信息以后再引出 脚本通过 K/3 系统工具中的“SQL Server 查询分析器”把新单据发布到工 作帐套。 在“加载模板”界面单击【新建】 输入新建基础资料模板类型 ID,这是基 础资料的唯一标识符默认情况下,系统已经为新的基础分配了一个類型 ID不需要再手工输入,案例中 ID 分配为 点击【确定】 ,进入界面设计平台对于新建的基本资料,设计平台已经自 动添加了两个字段“代码” 、 “名称” 为了简化案例,不再添加新的字段 选择菜单〖编辑〗→〖字段管理〗,进入单据属性界面,修改基础资料相应 的单據名称为“国家” 单据头表名(存储用)为“ICNation” ,第 1 个单据 体表名为“ICNationEntry” 单击【确定】 ,就完成了字段的定义

在界面设计平台界面,通过拖放控件调整字段的位置,调整完毕后保存 至此,基础资料国家就定义完毕是不是很简单呢?

上图就是最后确定的基础资料“国家”界面按照同样的步骤,建立基础资 料“港口” 、 “仲裁机构” 、 “销售模式” 类型 ID 分别分配为 , 。


1. 2. 打开 K/3 BOS 客户化开发工具中嘚“业务单据设计”程序 在“加载模版”界面中点击【新建】 ,由于外贸合同单据和合同(应收)单 据有一定的相似度选择<复制已囿单据模板>, 然后从模板列表中选择< 合同(应收)>单击【确定】 ,这样合同(应收)单据所有的字段就显 示在单据设计平台界媔了,我们可以在此基础上作些修改 就可以把模板改 为外贸合同了(不用担心你的保存会覆盖合同(应收)模板,因为你选择的 是新建操作保存时会自动“另存” ,而不是覆盖) 案例中 K/3 BOS 系统 为外贸合同分配了模板类型 ID。 选择〖编辑〗→〖字段管理〗 修改<单据名称>为“外贸合同” ,<表描述 >为“合同主体” <单据头表名(存储用)>为“ICForeignContact” ,< 第 1

金 蝶 K/3 BOS 开 发 手 册 “ICForeignContactEntry2” 4. 选择<表结构>为“单据頭”或者“合同主体” ,列表中自动会列出属于合 同主体的所有字段同时会显示【新增】 、 【修改】 、 【字段引入】 【模板添加】 等按鈕。 5. 单击【新增】 出现“字段属性”界面,<名称>输入为“对方国家” <数 据来源>选择为“新关联字段” ,<基础资料类别>选擇为“国家” <相关 属性>选择为“名称” ,<物理字段名>输入为“FNation” 6. 单击【确定】 ,新的字段就添加到了“合同主体”的字段列表用同样的方 法,分别添加“港口” 、 “仲裁机构” 、 “销售模式”字段到合同主体 7. 单击“单据属性”的【确定】 ,新增加的四个字段就会出现在单据设计平台 界面上 此时这些字段是重叠显示在界面的左上角,可以通过拖拉控件的方 式把各个字段放到指定位置 8. 选择菜单〖编辑〗→〖录入顺序〗 ,通过【上移】 【下移】按钮调整在运行时 刻各字段的录入顺序 9. 至于其他的字段,为了不把案例介绍的太複杂就不做介绍,操作方法和原 理一样 10. 单击【保存】 ,新的业务单据“外贸合同”就建立了是不是很激动呢?如 果你急于想看看在運行时刻单据到底是什么个样子 你可以按 “F5” 试运行。

1.3.5 步骤 3:定义业务流程


1. 2. 打开 K/3 BOS 客户化开发工具的“流程设计” 从<单据列表>中选擇外贸合同的下一流程单据“销售普通发票” ,系统自 动展开销售普通发票的所有源单 从列表中可以看出, 销售普通发票已经包 含了源單“合同(应收) ”

<源单>中选择“外贸合同” ,单击【确定】 这时<关系设置>里面的关键 域<关系>就变的可选,默认的关系為“复制” 把<关系>改为“钩稽” ,<控制字段>则变为可选 把<控制字段>选为“数量” ,控制字段的作用是为了连接钩稽关系Φ的源 单和目标单 目标单新建时, 自动根据目标单的控制字段扣减源单的控制字 段并且保证目标单的控制字段值不超过源单控制字段徝。 选择<目标单域>为“分录 2” <源单域>为“分录 2” ,单击【选单关系】 列表中自动列出了源单和目标单可以匹配的字段。 选择需要保持一致的字段在<修改>列打勾。

单击【保存】 所做的变动就保存到了数据库中,但流程定义还没有完全结 束因为只有启用狀态的流程才有实际的意义。 9. 确定流程定义无误后单击【启动】 ,流程定义就完毕了这样,就可以根 据外贸合同开具销售普通发票了 10. 注意:已经启动的流程,不能再进行修改

1.3.6 步骤 4:业务单据发布


对于业务发布,分为两种一种是发布设计内容,一是发布主控台设計内容的 发布则是通过在单据/基础资料设计平台引出脚本,然后到目标帐套数据库中执 行这些脚本新的业务资料就注入了目标帐套,可鉯在帐套中被引用;发布到主 控台则是在 K/3 系统主控台中添加功能点 使最终用户在主控台中可以直接引用 K/3 BOS 开发的新业务,把 K/3 BOS 业务和 K/3 系统原囿业务密切的集成在一 起本节介绍把开发的业务案例发布到主控台的步骤: 1. 为了把案例中发布的结果更清楚的展现出来, 我们先在 K/3 主控囼中新建一 个系统(BOS 开发案例) 、子系统(业务单据) 、和子功能模块(外贸单据) 然后把外贸合同的功能点放在〖BOS 开发案例〗→〖业務单据〗→〖外贸 合同单据〗中; 打开 K/3 系统主控台; 选择菜单〖系统〗→〖设置〗→〖主控台编辑〗 ,进入如下的主控台管理界 面――主控台编辑器:

按级别新增加〖BOS 开发案例〗→〖业务单据〗→〖外贸合同单据〗 ; 打开 K/3 BOS 客户化开发工具“部署工具” ;

金 蝶 K/3 BOS 开 发 手 册 6. 7. 8. 9. 从<发咘的目标系统>列表中选择“BOS 开发案例” ; 从<发布的目标子系统>列表中选择“业务单据” ; 从<发布的目标子功能模块>列表中选择“外贸合同单据” ; 从<将要发布的功能>列表中选择业务的功能点“外贸合同-查询” 、 “外贸 合同-新增” 单击【添加到发布列表】 。烸个新的业务都会包括“查询” 、 “新增” 、 “修改” 、 “删除” 、 “打印” 、 “引出”这些功能点,比较常用的是查 询和新增查询會显示业务单据的序时簿, 而新增则显示业务单据的录入界 面; 10. 单击【发布】 新的业务就可以在 K/3 主控台启用了,完全无缝的集成到了 K/3 系統中


界面设计工具主要提供一个图形化的设计方法, 用来设计业务单据/基本资料在运行时刻 显示给最终用户的交互界面包括界面上显礻的字段和各字段的位置、录入顺序等,还 可以设计业务单据/基础资料的其他一些属性界面设计遵循着所见即所得的原则,设计 好的业務界面可以直接进入运行时刻进行测试

金 蝶 K/3 BOS 开 发 手 册 本章主要从两个方面介绍界面设计工具,一是界面设计工具现有的功能点即可以對业 务单据进行什么方面的设计,由于这方面的内容有一定的通用性和比较直观因此阐述 的会比较简单;另一个方面则是重点介绍界面設计工具中涉及的比较专业的概念,比如 字段的数据来源和事件处理过程中的函数等 加强用户对 K/3 BOS 的深层次理解和应用, 阐述的会比较详細 界面设计工具包括基础资料设计平台和单据设计平台,除了个别内容不同操作方法非 常一致,因此本章中不区分介绍的是基础资料设计平台还是单据设计平台,对业务对 象也只称为业务单据不提及基础资料,但对基础资料同时是适用的


? ? ? 打开模版:打开一个已有嘚业务单据进行修改,也可以进行新建操作 保存:保存对业务单据进行的修改。 模板数据脚本引出:把可以在其他帐套重复生成业务单據的模板数据库脚本引 出引出的文件可以为纯文本或者 SQL 文件。由于 K/3 BOS 对业务单据的所有 设计都以数据库元数据的形式保存任何内容都可鉯用数据库 SQL 语言描述, 因此可以方便的引出和重构使客户的设计发布非常容易,应用的更加广泛 基于这个理由,把客户的业务设计升級到 K/3 后续版本也会变得非常容易 批量模板脚本引出:一次性地把多张业务单据的数据库脚本引出,这样就可 以把相关的业务单据数据庫脚本存储在一起,重构时一次性生成所有相关的 数据,既减少了客户出错的机会又保证数据库结构的完整性。 引用判断存储过程脚夲引出:把引用判断存储过程的脚本引出到纯文本或者 SQL 文件 单据测试:从设计状态进入运行状态,检验设计的单据是否可以在运行时刻囸 常运行减少设计的业务单据出错的机会。 序时簿测试:测试设计的业务单据在运行时刻是否可以正常显示序时簿 多事务类型序时簿測试: 字段管理:对业务单据相应的物理表格进行管理,包括业务单据物理表名物

金 蝶 K/3 BOS 开 发 手 册 理表包含的字段、字段的数据来源、字段的类型、字段的长度等。在保存业务 单据时会根据这些内容在帐套数据库中生成实际的物理表格,以便存储最终 用户基于业务单据保存的实际数据内容而且,序时簿提供的字段和多表之间 的连接关系也和字段管理有着密切的关系。关于字段管理和字段数据来源、 字段类型有许多可选项 都是 K/3 业务专家根据 K/3 多年的应用经验抽象出来, 有一定的专业性在后续章节中会有详细介绍。 ? 层管理:对于内容非瑺丰富的业务单据如果所有的字段都放在一个页面,则 会显得非常杂乱甚至根本就放不下,这时就可以考虑对页面分层了这里的 所謂分层实际上就是分页,比如员工信息可以考虑分为“一般信息”和“私 人信息”这两页,当然也可以用其他方法分页 默认情况下,業务单据只有 1 个“公共页” 所有的内容都放在里面。公共页中 的内容对所有页都适用不管用户把页标签翻到那页,公共页的内容都会顯示 出来而其他的页内容只有在用户把页标签翻到该页时,才会显示出来 这里的层管理仅仅指定业务单据包含的层数和每层的标签,具体把字段等项目 分配到层则需要设置项目的属性。 属性:以列表的形式显示和设置字段等项目的属性具体的属性列表和属性的 意义、设置方法请参阅后续章节。 插件管理:对于 K/3 BOS 高级用户可以通过插件编程的方法对业务单据实现 更个性化的设计,这里就是把这些插件囷业务单据联系起来在运行时刻,系 统会自动根据这里的设置把相应的事件处理控制权交给存在的插件 权限设置:对业务单据的权限模型进行设置,分配好权限模型后K/3 系统就 可以把权限模型中的功能点有针对性地分配给用户。默认情况下系统已经为 每个新建的业务單据建立一个完整的权限模型,不需要再重新设置 编码规则设置:设置业务单据中,单据头上来源为“单据编号”的字段在新 建单据時,字段值的生成方式涉及的内容包括“前缀” 、 “后缀” 、 “当前值” 、 “格式”等。默认的格式为“” 即数字流水号,当前值会茬保存新单 据成功后递增而前缀和后缀则不变,分别添加到流水的前面和后面有这样 的一个案例:编码规则中前缀为“SOR”(Stock Out Receipt),后缀为空当 前值为 99,格式为默认格式“” 则下张新单据的“单据编号”字段 值自动为“SOR” 。 设置录入顺序:业务单据通过按“Tab”键切换录入焦点的方式可以大大加快

金 蝶 K/3 BOS 开 发 手 册 用户录入速度,而设置合理的录入顺序则效果尤为明显可以人为的使系统在 录入时跳过不需要录叺的字段,减少按键次数在“设置录入顺序”界面,以 列表的方式从上到下,按录入顺序从前到后的排列非常形象和直观。可以 通過点击【上移】 【下移】方便的重新调整录入顺序 ? 设置序时簿显示顺序:序时簿在显示时,字段的先后顺序可以按照用户自定义 的方式絀现当前 K/3 BOS 系统中,设置序时簿字段显示顺序有两个地方一 个是在这里,还可以在序时簿过滤界面进行设置这里的设置只是一个参考, 真正起作用的还是在过滤界面设置的字段显示顺序因为过滤界面最接近序时 簿,提供了最直接的方式来控制序时簿包括显示的字段、字段顺序、数据、 数据排列顺序等。 窗口属性设置:简单的设置运行时刻业务单据窗口属性 网络控制设置:对业务单据的网络控制进荇设置,默认情况下系统已经生成 了控制方案,不需要再特别设置就可以实现很好的网络控制功能 对齐:对界面中被选中的多个字段/項目进行排列操作,减少人为调整的难度、 节省设计时间对齐方式有上、下、左、右等。只有在用户选择了多个字段/ 项目时这些功能才開放 排距:对界面中被选中的多个字段/项目进行排距操作,包括横、纵向距离相同 等使字段/项目排列的更加美观。 调整高、宽:快速嘚调整被选中的多个字段/项目高或者宽一致使字段/项目 更加整齐,界面变的美观


字段管理主要对业务单据相应的物理表格属性进行管悝,本节用表格的形式列出、 介绍字段管理涉及的有关域 域 <表主要信息> <单据名称> 任意字符串,可以录入简体、繁体中文、英文简要说明业 务单据

金 蝶 K/3 BOS 开 发 手 册 <单据分录数> <数值> 业务单据的分录数(单据体数) ,最少有 1 个分录支持多 个分录 单据头和单据體在数据库中保存最终用户业务数据的数据 表表名,因为会根据这个名称生成实际的物理表格所以命 名必须符合数据库表格命名规则, 洳必须以字母或者下滑线 开头等 适用于单据体,分录为 0 表示为单行分录和单据头的关系 为 1 对 1 的关系,而分录为 1 表示为多行分录和单據头的 关系是 1 对多的关系。 适用于单据体即单据体的内容是否必须填写,不能空行提 交 任意字符串可以录入简体、繁体中文、英文,簡要说明单 据 适用于单据体描述单据体中关键字段的名称,可以不必填 写 列出当前业务单据包含的单据头、所有单据体选择其中一 项後会在表格中显示属于这个选择项的所有可定义字段 (区 别于其他的很多用户不可定义、不可见的字段) 按照“字段名称、字段类型、所屬单据体、定义显示”这几 列列出单据中所有的可定义字段。 向单据头/单据体中新增加一个字段 修改单据头/单据体中已有的字段 删除单据頭/单据体中已有的字段 引入单据头/单据体中物理表格中存在的属性为不可定义 或不可见的字段,把这些字段的属性变为可定义 从标准字段模板中直接引入字段 模板中的字段都是定义完 整的,引入后可以直接使用,不需要再重新设置属性 任意字符串可以录入简体、繁體中文、英文,作为字段的 标题显示 不可选标明字段是属于单据头还是单据体 字段中的内容从什么地方来。K/3 BOS 根据 K/3 系统丰富的 业务经验抽象出来了多个字段数据来源方式,每种数据来 源都会绑定一些业务规则 对数据类型等其他属性产生一定 的约束。如选择<数据来源>為“新关联字段” 则还会需

<表描述> <分录关键字段> <表结构> <表结构列表>

<字段列表> 【新增】 【修改】 【删除】 【字段引叺】 【模板添加】 <字段属性> <名称> <位于> <数据来源>

金 蝶 K/3 BOS 开 发 手 册 要进一步确定关联的基础资料类别等, 而字段类型就不再允 許输入默认为整型。 具体那种<数据来源>有什么样的规则 请参阅数据来源一 节 <长度> <物理字段名> 字段在物理表格中占用的位置,一般以字符为单位注意, 一个中文字符会占用两个字符长度 对于需要保存的字段(区别于内容由其他字段携带在界面 上会有显示,但不保存到物理表格的字段) 必须设置一个 物理字段名, 系统根据这个名称在业务单据的物理表格中插 入相应字段以便保存最终客戶的数据。 K/3 BOS 中对 SQL Server 的数据类型进行了取舍和扩充舍 弃了一些不太适用的类型和添加了一些业务相关的类型, 如 数量类型则是和业务联系嘚非常紧密的字段类型,如果一 个字段为数量类型则必须要和物料以及物料单位关联。 具体的字段类型描述和业务规则请参阅字段类型一节。 <数据来源>为“关联”时有用标明字段需要关联到那种 基础资料 字段为关联时,显示在界面上的内容

<基础资料类别> <相關属性>

< 关 联 项 目 类 别 字 <数据来源>为“核算项目”时有用和业务单据中已有的 段> 核算项目类别关联 <列表来源方式> <数据来源>为“下拉列表”时有用,确定如何填充下拉列 表


K/3 BOS 设计者根据 K/3 多年积累的业务经验把字段的数据来源归纳为多种,每 种数据来源都绑萣了特别的业务规则 在应用时, 会根据这些业务规则来获取数据 填充到目标字段。为了实现这些业务规则可能还需要设置相关的属性,本节就从 数据来源的定义和必需的相关属性设置两个层面通过列表的形式进行阐述。 相关域 说明 手工录入 字段的内容完全由用户自甴输入不用通过任何的业务规则来获取 <物理字段名> <字段类型> <字段长度> 手工录入的字段,因为没有任何获取规则必须得保存到 实际的物理表格,才能够被重现 必选用来确定用户数据保存到数据库的类型。 根据字段类型来确定是否可填写

金 蝶 K/3 BOS 开 发 手 册 新关聯字段 字段的内容必须来源于基本资料中的基本资料代码或者名称。在业务单据录入界 面可以通过按“F7” 来从基础资料列表中获取;基礎资料中不存在的内容不能 够输入到界面。 <基础资料类别> K/3 系统中当前已有的基础资料类别非常丰富,而且还 可以通过 K/3 BOS 添加更多的基礎资料所以,新关联字 段必须确定基础资料的类别以缩小基础资料查找的范 围,减缓数据压力 只有两个选项,代码或者名称确定芓段在界面显示的内 容

单据上已有关联字段属性 字段的内容不需要录入和保存,而是在“新关联资料”字段的内容改变时由“新 关联资料”字段携带过来,显示在界面所以,必须选择相关的“新关联资料” 字段 <基础资料类别> <相关属性> 业务单据中已有的“新关联資料”字段列表必选 确定了相关的“新关联资料”字段后,K/3 BOS 把该基础 资料类别其他的所有字段列出供用户选择,确定由“新 关联资料”字段携带到界面的内容显示在本字段

单据编号 每种业务单据,都必须有一个“单据编号”字段用来保存单据的唯一标示。 “单 据编號”字段的内容在新建单据时可以根据用户设置的规则自动建立,节省用 户录入的时间和出错几率因为对于比较长的单据编号,如有 0000000 格式时 很容易出错。 单据编号字段不需要用户手工录入可以设置一定的生成规则自动生成、填充到 界面。单据编号的规则设计可以从堺面设计工具的〖编辑〗→〖编码规则设置〗 进入设计编号的前缀、后缀、格式、当前值、是否允许修改等。 <物理字段名> 保存到实際的物理表格中的字段名 制单人 K/3 BOS 自动将登录用户的 ID 填入到“制单人”字段最终用户不能录入、修改 这个字段 <物理字段名> 保存到实际嘚物理表格中的字段名 批次 类似于和物料关联的“新关联资料”字段,可以用 F7 从基础资料―物料中选取 区别在于“新关联资料”物料字段和库存是没有关系的,而批次却是基于库存中 的物料 <物理字段名> <关联的物料字段> 保存到实际的物理表格中的字段名 业务单据仩已存在的,基础资料类别为“物料”的“新关

金 蝶 K/3 BOS 开 发 手 册 联资料”字段 核算项目类别 核算项目的内容分为两级一是类别信息,二是類别内具体项目列表当需要在 业务单据中引用核算项目内容时,可以让用户先选择核算项目类别确定后再选 择类别中的具体项目。这樣最终用户到底会引用那个核算项目类别中的项目只 有在运行时刻才会确定,不像“新关联资料”在设计时就已经确定了引用的基础 资料类别为实现这样的设计,必须添加一个核算项目类别字段供最终用户选择 核算项目类别不能手工录入,必须从核算项目类别类别中選择 <相关属性> <物理字段名> 业务单据运行时刻界面上字段显示的内容,是显示核算项 目类别代码还是名称 保存到实际的物理表格Φ的字段名

核算项目 为核算项目类别中的明细核算项目内容会根据核算项目类别的变化而获取不同 的信息列表。 核算项目不能手工录入必须从核算项目列表中选择 <关联项目类别字段 业务单据已有的核算项目类别字段,本核算项目字段的内 > 容会随该字段的变化而变化 鼡户 字段内容来源于系统中已有的用户列表可以从中选择其一填充到界面并保存。 <物理字段名> 保存到实际的物理表格中的字段名 下拉列表 字段为下拉列表时系统会预先根据规则生成列表内容,用户只能从中选择其一 下拉列表中的内容来源有两种形式,一种是通过 SQL 語句在数据库中获取另一 种是在设计阶段手工录入固定的选项。 其中通过 SQL 语句获得方式还需要录入 SQL 语句中保存字段、显示字段、来源表洺、过滤条件等内容而固定列表方式则只 需要在字段项目的属性<下拉列表值>中录入。 <列表保存字段> 目标表格中的索引字段在鼡户选择了其中一个列表内容 后,系统会把这个内容对应的索引保存起来下次就可以 通过这个索引再次定位到用户的选择 显示在界面,供用户选择的字段一般这个字段的内容会 比较直观,如名称字段不同于索引字段,内容可能会有 重复所以 K/3 BOS 系统不能直接保存用户选擇的内容, 而应该保存内容对应的索引 即使内容被修改, 有了变化 K/3 BOS 也可以根据索引获取新的内容,保持数据一致 列表内容的来源表當前 K/3 系统中的表格非常多,如何 知道你需要的内容在那个表格呢这就需要查阅其他的 一些技术资料了,如果无法找到可以寻求金蝶系統在批量填充功能中可以设置的技术支

金 蝶 K/3 BOS 开 发 手 册 持。 <过滤条件> 逻辑条件表达式 SQL 语句会根据这个条件过滤查询结果。 编写一个合適的条件可以保证出现的内容包含了你需要 的内容,不过多获取也不会遗漏,减轻取数的压力

组合类型 对于有些字段设计者在设计時只知道可能会有多种不同的来源,而不能确定时 就可以把字段定义为组合类型,并预先定义几种可能的字段来源和会引起变化 的字段(触发字段) ,在触发字段的内容符合某一条件时把组合类型字段确定为 预设的一种字段来源,符合其他条件时在把组合类型字段設为其他的字段来源。 这样字段的来源就可以非常灵活的根据触发字段的内容变化而变化。 <触发字段> <设置> 业务单据中那个字段的内容变化时,会引起组合类型字 段来源的变化成为组合类型字段的“触发字段” 设置参与变化的字段和引起变化的条件。 参与变化嘚字段应该包括预先定义的几种可能的字段来 源请在那些特别定义的字段前面打上选择项。 触发字段没有任何内容时组合类型属于的芓段来源,为 “默认”选项 请在“条件”列输入需要把组合类型转到本“字段”的转 向条件。当触发字段的内容发生变化时就自动判斷这些 条件,一有条件符合的字段就把组合类型转到了这个字 段。

复选框类型 结果只有是或者否的字段适用复选框类型 <物理字段名> 保存到实际的物理表格中的字段名 自定义查找类型 完全由设计者确定数据获取方式和方法 进一步对获取方式的定义需要在字段/项 目属性Φ定义 <物理字段名> 保存到实际的物理表格中的字段名


K/3 BOS 中对 SQL Server 的数据类型进行了取舍和扩充, 舍弃了一些不太适用的类 型和添加了一些业務相关的类型如数量类型,则是和业务联系的非常紧密的字段 类型如果一个字段为数量类型,则必须要和物料以及物料单位关联

金 蝶 K/3 BOS 开 发 手 册 本节主要列出各种类型可以保存的数据。 字段类型 文本 示例 “abc” 说明 SQL Server 中的通用字段类型可以保存 任意由字符和数字等组合的芓符串, 长度不 能超过“长度”属性设置值注意,中文字 符作为两个字符长度保存 K/3 BOS 中的特别字段类型, 值类型同于 SQL Server 中的数值类型但必须和业务单据 中已有的基本资料字段“物料”以及“计量 单位”关联,这样数量字段就可以根据物 料当前采用的计量单位换算为物料嘚标准 单位数量,保证核算的准确 K/3 BOS 中的特别字段类型, 值类型同于 SQL Server 中的数值类型但必须和业务单据 中已有的“新关联资料”物料字段關联。 K/3 BOS 中特别字段类型值类型同于 SQL Server 中的数值类型,但必须确定对应的 货币 这样在核算时就能够消除因为币种和 汇率的不同而带来的计算错误 对应于 SQL Server 的长整型,长度为固定 所以不允许修改。

1,000.0001 对应于 SQL Server 的数字类型长度分为 总长和小数位两种。 对应于 SQL Server 的日期类型长度固定, 不允许修改 在界面上, 日期类型的字段会对应一个特别 的日期选择控件 最终用户可以很方便的选 择和录入日期


界面上的每个项目(芓段) ,除了能够通过“字段管理”设置字段的物理表格相关 的属性外还可以通过“项目的属性”来设置一些其他表现层属性,确定项目在界 面上的显示位置、字体等也可以设置项目的特别规则,控制项目的取值、保存、 录入等

金 蝶 K/3 BOS 开 发 手 册 本节列出“项目的属性”堺面出现的属性及其意义、输入约定。 <下拉列表值> 字段的数据来源为“下拉列表”时才可见下拉列表的类 型为“SQL 得到”时,只能用來查看根据设定的保存列、 显示列、数据表生成的 SQL 语句不能修改;下拉列表的 类型为“固定列表”时,可以通过点击属性值后的按钮进 荇设置(添加、修改、删除列表) 字段的值在保存前必须执行的特别检查。检查方法为约 定的几种“事件处理过程”函数K/3 BOS 业务单据设計 者可以从这些函数中选择一种或几种,填写函数必需的参 数这样,最终用户在保存字段内容时系统就会自动调 用这些函数, 传入预設的参数 完成设定的事件处理过程。 具体对“事件处理过程”的阐述请参阅相应的章节 K/3 目前支持简体、繁体中文、英文。本属性用来設置当 系统环境为简体中文时字段标签(或列名)显示的内容。 本属性的录入方式为直接手工输入 当系统环境为繁体中文时字段的标題。本属性的录入方 式为直接手工输入 当系统环境为英文时字段的标题。本属性的录入方式为 直接手工输入 调整字段的显示字体包括芓体名、字号、是否斜体、粗 体等。本属性的录入方式为调用字体设置界面选择字体 各相关内容,设置完毕后项目的外观会立即根据噺字体 最出调整 设置项目与界面上边界的距离,以 Twip 为单位Twip 为 是相对单位,大约 15 个 Twip 对应于 1 个像素长度很小 设置项目与界面左边界的距离,以 Twip 为单位 从列表中选择包括“审核状态”等 设置项目的高度,以 Twip 为单位 对项目显示所在的层进行分配如果在业务单据的“层” 管理Φ设置了多层,这里则会出现相应多个层选项默认 为“公共层” 。 除了公共层其他所有层的项目都只能在界面上的页切换 到了所在的層时,才会显示出来 对项目的特别控制,默认情况下项目为拥有所有功能, 可以通过取消功能项来取消项目相应的功能 项目在界面上顯示的宽度以 Twip 为单位

<繁体中文标题> <英文标题> <字体>

<上> <左> <扩展条件> <高> <所在层>

<功能控制> <宽度>

金 蝶 K/3 BOS 開 发 手 册 <可见性> 项目的可见性级别,默认为-1即在所有地方可见。属性 值在使用时 是按位比较的, 如果属性值包含了下列的值 则表示项目在该种情况下可见: 1:项目在业务单据界面可见; 2:项目在序时簿列表中可见; 4:项目在设计状态时不可见; 8:项目只在设计状態可见 项目的内容是否必须填写,不能为空 新建单据时项目的内容 设置项目的值在被更新时附加的事件处理过程,默认情 况下不进行任何动作。 设置项目的值在从数据库中加载到界面时触发的事件处 理过程,默认情况下不进行任何动作。 填写项目的说明信息

<必录> <缺省值> <值更新事件> <加载更新事件> <说明>


对于业务单据字段级的内容控制K/3 BOS 提供了三个事件入口,和一系列的事件 处理过程提供的事件,按触发的先后顺序分别是“加载更新事件” 、 “值更新事 件” 、 “值保存事件” 。 本节将介绍系统提供的事件处理过程函数和正常运作需要的参 数 相关域 说明 携带当前字段相关基础资料属性到指定列 当事件函数被引用时,根据选定的字段值从基础资料Φ取得其他的基础资料属 性,放置到业务单据其他的字段中 本事件处理过程适用的字段数据来源应该为“新关联资料”字段。 本事件處理过程的源字段为“新关联资料”字段所在基础资料中的其他字段而 目标字段为业务单据上其他的同数据类型字段,如类型为数值的基础资料其他字 段只能被携带到业务单据类型为数值型的字段 函数适用字段 函数适用事件 目标字段 源字段 数据来源为“新关联资料”的芓段 都适用 必选,业务单据中需要由“新关联资料”字段携带到界 面的其他字段 必选,和目标字段数据类型相同的“新关联资料”字段所 在源表中的其他字段

计算定义公式的值并填写到指定列 当事件函数被引用时会计算本函数定义的公式,获取公式结果填写到业务单 據中的指定列。如对于业务单据中的金额应该是计算“数量 * 单价”而来,这 里“数量 * 单价”即为计算公式而金额,即为结果指定列 函数适用字段 函数适用事件 计算公式 都适用,但最好是可以直接引起指定列变化的数值型字 段如物料数量、单价等,这些字段改变时吔改变金额 都适用 为数值型字段对应关键字和“+、-、*、/、括号”组成的 计算公式表达式, 当前字段对应关键字可用 ME 来表示,例 如当前字段为数量,要计算单价 (FPrice)*数量(FQty)并 填 充 到 金 额 (FAmount) 列 公 式 可 定 义 为 FAmount=ME*FPrice 或 FAmount=FQTY*FPrice 本业务单据上所有的数值型字段同时,如果存在“新关 联资料”字段则也会把该芓段相关的基础资料中其他数 值类型的字段列出。 包含在表达式中的字段在计算表达式时会被替换成实际 的字段内容 保存计算公式的结果列作为计算公式的一部份放在计算 公式的最前,通过“=”和计算公式分开

计量单位变化后自动换算数量和单价 业务单据上面的数量和单位字段并不是孤立存在的,而是和物料、单位密切相 关的当单位发生变化时,应该能够根据新单位和原单位的换算关系自动调整 保證数据的正确性和一致性。 本事件就是设置在业务单据上当那个单位字段发生变化需要根据这个新单位调 整数值的数量和单价字段 函数適用字段 函数适用事件 数量、单价字段 适用于单据上和“计量单位”关联的“新关联资料”字段。 都适用 列出业务单据上所有的数据类型為“数量”和“单价”的 字段如果需要和触发事件的计量单位一起做调整,在选 择项上打勾

表达式为真/假时显示/隐藏字段 本事件函数被引用时会先计算预先设置的表达式值,根据计算结果确定显示/隐 藏业务单据上单据头的字段或单据体这里需要注意的是,单据体是作為一个整 体被控制的整个单据体要么显示,要么隐藏不能针对单据体内的字段来控制。 表达式可以包含业务单据头的字段名称在运荇时刻,自动用字段的实际内容代 替名称来计算表达式结果

金 蝶 K/3 BOS 开 发 手 册 函数适用字段 函数适用事件 字段列表 都适用 都适用 业务单据中单據头所有字段的列表通过双击字段,可以 把字段名填入表达式相应位置包含在表达式中的字段在 计算表达式时会被替换成实际的字段內容。 为单据头字段对应关键字和“+、-、*、/、括号”等组成 的逻辑计算表达式 当表达式为真时需要确保显示的字段 当表达式为假时需要确保隐藏的字段

表达式 表达式为真时显示 表达式为假时隐藏

表达式为真/假时锁定/解锁字段 本事件被引用时会先计算预先设置的表达式值,根据计算结果确定锁定/解锁业 务单据上的字段 函数适用字段 函数适用事件 字段列表 都适用 都适用 业务单据中单据头所有字段的列表,通過双击字段可以 把字段名填入表达式相应位置。包含在表达式中的字段在 计算表达式时会被替换成实际的字段内容 为单据头字段对应關键字和“+、-、*、/、括号”等组成 的逻辑计算表达式 当表达式为真时需要确保锁定的字段 当表达式为假时需要确保解锁的字段

表达式 表达式为真时显示 表达式为假时隐藏

单据合法性校验 本函数被引用时,会先计算预先设置的表达式值计算表达式结果,当计算结果 为假时提示预先设定的消息,同时撤销保存动作或者阻止最终用户把移动录入 焦点 函数适用字段 函数适用事件 字段列表 都适用 值更新事件、值保存事件 本业务单据上所有的字段。同时如果存在“新关联资料” 物料字段,则也会把该字段相关的基础资料中其他数值类 型的字段列絀 包含在表达式中的字段在计算表达式时会被替换成实际 的字段内容。 为各字段对应关键字和“+、-、*、/、括号”等组成的逻 辑计算表达式

合法性校验表达式为 当设定的单据合法性校验表达式为假时系统显示出来提 假时提示 示最终用户的信息。 为了保证系统在多语言的环境中正常运行提示信息分简

金 蝶 K/3 BOS 开 发 手 册 体、繁体中文、英文三种内容 校验时间 确定合法性检验的发生时间。有两种选项两个时间点供 设计者选择:在保存和录入的时候都检查;仅仅在保存的 时侯检查

单据被引用后锁定字段 本函数被引用时,会判断业务单据是否已经被其他业务单据所引用如果是,则 锁定本业务单据上面的指定字段防止最终用户作了修改,影响了数据的完整性 函数适用字段 函数适鼡事件 选择锁定的字段 都适用 都适用 单据被引用后, 系统自动锁定 不让最终用户修改的字段。 当前业务单据上的所有字段都已经列出呮需要在需要锁 定的字段前打勾。

条件成立时锁定菜单项否则解锁菜单项 本函数被引用时,会先计算预先设置的表达式值计算表达式結果,当计算结果 为真时锁定 K/3 BOS 运行平台提供的标准菜单,否则解除对标准菜单的锁定 函数适用字段 函数适用事件 字段列表 都适用 都适鼡 业务单据中单据头所有字段的列表,通过双击字段可以 把字段名填入表达式相应位置。包含在表达式中的字段在 计算表达式时会被替換成实际的字段内容 当设定的表达式计算结果为真时,需要锁定的菜单 K/3 BOS 运行平太提供的所有标准菜单都已经在列表中列出, 如果需要鎖定那个菜单在菜单前打勾 当设定的表达式计算结果为假时,需要被解锁的菜单

合法性检查检查字段唯一性 确定当函数被引用时,需偠校验内容唯一性的字段K/3 BOS 仅提供了业务单据的 单据头所有字段供 BOS 业务设计者确定哪个字段需要做唯一性检查。对于有字段 需要做唯一性檢查但内容不唯一的记录不会被保存 函数适用字段 函数适用事件 都适用 值更新事件、值保存事件

选择需检查唯一性字 业务单据中单据头所有字段的列表,如果需要对那个字段 段 作唯一性检查在字段前打勾


流程设计工具主要提供一个图形化的设计方法, 用来设计业务单据の间的一种流程关系 关系包括复制、 钩稽和强制性钩稽。 当前的流程设计中可以选择的业务单据都是通过 K/3 BOS 设计的 K/3 新业务单据 不支持 K/3 BOS 新業务单据和 K/3 系统中原有业务单据之 间的关系设置。 本章主要从两个方面介绍界面设计工具一是对流程关系中用到的一些术语进行介绍; 叧一个方面则具体阐述设计新流程关系的操作步骤。
通过对 K/3 业务的抽象发现基本可以用如下三种关系,来概括业务单据之间的流 程: ? 复淛:即两张单据的内容基本是一样的只是少量特殊字段或有不同,通过复 制源单的内容到目标单相应字段可以最大程度的减少最终用戶数据录入工作 量,和手工录入的失误并使源单的数据和目标单的数据很好的保持一致; 钩稽:即两张单据上的数量存在一定的依存关系,目标单据上的数量必须受到 源单上相关字段数量的控制这个控制的过程可以用钩稽来表示。目标单据的 数量增加后会对源单的数量进行钩稽,源单的未控数量减少直到为零,从 而保证两单的汇总数保持不变;所以钩稽关系需要选择对应的控制字段,而 且受控字段必须为数量类型来保证钩稽的正确性; 强制钩稽:强制将源单的数据钩稽到目的单,不受控制字段数量的限制一次 就把控制字段的數量钩稽完毕,所以两单的汇总数可能不同。强制钩稽关系 需要选择对应的控制字段来保证钩稽的正确性。
业务单据的流程关系被 K/3 BOS 运荇平台采用后 会对源单和目标单的业务立即采 取控制手段,以保证两单的业务数据符合流程关系这时如果在对流程关系进行修 改,会對业务造成比较大的影响因此,K/3 BOS 提出了流程状态这个概念给流 程设计者一定的缓冲空间,把调整流程关系对业务数据的不良影响控制箌尽可能 低

金 蝶 K/3 BOS 开 发 手 册 ? 设计状态:默认的情况下,流程关系并没有被 K/3 BOS 运行平台采用即使关 系已经保存到了系统,即还处于设计状态可以任意修改关系各个属性,且不 对 K/3 系统直接造成业务流程的影响如果设计完毕,需要将选单关系应用到 K/3 系统中需要通过流程设计笁具提供的菜单〖编辑〗→〖启用〗命令来启 用当前流程关系,也可以单击工具栏上的〖启用〗按钮完成相同的功能 启用状态:此时,K/3 BOS 巳经根据两单之间的流程关系设置在运行时刻对 两单的数据进行了必要的控制,以保证两单所作的变更符合流程这时的流程 关系是不能被修改的,如果需要修改则必须把流程关系停止,使流程状态转 入到设计状态可以通过流程设计工具提供的菜单〖编辑〗→〖停用〗命令来 停用当前流程关系,也可以单击工具栏上的〖停用〗按钮完成相同的功能;也 可以单击菜单〖编辑〗→〖暂停〗来暂停当前流程關系或单击工具栏上的〖暂 停〗按钮完成相同的功能 暂停状态:K/3 BOS 运行平台对流程关系暂时停止控制。提醒:暂停状态不要 持续太久否則会使 K/3 系统涉及该流程关系的业务进入死锁状态,这样不利 于 K/3 系统的正常使用如果需要取消流程关系的暂停状态,重新进入启用状 态鈳以通过单击菜单〖编辑〗→〖启用〗命令来启用当前流程关系,也可以 单击工具栏上的〖启用〗按钮完成相同的功能


流程设计主要分為如下步骤: 1. 选择源单和目标单; 2. 点击“确定”按钮,系统会自动检查源单中与目标单相同的字段可以选择域 (源单域和目标单域)来切换单据中不同的属性,从而设置相应的单据关系 对目标单中每个字段提供了修改、分组、过滤、处理值更新事件等可选功能, 分别表礻如下含义: 修改:是否允许修改目标单中该字段值; 分组:对目标单中该字段是否允许进行分组处理; 过滤:是否提供该字段过滤的功能; 处理值更新事件:是否能够在该字段值更新时处理调用相应预定义的事件处理 函数; 3. 选择单据之间的关系:复制、钩稽或者强制钩稽; 4. 源单的选单条件可以通过点击“选单条件”进行条件设置这样在运行时刻, 对目标单进行修改时通过〖选单〗菜单调用的源单数据必须符合选单条件, 而不是全部源单; 5. 在设置过程中如果发现设置错误需要恢复到初始状态时可以点“重新匹配” , 系统会自动重新匹配所有选定域的字段;

金 蝶 K/3 BOS 开 发 手 册 6. 当目标单所有字段的关系确定后需要保存对应的选单关系,这样一个目标单 的流程关系就可以确定丅来了在确定选单关系的时候,可以点击“选单关系” 按钮来检查选单关系的可行性系统会自动检查对应源单和目标单的关系,如 果發现不一致系统将提示该选单关系不能成立; 7. 在保存选单关系后,需要启用该关系从而能够反映到 K/3 系统对应的业务流 程中。在启用选單关系时系统也会重复检查选单关系的有效性,如果发现有 误系统将给出提示; 8. 在选单关系应用到 K/3 系统后,如果要修改单据流程首先需要停用该单据关 系,使系统在无人使用的情况下来修改 保证 K/3 BOS 的二次开发不会影响 K/3 系统的正常业务处理; 9. 当要删除某种已存在的选单關系时,首先选择左边的单据关系单击〖文件〗 →〖删除当前选单关系〗就可以删除了; 10. 也可以通过单击 〖编辑〗 → 〖解除当前页的选單关系〗 , 该功能产生同样的效果 具体业务操作流程如下页图所示:


对于用 K/3 BOS 设计的基础资料和业务单据,不用经过任何特别设计系统巳经自动提 供了序时簿查询。K/3 BOS 的序时簿具备统一、非常完善的过滤条件设置、数据排序方 法设置和序时簿字段选择器对序时簿显示的内嫆进行非常灵活的个性化选择和定义。 同时序时簿也提供了统一的打印机制,利用所见即所得的方式把序时簿的内容完整 的输出到打茚机,满足最终用户大部分的报表打印需求 同于 K/3 系统,对于最终用户个性化的报表需求可以利用 K/3 系统提供的“万能报表” 设计工具以忣“单据套打”设计工具来完成。万能报表以及单据套打设计工具的具体使 用方法请参阅相关的 K/3 帮助文件
业务发布,就是把通过 K/3 BOS 开发的噺业务提供给最终用户使用包括两个方面,一 是发布设计内容一是发布主控台。设计内容的发布是通过在单据/基础资料设计平台引 出業务单据的模板脚本然后到目标帐套数据库中执行,把新业务单据模板注入到目标 帐套使其可以在目标帐套中被引用;发布到主控台則是在 K/3 系统主控台中添加功能 点,使最终用户在主控台中可以直接进入 K/3 BOS 开发的新业务单据相关界面把 K/3 BOS 业务和 K/3 系统原有业务密切的集成在┅起。

5.1 引出和执行脚本


K/3 BOS 开发的新业务单据所有设计数据都是存储在数据库中可以通过 K/3 BOS 提供的“引出脚本”功能把生成业务的数据库脚本保存为文件,其他的帐套只要执 行这个文件就可以把业务单据注入到帐套。这样的方式使客户的二次开发成果发 布变得更加容易应用哽广泛,而且升级也变得毫无障碍 引出脚本功能由界面设计工具提供:

引出脚本分为三种方式: ? ? 模板数据脚本引出:引出指定单据的模板数据脚本,不包括业务单据关联的其 他业务单据模板脚本 批量模板脚本引出:一次性地把多张业务单据的数据库脚本引出,这样就鈳 以把相关的业务单据数据库脚本存储在一起,执行时一次性生成所有相关的 数据,既减少了客户出错的机会又保证数据库结构的完整性。如前言描述的 案例可以一次性把国家、港口、仲裁机构、销售模式、外贸单据的模板引出, 在其他帐套发布时就可以一次性生荿新业务相关的全部基础资料和单据。

引用判断存储过程脚本引出:引用判断存储过程的定义请参阅插件编程界面 设计工具也可以把为業务单据设计的“引用判断存储过程”引出,方便发布新

金 蝶 K/3 BOS 开 发 手 册 业务时直接生成这个存储过程

向其他帐套发布 K/3 BOS 设计的新业务时,需要打开 K/3 系统提供的 SQL Server 查询分析器然后把数据库指向到目标帐套数据库,打开引出的模板脚本执行


帐套中有了业务单据的元数据后,最終用户还不能应用到新的业务单据必须要在 K/3 主控台部署新功能,才算真正完成了业务的发布

K/3 系统的主控台,把 K/3 中所有的功能按照〖系統〗→〖子系统〗→〖子功能模 块〗→〖功能点〗这样一个四级结构来组织使界面非常美观,用户查找目标功能 点非常容易同时,K/3 主控台还为每个客户提供了个性化定义设置的方法可以 由客户把自己最经常用到的功能点组织到〖我的 K/3〗→〖常用功能〗 。另外K/3 主控台還提供了“主控台编辑器” (选择菜单〖系统〗→〖设置〗→〖主控台编辑〗 ) 对 K/3 主控台包含的功能直接进行组织和修改。 K/3 BOS 客户化开发工具中提供了图形化的发布主控台工具可以非常容易的把新 业务功能点添加到主控台中的指定位置(功能点列表) 。

金 蝶 K/3 BOS 开 发 手 册 ? 确定位置:发布工具提供了三个列表给客户来确定新业务功能点所在的位置 选择目标系统后, 目标子系统中会列出目标系统包含的子系统; 选擇子系统后 目标子功能模块会列出子系统包含的功能模块。通过这种顺序就可以逐步的 确定新业务功能点在 K/3 主控台中的位置。 将要发咘的功能:对于每个新的业务单据K/3 BOS 都可以提供六种功能,分 别是“查询” 、 “新增” 、 “修改” 、 “删除” 、 “打印” 、 “引出” 这些功能都放置在 将要发布的功能列表中,客户可以选择其中的一个或者全部来发布建议客户 只发布“查询”和“新增”这两项功能,因為其他的功能都可以从这两项功能 中进入避免主控台界面功能点太多,显的杂乱


K/3 运行平台为 K/3 BOS 开发的业务单据提供了稳定、标准的运行環境,但为了实 现客户更加个性化的需求和保持 K/3 BOS 架构的开放性 还为客户化开发提供了插 件编程机制,通过 K/3 BOS 业务单据和序时簿事件代理组件把业务单据处理的关 键事件接口抛出,客户可以接收这个事件代理组件并对组件的抛出事件编程,从 而实现个性化的事件处理方法对 K/3 BOS 运行平台进行有效的扩充和扩展。
? ? ? 插件(Plug-Ins)是一种专门为某一软件设计、用于功能扩充的程序 通过插件可以实现客户个性化的定制。 插件不只是被动的接受宿主程序调用 更可以控制宿主程序以完成一些特定 功能。
插件原理静态图如下所示:

结合上图可以对插件原悝简单描述如下: ? 以事件驱动为基础: ? 插件(Plug-Ins)响应主程序发出的事件, ? 在事件处理过程中完成功能。 ? 捕获事件: 通过应用程序代理对象(ApplicationProxy) ? 應用程序代理对象:就是对应用程序(宿主程序)本身的包装 ? 包含很多事件在应用程序(Application) ,也就是宿主程序中激发事件 在插件引用这個对象就可以响应这些事件。 ? 相当于架在应用程序和插件之间的桥梁 ? 本身不包含任何业务功能,仅仅用来发出事件和传递数据 结合宿主程序(Application) 、程序代理(ApplicationProxy)和插件(Plug-Ins) 之间的关系,可以画出如下的插件原理动态图:


在插件编程的机制中最关键的还是应用程序代理对象(ApplicationProxy) ,因为 这个对象相当于宿主程序和插件之间的桥梁宿主程序的代言人,本身并不包括任 何业务功能仅仅用来发出事件和传递数据咜发出的事件越多,则插件可以扩展的 功能点越多对宿主程序的控制则越灵活; 为何不直接引用应用程序本身,而要代理搭桥 ? 首先,┅个应用程序由多个组件(包)组成如果插件要直接引用它们来捕获事 件也可以的。但是这样的话就不得不引用很多个组件(包)不得不定义佷多个 接口来传入对象。这会给 Plug-Ins 开发者一种支离破碎的感觉 更重要的,不把所有的组件及核心算法都暴露给插件的开发者仅有选择地公 布部分组件。 还有在 VB6.0 中,插件将没有机会引用标准 Exe 的对象库

6.2.4 对插件支持的开发步骤 在应用程序的”关键点”抛出事件 如(伪码):ApplicationProxy.RaiseEvent 3. 发絀事件的方法在应用程序里面里调用 它对于插件的开发者应该是不可见,(不过在 VB6.0 里面不太容易实现VB6.0 中 RaiseEvent 必须是 Public,所以会有一种被偷窥的感覺) 4. 插件捕获到这些事件,这就是插件的核心! 什么是”关键点”这完全取决于你 很明显”关键点”越多,Plug-Ins 能完成的功能就愈多 事件所帶的参数完全由你来决定当然,参数应该和事件的上下文有关

6.3 客户端插件编程


K/3 BOS 为客户端插件的编写,特别封装了一个 K/3 BOS 运行平台事件代悝组件包 K3ClassEvents.dll 这个组件包括了三个接口组件,分别是 BaseClassEvent, BillEvent 和 ListEvents本节将着重说明如何在 K/3 BOS 客户端插件中如何才能 接收单据和序时簿事件,并列出单据囷序时簿代理组件包含的方法、属性、事件 以及提供给插件开发者使用的数据包结构。

6.3.1 插件公共入口方法


按照如下的步骤客户可以在洎己的插件中接收到 K/3 BOS 抛出的事件和数据包, 编写自己的个性化需求代码

As BillEvent 这样的定义可以让程序员对 BillEvent 类型的变量中的事件进行编程。 5. 实现 K/3 BOS 對插件要求的标准入口方法 Show()和组件销毁方法: '插件的入口方法K/3 BOS 在检测到有插件时,生成插件实例后首先就会调 用本方法,把单据事件代悝组件 BillEvent 实例对象按地址传给插件使插件 可以接收代理组件抛出的事件 Public "接收、响应的是单据事件 AfterLoadBill", ,"金蝶系统在批量填充功能中可以设置提示" End Sub 綜上所述,为了接收 K/3 BOS 运行平台抛出的事件并对事件进行编程,必须定义 一个类型为事件代理组件的对象变量实现公共插件入口方法 Show,並且用前面 定义的对象变量接收方法 Show 传入的参数


BillEvent 接 口 用 来 抛 出 业 务 单 据 运 行 时 刻 事 件 和 业 务 单 据 模 板 信 息 ( 属 性 TableInfo,类型为 KFO.Dictionary)以及业务单據的数据信息(属性 Data类型为 KFO.Dictionary)。 本节将详细介绍单据事件代理组件提供给插件开发者使用的数据包方法、属性以 及抛出的事件,对于事件还会列出事件发生的次序。模板信息和数据信息在

dctData 包含这个单据对象的详细数据 ? 每一个 Page 对应一个数据对象如果这个 Page 是单表或者表头,那么这 个数据对象是一个字典(只有一条记录不会形成记录集,所以它的内容 直接由各字段组合而成) 否则这个数据对象就是一个 Vector (囿多条记录, 是一个记录集合它的内容为各记录组合而成) ,而 Vector 的每一个子项 均为一个字典 ? 每一个数据对象字典包含了这一个页面上數据总和,它的每一个节点保存 一个字段的信息也是一个字典(这个字典是最明细的) ? 最明细的数据字典(字段)可能包含如下的字段屬性: FFLD = "FFLD" 肯定都有 FDSP = "FDSP" 查找关联类型才有 FFND = "FFND" 查找关联类型才有 FOLD = "FOLD" 修改单据时才有 FMODIFY = "FMODIFY"

dctTableInfo 包含三部份内容 ? 所有字段的详细信息, 以字典的形式保存 采用 Key 去查詢。 这个 Key 是 用字段的属性 FTabIndex+FKey 格式化而成 ? 所有 Page 的信息每一个 Page 是一个字典,包含了这一个 Page 上组成项 的 Key ? 这个单据对象的所有 Item 的 Map 映射这是一个字典 注:在实际开发中对于数据包(Dictionary) ,可以用其 Name 属性返回指 定索引(Index)的变量的名称 ,一层层获得最明细的 Key ? 事件代理组件 BillEvent 提供的方法: 名称 DeleteEntryData 描述 参数 Fire… 描述 ? 描述 删除分录体内全部数据 nPage:Long 型值。分录体的序号该 值由 1 开始

触发事件的一系列方法,原则上需要隐藏 但在 VB 中呮能定义为 Public。 定义的目的是 提供方法给运行平台控制代理组件中事件 触发。插件慎用这些方法 不说明 获取当前 Active 控件 ? 无 获取当前激活字段

通过字段关键名称来获取字段的值对象 ? ?

描述 参数 描述 参数 描述 参数

判断单据是否被改变 锁定单据 锁定指定字段

描述 参数 描述 参数

BRow:Long起始荇,默认为第一行 dct:KFO.Dictionary指定字段 ERow:Long,结束行默认为最后一行 设置字段界面精度

设置合计计算后的数据界面精度

设置 Float 型字段最小值

计算指萣字段的合计、小计值 ? ? ?

单据单据头/体信息模板数据,此属性可读写 单据字段信息模板数据此属性可读写 单据整体信息模板数据,此属性鈳读写 单据状态属性此属性可读写 描述

事件代理组件 BillEvent 提供的事件: 名称 AddNewRow 描述 参数 描述 多表体分录 (由一组分录表格控件组成 )增加 一行时触發该事件 ? Index:Integer 型值。表示新增行动作发 生的分录表格控件的序号. 该值由 0 开 始 NewRow:Long 型值表示新增的行的 行号

当前单据复制完成后触发该事件 无 哆表体分录 (由一组分录表格控件组成 )删除 一行时触发该事件

金 蝶 K/3 BOS 开 发 手 册 参数 ? Index:Integer 型值。表示删除行动作发 生的分录表格控件的序号 该值甴 0 开 始 LRow: Long 型值。 表示删除一行后, 当 前光标所在的行的行号

事件处理过程结束后触发该事件该事件为 预留接口,暂时没有触发 ? ? ? Dct:KFO.Dictionary 对象表礻触发该 事件字段模板 DctFld : KFO.Dictionary 对象。表示触 发该事件字段数据 ItemObj:Object 对象若不为 Nothing 并且触发该事件字段为查找类型时 , 此 值为相关基础资料相关属性對象 ActionTypeName:

填充单据行后触发该事件 ? ? ? ?

描述 参数 描述 参数

第一次选单完成后触发该事件 无 合计行计算事件 . 在录入单据 , 计算合计行 字段时触发该事件 ? ? dct:KFO.Dictionary 对象。表示合计字 段模板 dbResult:Double 型值表示合计值

单据加载完成后触发该事件 无

选单完成后触发该事件 ?

点击菜单项时触发该事件 ? ?

事件处理過程处理前触发该事件, 可通过此 接口控制是否处理定义的事件处理过程。暂 时并未触发本事件事件不可用 ? 加载单据前触发该事件

保存单據前触发该事件 ?

在显示选单过滤条件以前触发。本事件暂未 触发 ? 系统校验前触发事件, 保存检验前的单据检 验接口, 可在系统校验前对特定字段进行赋 值等操作 ? bCancel:Boolean 型值是否取消系统 默认校验事件 无 dct:KFO.Dictionary 对象。表示获得录 入焦点的字段模板 Col:Long 型值表示多分录表体字段 对于的列号 Row:Long 型值。表示多分录表体字段 对应的行号 dct: KFO.Dictionary 对象 表示字段对 应的模板 dctFld:KFO.Dictionary 对象。表示字段 对应的值 Col:Long 型值表示字段所在的列 Row: Long 型值。表礻字段所在的行 bCancel:Boolean 型值可以控制不能 失去录入焦点。预留参数暂时没有实 现控制

单据打包完成,界面显示之前触发该事件 ? ? ? ? 字段获得录叺焦点时触发该事件

字段发生改变时触发该事件 ? ? ? ? ?

单据保存前触发该事件, 单据保存校验事件. ? ? ?

事件代理组件 BillEvent 事件发生的先后顺序:

客户开发的插件和如何和业务平台挂接 对于已经开发成功的客户插件如果不插入到运行平台,系统是不知道有这个 插件存在的不会自动启用插件,插件的功能就完全没有表现的机会那么如 何将插件插入到业务单据的运行平台呢?在前面章节所叙的界面设计工具中 提到过的“插件管理”功能,可以指定 K/3 BOS 各运行时刻需要启用的插件 只要把你编译的插件名称填写到相应的文本框中就可以了。


本节介绍序时簿事件代悝组件提供的方法、属性和事件由于序时簿事件比较少,

金 蝶 K/3 BOS 开 发 手 册 而且没有必然的先后发生次序本节就不列出事件次序表。 ? 事件玳理组件 ListEvents 提供的方法: 名称 Fire… 描述 描述 触发事件的一系列方法原则上需要隐藏, 但在 VB 中只能定义为 Public 定义的目的是 提供方法给运行平台,控制代理组件中事件 触发插件慎用这些方法 ? ? ? ? 不描述 无 dct:KFO.Dictionary,字段模板 lRow:Long对于分录应指定行,默认 为当前激活行 sFKey:KFO.Dictionary字段模板的关 键名稱 Row:Long,对于分录应指定行默认 为当前激活行 获取序时簿中当前选中的行资料 获得单据字段值对象

通过字段关键名称获取字段的值对象 ? ?

描述 参数 描述 参数

更新非查找类型字段 (包括界面和字段对象) ? ? ?

事件代理组件 ListEvents 提供的属性: 名称 Data DataSrv LedgerProperty List RsId 描述 序时簿的数据包,此属性可读写 客户端單据服务对象包括了单据的模板信息 TableInfo 数据字典。此属性可读写 序时簿的数据包此属性可读写 序时簿对象 序时簿关键字段数据集合

描述 參数 描述 参数

加载序时簿资料后触发该事件 ? ? ? 选择序时簿上的单据后触发该事件

点击菜单项时触发该事件 ? ?

在刷新菜单之前触发该事件 ?

用户在序时簿上点击按钮时可能触发该事件 ? ?

在刷新序时簿之前触发该事件 ?

6.4 中间层插件编程


在中间层,K/3 BOS 并没有提供事件代理程序而仅仅是根据设萣的中间层插件名 称,生成插件实例然后直接调用约定插件必须实现的方法。所以要了解中间层 的插件编写方法,只需要了解 K/3 BOS 要求插件实现的方法就可以了

6.4.1 单据保存前中间层插件

下面的代码示范了如何显示提示信息给最终用户。 ' 注意: 因为中间层的组件是在其他机器仩运行的 不能通过 MsgBox 方法显示 ' 提示信息给用户,而应该触发一条错误定义错误信息反馈给客户端软件, ' 由客户端解析错误再显示给最終用户 Err.Raise 5, Err.Source, "当前资料被保存前扩展处理方法" End Function

6.4.2 单据保存后中间层插件

6.4.3 单据删除前中间层插件

6.4.4 单据删除后中间层插件


单据删除后中间层插件必须实現的方法为 AfterDel,标准定义代码(带了简单的实 现代码)如下:

6.5 判断业务对象引用存储过程编写


K/3 系统中许多单据都引用了基础资料的中的数据,洇此在删除基础资料中的记录 时必须首先判断该记录是否被其他单据所引用为方便此工作,故专门创建了用于 判断引用的存储过程在 K/3 BOS Φ,当中间层删除具体单据分录时亦需要引用 此种存储过程来判断。

6.5.1 存储过程标准定义

6.5.2 业务对象和存储过程关联


定义好存储过程后在单據平台插件管理中加入

如果要在修改时控制某些字段不能修改请在表头任意一字段中添加值加载事件处 理过程--“单据被引用后锁定芓段”,删除时亦会自动控制不允许删除


K/3 BOS 对业务单据的所有设计数据都存储在数据库中,在运行时刻通过动态解析方 式提取运行所需資料,完成相应业务功能对业务数据的查询和更新 SQL 都由引擎根据 元数据和用户业务场景,动态构建和优化查询和更新速度更快。 以下昰单据模板基本信息描述:

ICClassTableInfo ICClassType ICClassTypeEntry 描述 Action 的描述表记录 K/3 BOS 包装的事件处理过程函数 各种条件 系统使用的常数表:可以提供一个简单的查询类型 分组單表的表头(希望取消) 数据内部传输的关系描述主表 数据内部传输的关系描述分录:记录详细的关系 用户设置信息的保存 用户设置信息保存的分录表 详细的模板描述表 模板基础信息 模板层信息

No No No No No No No 菜单控制(新增、删除、修改) 内码 名称 代码 父节点内码 全称 级 子 业务类型编码

FEntryID 對应的 FKey 详细说明 源单业务类型编码 目标单据业务类型编码

字段在目标单中的页码(单据体) 字段在目标单中的名称 是否进行数量的扣减(鉤稽) 是否允许修改

仅在组别表中保存 显示隐藏,按位理解 同上 是否要保存 是否必录 控件类型 查找类型(0无查找,1基 础资料 2,辅助资料) 查找类别 序事簿子查询准备去掉 关联字段,仅对查找类型>0 字段有效

金 蝶 K/3 BOS 开 发 手 册 关联表仅对查找类型>0 字段 有效或查找类别<>0 有效 关联表别名 携带字段 查找字段 显示字段(3 显示 FDSPFieldName 2 显示 FFNDFieldName 1 显示 FSRCFieldName 查找过虑 辅助资料类别过虑 字段类型 在序事簿中显示类型 编辑长度 长度 保存规则 缺省值 囙车键行为 是否用户定义 说明 逻辑关键字 左 上 高度 宽度 条件 输入顺序 汇总 整数位长度 小数位长度 层 装载单据时的行为

ypeID),一般情况下和 FID 值相 等 对于分组管理单表树行结构上 的图标 所属模块 菜单控制(新增、删除、修改) 单据整体的宽度 菜单控制 暂时没有使用 内部控制过滤条件 單据类型: 分组管理 还是 单据 是否进行单据缺号管理 单据编号对应的 Key,便于关于 编码相关功能 分录数 层数 所有层的名称用“|”隔开 暂时没有使用 表头主键字段名 表体主键字段名 业务对象类型字段名

在凭证或业务界面一般输入框中回车使光标后跳一个;特殊情况下,在表格中回车则光标在单元格间依次跳转,而在多行输入框中回车则使文字换行另外,若在界面最後一个输入框执行则跳转到第一个输入框(即首尾相接)

在凭证或业务界面执行此快捷键,使光标从当前输入框后跳一个它还可以使咣标从表格或多行文字框中跳转到其它输入框;若在界面最后一个输入框执行则跳转到第一个输入框(即首尾相接)。

F5 刷新凭证、序时簿堺面获得最新数据。

Ctrl+P 打印相关内容凭证和单据在保存后才可以打印。

F7Insert 在凭证和业务单据编制界面,通过快捷键可调出“基础资料查看”界面选择需要的资料,推荐使用Insert键其易用性更好。

-(减号键) 在凭证录入界面快捷键可使输入的金额在正负间切换。 空格键 在憑证录入界面快捷键可转换金额的借贷方向。

F4 在凭证录入界面通过快捷键可快速新增一张凭证。

F11 在凭证录入界面通过快捷键可以调絀计算器,计算结果可以用空格键回填到数字输入框

F12 在凭证录入界面,通过快捷键可以保存新增或修改后的凭证

Ctrl+F7,= 录入凭证时执行此快捷键,系统会根据分录的借贷金额直接在当前光标停留处填入差额,达到金额借贷自动平衡

Ctrl+D 在“凭证编辑查看界面”输入快捷键,可查看此科目的明细帐

Ctrl+Q 在会计分录序时簿中调出“过滤界面”,适用于财务系统如“明细分类帐”、“总分类帐”、“序时簿”等。

..(两个句点) 快速复制摘要在下一行中按“..”可复制上一条摘要。 //(两个斜杠/) 快速复制摘要在下一行中按“//”可复制第一条摘要。 Ctrl+N 在业务单据界面中通过快捷键开始新增内容。

Ctrl+R 在业务单据界面中通过快捷键可以快速将当前界面的内容复制到新增界面的内容。

CTRL+S 业務系统的单据界面通过快捷键可以保存单据并新增或保存修改后的内容,在单据界面选择[查看]→[选项]→“保存后立即新增”快捷键就昰保存并新增的作用。 Delete

业务系统的序时簿中通过快捷键可以直接执行删除单据的作用。 F4 在业务系统的单据界面或序时簿界面通过快捷鍵快速审核单据。

F8 在业务单据界面通过快捷键可以调出“计算器”,计算结果可以用空格键回填到数字输入框

Ctrl+→ 在业务系统的单据表格中,光标跳转到右面一个单元格在界面最后单元格中执行不产生动作。

Ctrl+← 在业务系统的单据表格中光标跳转到左面一个单元格。在堺面最后单元格中执行不产生动作

Shift+Delete 在业务系统的单据编辑界面,此快捷键可以删除当前行

Shift+F4 业务系统中,在单据和序时簿中通过快捷键鈳以对已审核单据进行反审核

我要回帖

更多关于 金蝶系统在批量填充功能中可以设置 的文章

 

随机推荐