BOS架构插件业务开发(40张)课件_第1页
BOS架构插件业务开发(40张)课件_第2页
BOS架构插件业务开发(40张)课件_第3页
BOS架构插件业务开发(40张)课件_第4页
BOS架构插件业务开发(40张)课件_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、K/3BOS深入应用开发K/3BOS开发部(高玉宏)第1页,共41页。概述本课程关注的问题BOS概念及元数据模型结构BOS业务应用开发插件原理在BOS中的应用本课程适宜对象本课程主要对象K3内部开发人员基于BOS应用开发的二次开发人员对BOS核心原理有非常高的兴趣经过了BOS设计,插件编码培训第2页,共41页。目录K/3 BOS 简介K/3 BOS 架构K/3 BOS 业务应用开发K/3 BOS 插件原理QA第3页,共41页。K/3 BOS 简介K/3 BOS是什么?K/3 Business Operation System, K/3 业务操作系统使用先进、开放、可伸缩的技术体系面向企业快速成

2、长的业务需求协同合作伙伴拓展管理业务通过科学的工具和流程对企业建模进行全程监控是金蝶BOS产品家族中的一员专门针对金蝶K/3系列产品自主研发的新一代技术平台用以解决K/3系统日益增加的应用复杂度和快速开发与实施之间的矛盾集成了K/3产品底层的相关服务让客户在不需要任何编程知识的前提下,快速的定制新系统,功能第4页,共41页。K/3 BOS 简介K/3 BOS用以解决什么问题?快速开发与实施快速开发、快速实施、快速应用为客户提供与K/3集成性、可升级性、高效性、简单易用性的开发工具客户化开发平滑升级K/3 BOS的业务模型都存储与数据库中K/3 升级新版本后, 客户开发也一起平滑升级业务模型可以

3、直接引出为SQL文件客户化开发成果发布变的容易和可行第5页,共41页。K/3 BOS 简介To See第6页,共41页。K/3 BOSBOS简介K/3 BOS 架构K/3 BOS 业务应用开发K/3 BOS 插件QA第7页,共41页。K/3 BOS 技术架构K/3 BOS 技术架构第8页,共41页。K/3 BOS 架构K/3 BOS 技术框架示意图第9页,共41页。K/3 BOS 架构K/3 BOS 业务对象第10页,共41页。K/3 BOS 架构K/3 BOS 业务对象属性结构第11页,共41页。K/3 BOS 架构K/3 BOS 业务对象的属性存储第12页,共41页。K/3 BOSK/3

4、BOS 相关数据表结构描述其他表结构库表名称描述ICClassType;ICClassTypeEntry业务对象模板信息;业务对象分录模板信息ICClassTableInfo业务对像字段模板描述表ICClassAction;ICClassActionList; ICClassActionParamsAction 的描述表;业务对象配置的Action信息;扩展Action参数ICClassLink; ICClassLinkEntry单据转换流程主表;单据转换流程分录表ICClassLinkCommit单据转换流程钩稽表ICClassCondition过滤条件ICClassProfile用户设置信

5、息的保存ICClassProfileEntry用户设置信息保存的分录表ICClassMutexT_SysFunction 系统功能表;ICClassMutex 网路控制对象表;T_Mutex 功能互斥表ICClassBillAction业务对象操作表ICClassConstsBOS常量表ICClassCtlBOS单据通用控件字段模板表第13页,共41页。K/3 BOS BOS简介K/3 BOS 架构K/3 BOS 业务应用开发K/3 BOS 插件QA第14页,共41页。K/3 BOS 业务应用开发K/3 BOS 业务开发流程第15页,共41页。K/3 BOS 业务应用开发典型业务应用开发单据转

6、换流程关联关系复制钩稽 关联内码存储强制钩稽关联内码存储关联复制关联内码来源关联内码存储第16页,共41页。K/3 BOS 业务应用开发单据转换流程元数据模型注:目标单据为工业单据, 采用老单选单模板目标单据为BOS单据,采用BOS选单模板选单条件:ICClassLink. FCodition字段?选单模板数据表描述工业单据ICClassLink记录选单关联关系ICSelBills记录选单关联明细ICTableRelation记录选单表关系ICWriteBackTemplate记录选单反写字段信息BOS单据ICClassLink记录选单关联关系ICCLassLinkEntry记录选单关联明细I

