金蝶K/3 BOS开发手册
1.3 K/3 BOS典型开发案例
为了加深你对K/3 BOS客户化开发工具的理解,让我们在没有开始正式介绍K/3 BOS各个客户化开发工具之前,先看看下面这样一个开发案例,如果你手头已经有K/3 BOS客户化开发工具包,你也可以按照开发案例的步骤,依次的开发出你的第一个完全基于K/3 BOS的新业务!
1.3.1 业务应用场景
有这样一家工业企业,在今年新增了外贸出口业务,需要在原有信息管理系统K/3 ERP中增加出口业务管理功能,而目前系统合同管理模块只有内销合同,客户要求系统增加外贸合同,实现外贸结算业务。
1.3.2 业务分析
这个应用场景中,客户在需要在K/3系统中添加一张新的业务单据,外贸合同,在没有K/3 BOS的时候,客户需要把这个需求提交给金蝶机构或者是金蝶合作伙伴,由机构或者合作伙伴进行二次开发,如果机构或者合作伙伴觉得这个需求有一定的难度,不能完成,就会直接提交给金蝶软件研发中心,而研发中心又会结合各种情况,评估是否需要实现这个需求,整个过程下来,耗费的时日可能比较久,耽误了客户业务应用的最佳时间。现在有了K/3 BOS,客户就有能力自己快速开发出针对业务需求的业务单据,快速的应用到日常业务中。
好了,现在就让我们简单的分解一下客户的需求,并针对明细需求制定开发步骤,用K/3 BOS开发出这张单据。
首先,我们分析外贸合同应该包括的内容,发现国家、港口、仲裁机构、销售模式有一定的通用性,同样的内容可以出现在多张外贸合同中,因此,我们可以考虑,把这些内容纳入基本资料,规范外贸合同单据的输入,提高录入效率。 其次,我们发现,外贸合同单据不是孤立存在的,它应该和销售发票、收款单据存在着一定的先后次序和依存关系,这就涉及到了业务流程设计。
最后,录入的每张单据需要用一个列表的方式显示出来,客户可以自定义条件快速查询并打印,这就是单据的序时簿。在K/3 BOS中,对于每张单据,都会自
3
金蝶K/3 BOS开发手册
动建立一个序时簿,那么,客户就不再需要对序时簿进行特别的设计了,只需要调整序时簿中显示的字段和字段显示顺序就可以了。
当然,在K/3 BOS中定义的新单据最后应该发布到K/3主控台,和系统其他的功能放在一起,方便最后使用。
结合以上的简单分析,我们可以制定如下的操作步骤和结算流程:
1.3.3 步骤1:定义基本资料
在定义基本资料之前,请打开K/3 BOS客户化开发工具中的“基础资料设计”工具。程序位置如图:
4
金蝶K/3 BOS开发手册
1. 登录到需要添加新单据的帐套,这样,所作的工作就可以立即起到作用。也
可以登录到临时工作帐套,在临时帐套中设计好单据以相关信息以后再引出脚本,通过K/3系统工具中的“SQL Server查询分析器”把新单据发布到工作帐套。
2. 在“加载模板”界面单击【新建】,输入新建基础资料模板类型ID,这是基
础资料的唯一标识符,默认情况下,系统已经为新的基础分配了一个类型ID,不需要再手工输入,案例中ID分配为200000016。 3. 点击【确定】,进入界面设计平台。对于新建的基本资料,设计平台已经自
动添加了两个字段“代码”、“名称”,为了简化案例,不再添加新的字段。 4. 选择菜单〖编辑〗→〖字段管理〗,进入单据属性界面,修改基础资料相应
的单据名称为“国家”,单据头表名(存储用)为“ICNation”,第1个单据体表名为“ICNationEntry”。单击【确定】,就完成了字段的定义。
5
金蝶K/3 BOS开发手册
5. 在界面设计平台界面,通过拖放控件,调整字段的位置,调整完毕后保存。
至此,基础资料国家就定义完毕,是不是很简单呢?
6
金蝶K/3 BOS开发手册
6. 上图就是最后确定的基础资料“国家”界面,按照同样的步骤,建立基础资
料“港口”、“仲裁机构”、“销售模式”,类型ID分别分配为200000017,200000018,200000019。
1.3.4 步骤2:定义单据
1. 打开K/3 BOS客户化开发工具中的“业务单据设计”程序。 2. 在“加载模版”界面中点击【新建】,由于外贸合同单据和合同(应收)单
据有一定的相似度,选择<复制已有单据模板>,然后从模板列表中选择<合同(应收)>,单击【确定】,这样,合同(应收)单据所有的字段就显示在单据设计平台界面了,我们可以在此基础上作些修改,就可以把模板改为外贸合同了(不用担心你的保存会覆盖合同(应收)模板,因为你选择的是新建操作,保存时会自动“另存”,而不是覆盖)。案例中K/3 BOS系统为外贸合同分配了模板类型ID200000020。 3. 选择〖编辑〗→〖字段管理〗,修改<单据名称>为“外贸合同”,<表描述
>为“合同主体”,<单据头表名(存储用)>为“ICForeignContact”,<第1个单据体名>为“ICForeignContactEntry1”,<第2个单据体名>为
7