最新BOS扩展业务服务说明手册.doc
《最新BOS扩展业务服务说明手册.doc》由会员分享,可在线阅读,更多相关《最新BOS扩展业务服务说明手册.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateBOS扩展业务服务说明手册扩展Action手册 KINGDEEK/3 BOS 开发指导手册BOS扩展服务说明手册-金蝶软件(中国)有限公司 研发中心 K/3 BOS系统开发部BOS扩展业务服务说明手册 金蝶软件(中国)有限公司研发中心 K/3 BOS系统开发部RaymondYao 2006.02.121 扩展业务服务(扩展Action)1.1 名词解释扩展业务服务:独
2、立、通用的业务处理函数,其参数、返回数据独立于单据、基础资料;为了把业务处理函数和特定的单据绑定,必须在函数的配置界面进行参数配置。因此,一个完整的扩展业务服务包括参数配置组件和解析运行组件;扩展业务服务实现的功能等同于BOS原有的Action函数,只是允许用户自行扩展。后文中扩展业务服务又称为扩展Action;1.2 简介K/3 BOS 除了内置的一些业务服务函数(Action)外,还支持用户开发自有的Action:用户可以将自有的业务逻辑封装在这种Action中,并在需要的时候配置到单据的字段(加载更新事件、值更新事件、保存规则)事件、操作事件和单据事件中,以实现自定义的过程。K/3 BO
3、S目前支持的Action,按照运行领域可以分为: 客户端Action:包含适用于单据的Action和序时簿的Action 中间层Action按照触发条件可以分为: 字段相关的Action 操作相关的Action 单据事件相关的Action同时还有一种特殊的Action:简单业务Action。1.2.1 字段相关的Action字段相关的Action,是指当单据字段的值发生改变时会触发的Action。字段相关的Action包含了所有BOS内置的Action,如:TakeBaseData、Calculate、UnitExchange、LockByItemTrack、SetDecimal、SetEqu
4、ation、ShowHideField、LockField、Vertify、LockUsed、LockMenu、VerifyUniquely、TrigAction,关于这些Action的使用,请参考相关手册。字段相关的Action,需要在字段的加载更新事件、值更新事件、保存规则中进行定义。目前,字段相关的Action,都是客户端单据运行的Action。1.2.2 操作相关的Action操作相关的Action,是指当BOS单据的指定操作被用户触发后会执行的Action。操作相关的Action,需要在BOS单据的操作管理中定义。目前操作相关的Action,又包含: 单据操作前置Action:在插件
5、BOSBarClick事件发生之后触发 单据操作Action:在单据操作前置Action之后、BOS内置处理过程(如果有的话)之前触发 单据操作后置Action:在BOS内置处理过程(如果有的话)完成之后触发 序时簿操作前置Action:在插件BOSBarClick事件发生之后触发 序时簿操作Action:在序时簿操作前置Action之后、BOS内置处理过程(如果有的话)之前触发 序时簿操作后置Action:在BOS内置处理过程(如果有的话)完成之后触发操作相关的Action,可以在客户端运行,也可以在中间层运行。1.2.3 单据事件相关的Action单据事件相关Action,是指BOS单据在
6、执行某些特定事件时触发的Action。单据事件相关的Action,需要在BOS单据的 保存前事件、保存后事件、删除前事件、删除后事件 属性中定义。目前包含: 单据保存前:在插件的BeforeSave事件后发生 单据保存后:在插件的AfterSave事件后发生 单据删除前:在插件的BeforeDel事件后发生 单据删除后:在插件的AfterDel事件后发生操作相关的Action,目前都是在中间层运行。1.2.4 简单业务Action所谓简单业务Action,是指符合BOS简单业务规则定义的扩展Action。这种Action,可能是字段相关的,也可能是操作相关的Action;可以在客户端运行,也可
7、以在中间层运行。这种Action和其他扩展Action的区别在于:Action的定义界面是由BOS提供的。1.3 扩展Action的基本属性所有的扩展Action,应该具有以下属性:1.3.1 运行时组件所有的扩展Action,都需要有一个运行时组件,在实现特定接口后完成Action的具体操作过程。这个组件是一个标准的Active Dll组件。1.3.2 配置时组件如果扩展Action希望在用户配置时,由用户设定一些选项,并完成定义公式的校验,就需要提供定义时组件。这个组件是一个标准的ActiveX Control组件。对于简单业务Action,不需要提供这样的组件,但必须按照指定的参数编写公
8、式,这样,配置界面将由BOS按照公式提供。1.3.3 接口所有的扩展Action,都必须实现下列接口:定义组件接口:函数/属性类型详细说明Action属性可读/写,String类型,用来设置/返回用户配置的Action表达式m_dctTableInfo属性只写,KFO.Dictionary类型。接受单据字段模板包m_Field属性只写,KFO.Dictionary类型。接受Action对应的当前字段模板m_vctClassTypeEntry属性只写,KFO.Vector类型。接受单据分录模板包m_dctClassType属性只写,KFO.Dictionary类型。接受单据属性数据包GetAct
9、ion函数String类型,返回用户设置的Action表达式Initial方法提供接口给调用者,由其触发配置界面初始化FormulaCheck函数Boolean,检查最终用户设置的表达式是否合法,合法则返回真,BOS会接受用户的设置;不合法则应该返回假,BOS不会接受用户的设置下面是代码模版:Private m_sAction As StringPublic Property Get Action() As String Action = m_sActionEnd PropertyPublic Property Let Action(ByVal New_Action As String) m_
10、sAction = New_ActionEnd PropertyPublic Property Set m_dctTableInfo(ByRef New_TableInfo As Object)End PropertyPublic Property Set m_Field(ByRef New_Field As Object)End PropertyPublic Property Set m_vctClassTypeEntry(ByRef New_vctClassTypeEntry As Object)End PropertyPublic Property Set m_dctClassType(
11、ByRef New_dctClassType As Object)End PropertyPublic Function GetAction() As String End FunctionPublic Sub Initial() 在这里添加Action界面的初始化代码End SubPublic Function FormulaCheck() As Boolean 在这里添加Action函数表达式语法检查。如果检查通过,返回True;否则返回FalseEnd Function请注意:1、 如果是客户端适用的Action,其定义时组件和运行时组件,都应该安装在客户端;2、 如果是中间层适用的Ac
12、tion,其定义时组件仍应该安装在客户端,而运行时组件应安装在中间层;3、 如果同时适用于客户端和中间层的Action,其定义时组件仍应该安装在客户端,而运行时组件应同时安装在客户端和中间层;运行组件接口(客户端适用Action):函数/属性类型详细说明SetInterface方法接受插件代理组件,单据的模板和数据包都可以从中获取TransAction函数翻译Action表达式.暂保留为用DataSrv属性DoAction函数解析、执行Action的入口函数下面是代码模版:客户端扩展Action模版Private WithEvents m_objBillInterface As K3Class
13、Events.BillEvent Private WithEvents m_objBaseInterface As K3ClassEvents.BaseClassEvent Private WithEvents m_objListInterface As K3ClassEvents.ListEvents Public Sub SetInterface(ByRef objInterface As Object) 设置/传入插件代理组件 On Error GoTo Catch If Not (objInterface Is Nothing) Then Select Case VBA.UCase$(
14、TypeName(objInterface) Case BILLEVENT Set m_objBillInterface = objInterface Case BASECLASSEVENT Set m_objBaseInterface = objInterface Case LISTEVENTS Set m_objListInterface = objInterface Case Else End Select End IfCatch:End SubPublic Property Set DataSrv(ByRef New_DataSrv As Object) End PropertyPub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 BOS 扩展 业务 服务 说明 手册
限制150内