7、CClassLinkCommit记录选单反写字段信息第17页,共41页。K/3 BOS 业务应用开发单据转换流程流程设计第18页,共41页。K/3 BOS 业务应用开发单据转换流程跨级反写流程不要启用源单内码类字段要传递至目标单据跨级携带选单值更新Action定义源单内码类字段要传递至目标单据支持源单计算列携带ICClassLinkEntry. FAfterFormula注意:跨级反写、跨级携带至少需要2套以上的源单内码类字段关于计算列: FAfterFormula = “CalculateFQty3+FQty4”,可手工修改,但必须满足字段来源于选单RecordSet第19页,共41页。K/

8、3 BOS 业务应用开发单据转换流程一些重要字段说明FConnectFlg vs FChildrenFUsePage vs FDefaultPageFRemark 选单标识FDefineType(ICClassActionList)选单值更新事件选单插件事件AfterSelBill 事件AfterSelBillBeforeFillData 事件BeforeSelBills 事件BeforeSelBillShowFilter 事件AfterSelBillBeforeDoAction事件AfterSelBillAfterDoAction事件第20页,共41页。K/3 BOS 业务应用开发单据转换流

9、程温馨提示:当BOS单据与工业单据关联目标单单据体上的物料、计量单位、 数量、基本计量单位数量必须有对应的源单字段,否则关联时可能会出现错误。控制字段、扣减字段、关闭字段必须位于同一单据体、头上。关联内码来源:关联复制关系时有效,指源单内码的来源。单据头?单据体?关联内码存储:关联关系非复制时有效,BOS中同一分录支持多种关联关系,在选单流程中需指定其中一组关联内码存储。钩稽、强制钩稽关系中,主控只有一个。第21页,共41页。K/3 BOS 业务应用开发多级审核流程审核人:用户字段审核日期:日期/长日期字段【锁定】凭证业务凭证字号凭证取数来源凭证模板设置凭证操作设置生成凭证(按单、汇总)第22

10、页,共41页。K/3 BOS 业务应用开发BOS核心组件介绍组件名工程路径说明客户端组件K3CLASSTPL.DLL$CodeK3BosK3DesignerClientK3CLassTpl客户端核心组件。所有的单据模版均来源于此组件。Action的具体执行也在此组件。K3SingleClassBill.dll$CodeK3BosK3DesignerClientK3SingleClassBill单据、序时簿具体展现的组件。负责加载单据、序时簿控件并显示。K3ClassDEFINENew.exe$CodeK3BosK3DesignerClientK3ClassDEFINEBOS IDEK3Clas

11、sEvents.dll$CodeK3BosK3DesignerClientK3ClassEventsBOS 插件代理组件。如果要修改、增加插件函数,需要修改此组件。K3ClassBillCtl.ocx$CodeK3BosK3DesignerClientK3ClassBillCtl单据控件。BOS 单据运行时展现。K3ClassList.ocx$CodeK3BosK3DesignerClientK3Classlist序时簿控件。BOS 序时簿运行时展现。K3BaseClassLst.ocx$CodeK3BosK3DesignerClientK3BaseClassLst基础资料序时簿控件。BOS

12、基础资料序时簿运行时展现。K3FILTER.OCX$CodeK3BosK3DesignerClientK3Filter过滤界面控件。BOS 过滤界面运行时展现。K3ClassAction.dll$CodeK3BosK3DesignerClientK3ClassActionAction定义组件。提供单据Action可视化定义界面。如果要增加BOS内置Action,需要修改此组件K3BOSActive.dll$CodeK3BosK3DesignerClientK3BOSACTIVEBOS 和主控台交互调用组件。中间层组件K3MClass.dll$CodeK3BosK3DesignerServerK

