![基于VB的金蝶K3-BOS二次开发研究_第1页](http://file4.renrendoc.com/view/b573c2dc4730c0da308de2c90c889140/b573c2dc4730c0da308de2c90c8891401.gif)
![基于VB的金蝶K3-BOS二次开发研究_第2页](http://file4.renrendoc.com/view/b573c2dc4730c0da308de2c90c889140/b573c2dc4730c0da308de2c90c8891402.gif)
![基于VB的金蝶K3-BOS二次开发研究_第3页](http://file4.renrendoc.com/view/b573c2dc4730c0da308de2c90c889140/b573c2dc4730c0da308de2c90c8891403.gif)
![基于VB的金蝶K3-BOS二次开发研究_第4页](http://file4.renrendoc.com/view/b573c2dc4730c0da308de2c90c889140/b573c2dc4730c0da308de2c90c8891404.gif)
![基于VB的金蝶K3-BOS二次开发研究_第5页](http://file4.renrendoc.com/view/b573c2dc4730c0da308de2c90c889140/b573c2dc4730c0da308de2c90c8891405.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1概念介绍VB是VisualBasic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。它简单易学、效率高,且功能强大可以与Windows专业开发工具SDK相媲美。在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。由于VB是一个可视化的集成开发环
2、境,使用其编写应用程序,不需要编写大量的代码去描述界面元素的外观和位置,而只要把预先建立的对象添加到屏幕上即可,是完全按照面向对象的程序设计思想研制,采用图形化的应用界面,集应用程序开发、测试、查错功能于一体的集成开发环境。ERPenterpriseResourcePlanning企业资源计划,是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。ERP软件系统是一种主要面向制造行业进行物质资源、资金资源和信息资源集成一体化管理的企业信息管理系统。在企业中,一般的管理主要包括三方面的内容:生产控制(计划、制造)、物流管理(分销、采购、库存管理)和财务管理(
3、会计核算、财务管理)。这三大系统本身就是集成体,它们互相之间有相应的接口,能够很好的整合在一起来对企业进行管理。另外,随着企业对人力资源管理重视的加强,已经有越来越多的ERP厂商将人力资源管理纳入了ERP系统的一个重要组成部分,ERP系统在企业中能否得到成功实施和有效应用,还取决于一个关键因素:ERP系统的客户化和二次开发。因此,通过运用ERP软件系统,企业能够利用计算机对企业的资金、货物、人员和信息等资源进行自动化管理,具有制造,办公操作,供应链管理,人力资源管理,项目管理,财务与管理,客户服务,销售与市场营销以及个性化管理等商业功能。ERP二次开发是指建立在现有ERP平台上,为满足客户个性
4、化需求的而进行的再次开发。由于ERP的实施企业所在的行业千差万别,而且面对不同企业千差万别的具体情况和不同企业千变万化的特殊需求时,也不可能做到“以不变应万变”。此外,企业所处的环境是不断变化的:企业的产品种类、产品所处生命周期的阶段、企业的计划模式、分销模式都不断在变化,企业不断地进行业务流程的再造,企业的规模不断地缩小或扩展,等等。总之,企业的变化是绝对的。因此,为了提高ERP系统的柔性和应变能力,ERP二次开发与个性化管理对于企业的ERP成功实施起了决定性的作用。2金蝶BOS二次开发简介企业由于行业不同、规模不同,管理者的管理理念不同,导致管理重点有差异,企业管理呈多样性,传统的管理软件
5、由于其设计水平有限,已很难满足用户的个性化需求,而专项开发在时间上不可能适应企业管理的多变性,完全通用化的软件又不能体现企业的个性化管理。为了解决以上矛盾并从“尊重用户企业文化,彰显个性管理”的角度出发,金蝶公司专门推出BOS二次开发平台,与金蝶ERP管理软件系统一起打造企业的个性化ERP,实现企业的个性化管理。金蝶BOS二次开发平台按金蝶ERP平台划分可分为基于金蝶K3-BOS的二次开发平台、基于金蝶EAS-BOS的二次开发平台、条码应用及二次开发平台、独立外挂应用的开发和数据库设计和性能优化平台。金蝶K3-BOS(BusinessOperationSystem,业务操作图1金蝶K3-BOS
6、的系统构成图丸车、A学、电力烟单、事拓、电宁丫卄住事耳Hr;.卅Jh弄时厘林口艷井tAYl)VHAhU-OKSBOKffAlLSEi&rilTMAMViE4MfITWWilT_f*rxHtMlM耳与上草j-A界丙说计工鼻罚件:食耳戍ff就喘评lFa4j-JI-WK.iBOSOUkgmG汛齐科hisrlf+M$Wind和*图1金蝶K3-8OS的系统构成图3基于VB的金蝶K3-BOS插件开发案例金蝶K3-BOS插件包括:客户端单据插件、客户端序时簿插件以及中间层插件。其中客户端单据插件可以自动进行单据维护界面菜单定义、单据事件函数定义等;客户端序时簿插件可以自动进行序时簿菜单定义、序时簿事件函数定
7、义等;而中间层插件可以自动进行中间层保存前、保存后、删除前、删除后等的事件函数生成。金蝶K3-BOS插件开发向导主要用于为开发人员提供定制的代码生成方式,可以通过插件开发向导生成。以下以实现生产通知单在单据上的货品代号发生改变或编辑时,在状态栏上动态显示该物料的“即时库存数量”和“预计完工数量”的功能而进行的客户端单据插件过程来介绍基于VB的金蝶K3-BOS插件开发。具体流程:1)首先需要创建一个金蝶K3-BOS客户端事件插件(启动MicrosoftVisualBasic6.0。在出现的“NewProject对话框中选择“ActiveXDLL”);2)选择菜单“工程”一“引用”。在出现的“引用
8、”对话框中,选择K3ClassEvents和KingdeeFoundationObjects1.0这两项;3)修改默认的新建工程名(为BOSPluglnsSample)和类模块名(为BOSPluglns),保存工程。)在BOSPluglns.cls类模块的代码中写入如下的代码,这段代码中定义了一个名为m_BillInterface的BillEvent对象,来接受金蝶K/3BOS的客户端单据事件。OptionExplicitPrivateWithEventsm_BillInterfaceAsK3ClassEvents.BillEvent必须具有的声明,以此来获得单据事件这个PublicSub必须
9、存在,且必须如下格式,请不要修改或删除PublicSubShow(ByValoBillInterfaceAsObject)这里获得了K/3的单据对象.共有26个事件,11个属性和49个方法可以使用具体的事件、属性、方法,可以通过VBIDE的“ObjectBrowser”工具,选择“K3ClassEvents”下的“BillEvent”察看Setm_BillInterface=oBillInterfaceEndSub这个PrivateSub必须存在,且必须如下格式,请不要修改或删除PrivateSubClass_Terminate()释放K/3的单据对象Setm_BillInterface=No
10、thingEndSub)如图2所示,可以通过选择对应的接口变量,在右边选择这个接口暴露的事件,根据案例要求需要实现两个事件:BeginEdit和Change。)在Change事件中加入对应的实现代码:图2接口申明后将能获取对应的事件、方法和属性单据对象上的字段值发生改变时发生。PrivateSubm_BillInterface_Change(ByValdctAsKFO.IDictionary,ByValdctFldAsKFO.IDictionary,ByValColAsLong,ByValRowAsLong,CancelAsBoolean)Object:BillEvent对象的一个实例。Dct
11、:KFO.Dictionary对象,返回发生改变的字段的模板的对象。dctFld:KFO.Dictionary对象,返回发生改变的字段的值的对象。Col:Long类型。当字段位于单据体多分录上时,则返回当前光标所在的列。Row:Long类型。当字段位于单据体多分录上时,则返回当前光标所在的行。Cancel:Boolean类型.OnErrorGoToHERRORIfUCase(Dct(FKey)=UCase(HPDH)ThenDimdctTotalAsKFO.DictionaryWithm_BillInterfaceSetdctTotal=GetProdectedAmount(Val(dctFl
12、d(FFLD)Set.Data(page2).Item(Row)(Total)=dctTotalm_BillInterface.SetStatus2,即时库存数量:&CStr(dctTotal(StockAmount)(FFLD)&;预计完工数量:&CStr(dctTotal(ProductAmount)(FFLD)EndWithEndIf|bBillZn.tez-E4.ccGpnT1tljAsBiHEuentCL-ass(U口门帀TL1己巨FCiTII匚LT工工了二IjH匚工:丁PupateCawtMCD*AME血wStr=”二产通知卑单据插竹PublicSubShowfByYalAsQbj
13、ect)?3ilLEv3iit接=1实更侄意:此方法磁页存巴请勿总改Settitii-llr.tsrtace=oJilllnterfacsPrivateSubC1ass_IerFinate(),辱核摂口对亀、生意:此方法必须存巴诘勿悭改Setn_Ei11Interface二Nothing图2接口申明后将能荻取对应的事件方法和属性HERROR:IfErr.Number0ThenMsgBoxMODNAME&:Change&vbCrLf&Err.Description,vbCritical&金蝶提示EndIfEndSub7)在BeginEdit事件中加入对应的实现代码:单据对象上的字段获得录入焦点时
14、发生。PrivateSubm_BillInterface_BeginEdit(ByValdctAsKFO.IDictionary,ByValColAsLong,ByValRowAsLong)Object:BillEvent对象的一个实例?Dct:KFO.Dictionary对象,返回当前光标所在的字段的模板的对象。Col:Long类型。当字段位于单据体多分录上时,则返回当前光标所在的列。Row:Long类型。当字段位于单据体多分录上时,则返回当前光标所在的行DimdctFldAsKFO.DictionaryOnErrorGoToHERRORIfRow=0ThenExitSubIfDct(FPa
15、ge)2ThenExitSub取物料的相关数量Withm_BillInterfaceIf.Data(Page2).Size=RowThenSetdctFld=.Data(page2).Item(Row).GetValue(Total,Nothing)IfNotdctFldIsNothingThenm_BillInterface.SetStatus2,即时库存数量:&CStr(dctFld(StockAmount)(FFLD)&;预计完工数量:&CStr(dct-Fld(ProductAmount)(FFLD)ElseSetdctFld=GetProdectedAmount(Val(m_Bill
16、Interface.GetFieldValue(hpdh,Row)Set.Data(page2).Item(Row)(Total)=dctFldm_BillInterface.SetStatus2,即时库存数量:&CStr(dctFld(StockAmount)(FFLD)&;预计完工数量:&CStr(dct-Fld(ProductAmount)(FFLD)EndIfEndIfEndWithHERROR:IfErr.Number0ThenMsgBoxMODNAME&:BeginEdit&vb-CrLf&Err.Description,vbCritical&金蝶提示EndIfEndSub8)通过
17、以上的代码编写,再回到BOS平台进行打包与部署,在部署后的新账套中还可以进行相应的功能调整(如图3)。4结束语通过以上以金蝶K3-BOS的VB插件二次案例,我们体会到到ERP二次开发的重要性,但不是要对原有图3在部署后的新账套中可以进行功能调整ERP系统全功能进行对立式的修改,更不是对原系统做“大手术”而是紧密围绕着原系统的基本功能,充分利用ERP系统提供的各种接口表,补充开发一些我们实际需要的功能。同时,二次开发必须考虑系统兼容性和数据一致性。这些工作,不仅不是对原系统的“破坏”,恰恰相反,起到了一种对ERP系统在实际应用中“硬度”的调和与“润滑”纵然ERP二次开发那么重要,企业在实施ERP
18、与ERP二次开发过程中,还是需要“冷静”面对,细心实施。在ERP二次开发过程中,需要注意以下几个问题:首先,在做重要开发前,必须做好系统备份;其次,必须充分利用系统提供的冗余字段,来补充开发一些我们实际要用到的功能。或者将我们原有的一些系统,通过开发后台进程,与ERP系统中的接口表进行数据交换,实现所谓的无缝连接(在开发过程中应特别注意的一点就是不要修改系统已占用字段);再次,在实施ERP二次开发前,应对系统作仔细分析和研究。国内外的ERP系统都提供非常详尽的技术资料,应尽可能弄清所用到的表之间的关联关系,同时改动工作必须首先在系统的测试环境中进行;最后,在ERP二次开发实施后,必须进行全系统
19、的周密测试。ERP一个最重要的特征就是系统的集成性,因此对任何一个数据库表字段的使用,都可能会影响到系统的其他功能。不赞成对原系统模块界面进行任何改动。因为这种改动可能带来的后果难以预料。做好开发后技术文档的整理与保管,防止日后系统升级对已完成开发的影响。.9梯环整題日!Ml瘵廉曰期底AVtK/3BOS坐产迪知单-lolW|阴:ia蹴日亂因(町工保回卿迫枯款a)&S(b)盍割2)窗口1世)SPxy)常eqs刃唯)占丨xl心砂:r倉囹矣口qx1昌碍51iB如严訂尿亍圧1剧U1k2-亠151GqTLjTr-新赏品宓竊生产頫三2JaIsw7T*:H%嘯校柠顶且EJK1AA.牺宜顼目干孵*指标录入包括普通录入和快捷录入两种。大部分单位通过指标查询功能找到本单位的指标后在指标界面进行该项指标数据的录入工作。有些单位的数据录入量比较大,为这几个单位开发了数据快捷录入页面,各单位只要通过主页上自己单位的快捷录入页面录入相关的责任和考核数据并保存即可。3)指标数据采集公司每月生产经营对标指标数据量很大,不能完全通过手工录入来完成,为此制作了数据导入接口,通过excel导入大量统计系统数据(此类指标占总指标的4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全民体检服务合同指南
- 2025年军事器材采购合同模板
- 2025年建筑项目策划工程款支付与审核协议
- 2025年下半年建筑设施维修合作协议
- 2025年农业病虫害治理合同
- 2025年个人与企业租赁合同模板
- 2025年商标授权协议书版
- 2025年度权益策划修订与补充协议书
- 2025年健身卡所有权转移协议
- 2025年农业机械出租协议
- 2025年营口职业技术学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 药膳与食疗理论试题答案
- 2025年苏州经贸职业技术学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 紧急维修与故障处理管理制度
- (课件)-幼儿园中班社会教案《新年里的开心事》
- 辽宁中医药大学附属医院社会招聘真题
- 2025年潞安化工集团招聘笔试参考题库含答案解析
- 供应链管理(第2版)课件:常用的供应链管理方法
- 腰椎手术的疑难讨论
- 李四光《看看我们的地球》原文阅读
- 幼儿园一日生活安全课件
评论
0/150
提交评论