13、3MClass核心组件。BOS中间层业务处理。第23页,共41页。K/3 BOS 业务应用开发BOS应用开发调试工程组(限研发内部)目的所必须工程调试单据、序时簿、基础资料序时簿(控件)中的具体执行K3ClassDEFINE、K3CLassTpl、K3SingleClassBill、K3ClassLookUp、K3ClassBillCtl(K3Classlist、K3BaseClassLst)由BOS IDE进入调试单据插件K3ClassDEFINE、K3CLassTpl、K3SingleClassBill、K3ClassBillCtl、插件由主控台进入调试单据插件KDMain、K3CLass

14、Tpl、K3SingleClassBill、插件第24页,共41页。K/3 BOSK/3 BOS 简介K/3 BOS 架构K/3 BOS 业务应用开发K/3 BOS 插件QA第25页,共41页。K/3 BOS 插件为什么要使用插件?随需应变的个性化需求保持K/3BOS架构的开放性,扩展性完成K/3BOS标准功能无法实现的需求插件的分类COM.NET插件的实现通过K3ClassEvents对象代理实现第26页,共41页。K/3 BOS 插件插件原理第27页,共41页。K/3 BOS 插件重点掌握一套模型二个关键数据包三个接口对象四个辅助对象五项注意事项第28页,共41页。K/3BOS插件一套模型

15、(BOS插件对象模型)接口对象BillEvent单据插件代理ListEvents序时簿插件代理BaseClassEvent 基础资料序时簿插件代理辅助对象K3LibNetUserAccount与金蝶K/3 交互 MenuBarBOSBandsBOSBandBOSToolsBOSTool新增、修改菜单和工具栏 BillHeadsBillHeadBillEntrysBillEntryBOSFieldsBOSField单据、单据头、单据体、单据字段操作BOSK3LibBillEventListEventsNetUserAccountMenuBarBillHeadsBillEntrysBillHead

16、BillEntryBOSBandsBOSToolsBOSFieldsBOSFieldBaseClassEventBOSBandBOSTool第29页,共41页。K/3BOS插件两个关键的数据包dctTableInfo第30页,共41页。K/3BOS插件dctDatadctData“Page1”“Page2”“Page”“Pagei”dctFld1dctFlddctFldnEnu_EntryType_SingleRow“Row1”dctFld1dctFlddctFldn“Row”“Rown”Enu_EntryType_MutiRowFDSPFFNDFOLDFMODIFYFFLDsKeysKey第

17、31页,共41页。K/3BOS插件三个接口对象BillEvent单据插件代理ListEvents序时簿插件代理BaseClassEvent 基础资料序时簿插件代理第32页,共41页。K/3BOS插件四个辅助对象K3Lib对象ACountNetUserMenuBar对象BOSBandsBOSToolsBillHeads对象BOSFieldsBillEntrys对象BOSFields第33页,共41页。K/3BOS插件典型应用获取账套ID m_BillInterface.K3Lib.Account.AccountID获取系统多语言信息 strLanguage = m_BillInterface.K

18、3Lib.GetK3Language设置单据体最大行数 m_BillInterface.BillEntrys(1).MaxRows = 1000读取字段值可以采用两种方式 m_billinterface.data(“page1”)(m_billinterface.tableinfo(“map”)(“FCheckDate”)(“FFLD”) m_billinterface.bosheads(1).bosfields(“FCheckDate”).value动态改变字段名称 m_BillInterface.BillHeads(1).BOSFields(FInteger4).Caption = a第3

19、4页,共41页。K/3BOS插件五项注意事项1、获取设置字段属性 除了获取、设置字段的值外,还需要设置这个字段的其他属性,建议采用 BOSField 对象的Value、Caption、Text等属性。2、Fire开头的函数 K/3 BOS 插件代理组件中包含有多个Fire开始的函数,如FireChange、FireSaveBillSuccess等。这些函数都是提供代理组件和K/3 BOS交互使用的,对于插件并没有任何作用,请注意不要使用。3、数据访问规则 在插件中访问数据库、更新数据库,请使用插件对象的K3Lib属性的GetData方法和UpdateData方法。使用这2个方法,可以避免直接由

20、客户端访问账套,充分利用3层构架。 第35页,共41页。K/3BOS插件4、访问其他组件规则 在插件中如果需要创建其他的K/3组件对象,请使用插件对象的K3Lib属性的CreateK3Object方法。使用这个方法,可以避免调试时出现的不在统一进程出错问题。 5、多语言处理规则 在插件中进行多语言处理,请使用插件对象的K3Lib属性的LoadKDString方法。不过需要注意的是,这个函数默认使用的是金蝶K/3-BOS的语言资源,如果需要使用其他资源包,需要通过ResourceFile参数指定。 第36页,共41页。K/3 BOS 插件主要事件顺序第37页,共41页。K/3 BOSK/3 BO

21、S 相关技术资料BOS开发者网络/BOS百问百答$/BOS产品部/BOS产品线/K3BOS项目线/02K3BOS技术支持/1K3BOS百问百答BOS 培训资料$/开发部/05BOS开发部/02BOS开发组/2知识共享/2知识共享(K3SerK3WorkShop)BOS不加密版 59k3 BOS IDE第38页,共41页。谢 谢!第39页,共41页。特别声明没有金蝶软件(中国)有限公司的特别许可,任何人不能以任何形式或为任何目的复制或传播本文档的任何部分。本文档中包含的信息如有更改,恕不另行通知。 由金蝶软件(中国)有限公司和其分销商所销售的某些软件产品包含有其它软件供应商版权所有的软件组件。M

22、icrosoft、WINDOWS、NT、EXCEL、Word、PowerPoint 和SQL Server 是微软公司的注册商标。IBM、DB2、DB2 通用数据库、OS/2、Parallel Sysplex、MVS/ESA、AIX、S/390、AS/400、OS/390、OS/400、iSeries、pSeries、xSeries、zSeries、z/OS、AFP、Intelligent Miner、WebSphere、Netfinity、Tivoli、Informix 和Informix 动态ServerTM 是IBM 公司在美国或其他公司的商标。ORACLE 是ORACLE 公司的注册商

23、标。UNIX、X/Open、OSF/1 和Motif 是Open Group 的注册商标。Citrix、Citrix 徽标、ICA、Program Neighborhood 、MetaFrame 、WinFrame 、VideoFrame 、MultiWin以及此处引用的Citrix 产品名是Citrix Systems 公司的商标或注册商标。HTML、DHTML、XML 和XHTML 是W3C、World Wide Web 协会、计算机科学实验室的商标或注册商标。JAVA 是Sun Microsystems 公司的注册商标。JAVASCRIPT Sun Microsystems 公司的注册商

24、标,由其技术开发和实施商Netscape 许可使用。本文档提到的金蝶 、金蝶KIS 、金蝶K/3 、金蝶EAS 、Apusic 、金蝶iFly 和其它金蝶 产品和服务以及它们各自的徽标是金蝶软件(中国)有限公司在中国和世界其它一些国家的商标或注册商标。本文档提到的所有其它产品和服务名称是它们各自公司的商标。第40页,共41页。1、不是井里没有水,而是你挖的不够深。不是成功来得慢,而是你努力的不够多。2、孤单一人的时间使自己变得优秀,给来的人一个惊喜,也给自己一个好的交代。3、命运给你一个比别人低的起点是想告诉你,让你用你的一生去奋斗出一个绝地反击的故事,所以有什么理由不努力!4、心中没有过分的

25、贪求,自然苦就少。口里不说多余的话,自然祸就少。腹内的食物能减少,自然病就少。思绪中没有过分欲,自然忧就少。大悲是无泪的,同样大悟无言。缘来尽量要惜,缘尽就放。人生本来就空,对人家笑笑,对自己笑笑,笑着看天下,看日出日落,花谢花开,岂不自在,哪里来的尘埃!5、心情就像衣服,脏了就拿去洗洗,晒晒,阳光自然就会蔓延开来。阳光那么好,何必自寻烦恼,过好每一个当下,一万个美丽的未来抵不过一个温暖的现在。6、无论你正遭遇着什么,你都要从落魄中站起来重振旗鼓,要继续保持热忱,要继续保持微笑,就像从未受伤过一样。7、生命的美丽,永远展现在她的进取之中;就像大树的美丽,是展现在它负势向上高耸入云的蓬勃生机中;像雄鹰的美丽,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论