2.K3 WISE E-BOS插件开发介绍(2018版)课件..pptx

上传人:zf 文档编号:30870904 上传时间:2024-09-12 格式:PPTX 页数:37 大小:1.15MB
下载 相关 举报
2.K3 WISE E-BOS插件开发介绍(2018版)课件..pptx_第1页
第1页 / 共37页
2.K3 WISE E-BOS插件开发介绍(2018版)课件..pptx_第2页
第2页 / 共37页
2.K3 WISE E-BOS插件开发介绍(2018版)课件..pptx_第3页
第3页 / 共37页
2.K3 WISE E-BOS插件开发介绍(2018版)课件..pptx_第4页
第4页 / 共37页
2.K3 WISE E-BOS插件开发介绍(2018版)课件..pptx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

2.K3 WISE E-BOS插件开发介绍(2018版)课件..pptx

《2.K3 WISE E-BOS插件开发介绍(2018版)课件..pptx》由会员分享,可在线阅读,更多相关《2.K3 WISE E-BOS插件开发介绍(2018版)课件..pptx(37页珍藏版)》请在冰豆网上搜索。

2.K3 WISE E-BOS插件开发介绍(2018版)课件..pptx

版权所有1993-2018金蝶国际软件集团有限公司K/3WISEE-BOS插件培训杨政K/3基础系统部2018年4月目目录录插件插件编编程原程原理理什么是插什么是插件件插件原插件原理理插件开插件开发环发环境介境介绍绍案例案例场场景景插件之插件之应应用程序代理用程序代理对对象象单单据插件代理据插件代理对对象象(BillInterface)序序时时薄插件代理薄插件代理对对象象(ListInterface)中中间层间层插件代理插件代理对对象象公共公共辅辅助助对对象象K3Lib插件部插件部署署什么是插件什么是插件插件(Plug-Ins)是一种专门为某一软件设计、用于功能扩充的程序。

通过插件可以实现客户个性化的定制。

通过插件可以实现单据、序时簿、基础资料序时簿中特殊的业务流程处理。

当数据改变时,通过中间层插件可以实现特殊处理。

插件不只是被动的接受宿主程序调用,更可以控制宿主程序以完成一些特定功能。

插件插件编编程原理程原理-什么是插件什么是插件插件插件编编程原理程原理-插件原理插件原理主程序如果需要自身功能可主程序如果需要自身功能可扩扩展展提供服务接口(ServicesInterface),其提供(约束)了插件对主体能力可控制的边界定义一种扩展契约(Plug-InInterface),其描述了插件应该如何设计以便于主程序发现。

并通过插件管理模块(Plug-InManager)来发现、维护插件插件通插件通过实现过实现主程序主程序规规定的定的扩扩展契展契约约(通常(通常是是一个接口)一个接口)实现实现插件功插件功能能目目录录插件插件编编程原程原理理什么是插什么是插件件插件原插件原理理插件开插件开发环发环境介境介绍绍案例案例场场景景插件之插件之应应用程序代理用程序代理对对象象单单据插件代理据插件代理对对象象(BillInterface)序序时时薄插件代理薄插件代理对对象象(ListInterface)中中间层间层插件代理插件代理对对象象公共公共辅辅助助对对象象K3Lib插件部插件部署署插件开插件开发环发环境介境介绍绍E-BOS插件开插件开发环发环境境金蝶K/3v11.0以上的版本目前需要安装客户关系管理系统才会有E-BOS组件操作系统:

MicrosoftWindows2000Server以上版本推荐采用Server类操作系统作为开发、调试操作系统开发平台:

MicrosoftVisualStudio2005、.NetFramework2.0数据库:

MicrosoftSQLServer2000/2005E-BOS插插件开件开发发向向导导通过K/3BOSSDK安装金蝶K/3E-BOS插件开发向导工具插件开插件开发环发环境介境介绍绍目目录录插件插件编编程原程原理理什么是插什么是插件件插件原插件原理理插件开插件开发环发环境介境介绍绍案例案例场场景景插件之插件之应应用程序代理用程序代理对对象象单单据插件代理据插件代理对对象象(BillInterface)序序时时薄插件代理薄插件代理对对象象(ListInterface)中中间层间层插件代理插件代理对对象象公共公共辅辅助助对对象象K3Lib插件部插件部署署A公司希望在申请费用报销单时,可以查看本公司HR系统中的报销制度,同时在审核过程中,对连续为同一审核人进行自动审核,对自动审核的单据将发送消息给部门主管,流程结束。

案例案例场场景景启动查看HR文档审核人A审核人A(自动审核)发送消息结束案例案例场场景景插件添加单据菜单插件弹出自定义页面插件实现自动审核插件实现发送消息插件修改单据字段值插件弹出单据、F7基础资料(增加过滤条件)中间层插件实现数量控制案例目目录录插件插件编编程原程原理理什么是插什么是插件件插件原插件原理理插件开插件开发环发环境介境介绍绍案例案例场场景景插件之插件之应应用程序代理用程序代理对对象象单单据插件代理据插件代理对对象象(BillInterface)序序时时薄插件代理薄插件代理对对象象(ListInterface)中中间层间层插件代理插件代理对对象象公共公共辅辅助助对对象象K3Lib插件部插件部署署插件之插件之应应用程序代理用程序代理对对象象单单据插件代理据插件代理对对象象(BillInterface)模型图BillInterfaceK3LibNetUserBillHeadsBillEntrysBillHeadBillEntryBOSFieldsBOSFieldsBOSFieldBOSFieldAccountInnerEvents单单据插件代理据插件代理对对象象K3LibK3LibNetUserAccountBeginMutexCommitMutexQueryFuncQuerySubSys开始开始执执行网行网络络控控制制结结束网束网络络控控制制查询查询子功能是否被网子功能是否被网络络控控制制查询查询系系统统ID是否被网是否被网络络控控制制subSysID系统IDfuncID功能ID/t_SysFunction功能表/t_FuncControl网络控制记录表inti=m_BillInterface.K3Lib.Net.BeginMutex(257,FYGL256801);m_BillInterface.K3Lib.Net.CommitMutex(i);单单据插件代理据插件代理对对象象K3LibK3LibUserNetAccountm_BillInterface.K3Lib.User.UserID;m_BillInterface.K3Lib.User.UserName;m_BillInterface.K3Lib.Account.AccountID;m_BillInterface.K3Lib.Account.AccountName;BOSFieldsBOSFieldBOSFieldBillEntrysBillEntryBOSFieldsBOSFieldBOSFieldBillHeads、BillEntrysBillHeadsBillHead单单据插件代理据插件代理对对象象m_BillInterface插件对象m_dctMetaData缓存元数据包;m_dctTableInfo单据字段模板取值、赋值m_BillInterface.BillHeads1.BOSFieldsFUser.Value=16394;m_BillInterface.BillEntrys1.BOSFieldsFText2.Value=BillHeads、BillHead、BillEntrys、BillEntry都会包含以下对象test;单单据插件代理据插件代理对对象象元数据模板元数据模板m_dctTableInfoPagePagesEntitysm_dctMetaDataVerUserIDClassTypeClassTypeEntrym_BillInterface.Data单单据字段模据字段模板板缓缓存元数据存元数据包包m_BillInterface.Data单单据插件代理据插件代理对对象象单单据插件方据插件方法法alert显显示示对话对话框框m_BillInterface.Alter(stringsMessage);Confirm弹弹出出询问询问框框m_BillInterface.Confirm(stringType,stringMessage);Type确认框类型,sMessage确认信息内容。

CloseBill关关闭单闭单据据m_BillInterface.CloseBill()GetFieldValue获获得字段得字段值值m_BillInterface.GetFieldValue(stringKey);m_BillInterface.GetFieldValue(stringKey,Enu_ValueTypeValueType);m_BillInterface.GetFieldValue(stringKey,intRow);m_BillInterface.GetFieldValue(stringKey,intRow,Enu_ValueTypeValueType);Key字段标示,Row行号ValueType取值类型(FFLD:

内码,FFND:

代码,FDSP:

显示值)单单据插件代理据插件代理对对象象单单据插件方据插件方法法SetFieldValue设设置字段置字段值值m_BillInterface.SetFieldValue(stringKey,objectoValue);m_BillInterface.SetFieldValue(stringKey,objectoValue,Enu_ValueTypeValueType);m_BillInterface.SetFieldValue(stringKey,objectoValue,intRow);m_BillInterface.SetFieldValue(stringKey,objectoValue,intRow,Enu_ValueTypeValueType);m_BillInterface.SetFieldValue(stringKey,objectoValue,intRow,Enu_ValueTypeValueType,boolbChanged);bChanged整单是否被修改SaveBillm_BillInterface.SaveBill(boolRefresh)Refresh保存后是否刷新单据。

ShowBill请请求保存求保存单单据据打开打开单单据据m_BillInterface.ShowBill(intClassTypeID,BOSEnum.Enu_BillStatusStatus,DictionaryBillPara);/BillPara打开单据参数包,包含单据内码(FID)DictionarydctData=newDictionary();dctDataFID=iBillID;单单据插件代理据插件代理对对象象单单据插件方据插件方法法SendEmail请请求求发发送送邮邮件件m_BillInterface.SendEmail(stringemailTitle,stringemailContent,stringemailAddressList);SMTP邮件服务器配置表RC_SmtpAddress(HR系统配置)SaveMessage请请求求发发送消送消息息m_BillInterface.SendMessage(stringTitle,stringMeassage,paramsintUser)ShowHideField请请求求显显示和示和隐隐藏字藏字段段m_BillInterface.ShowHideField(stringkey,boolvisible);显示隐藏表头字段InsertNewRowAndFill新新增增行行m_BillInterface.InsertNewRowAndFill(stringpage,introw,paramsobjectvFields)单单据插件代理据插件代理对对象象单单据插件方据插件方法法ShowF7Select打开打开F7基基础资础资料料m_BillInterface.ShowF7Select(objectsend,onshowF7SelectEventArgse)FLookUpType:

1,基础资料,2:

单据FLookUpClassID:

ICClassTypeFID单单据插件代理据插件代理对对象象单单据插件方据插件方法法AddBarItem增加菜增加菜单单按按钮钮m_BillInterface.AddBarItem(stringName,stringCaption,stringDescription,stringToolTipText,objectobjTag,stringImageKey,objectobjImage,stringShortcut,boolEnabled,boolboolBeginGroup,boolCheckItem,boolChecked);Visible,m_BillInterface.AddBarItemLink(stringstrSubItemName,stringstrBarItemName,stringstrRelatively,boolblnAfter)菜单分组名称mnuFile文件mnuEdit编辑mnuView查看mnuTools工具mnuOption选项mnuCust自定义entryTbar-Page2单据体菜单菜单图标C:

ProgramFilesKingdeeK3ERPKDHRSITEFILEWEBUIEXTBOSImagesToolBarchs单单据插件代理据插件代理对对象象单单据插件事据插件事件件publiceventEventHandlerOnBarInitialize菜菜单单初始化事初始化事件件m_BillInterface.OnBarInitialize+=newEventHandler(m_BillInterface_OnBarInitialize);privatevoidm_ListInterface_OnBarInitialize(objectSender,EventArgse)publiceventBarItemClickEventHandleOnBarItemClick菜菜单单击单单击事事件件m_BillInterface.OnBarItemClick+=newBarItemClickEventHandle(m_BillInterface_OnBarItemClick);privatevoidm_BillInterface_OnBarItemClick(objectSender,BarItemClickEventArgse)单单据插件代理据插件代理对对象象单单据插件事据插件事件件publiceventBeforeSaveHandlerBeforeSaveprivatevoidm_BillInterface_BeforeSave(objectSender,BeforeSaveEventArgse)保存前事保存前事件件publiceventBeforeAddRowEventHandlerBeforeAddRow件件publiceventAfterNewBillHandlerAfterNewBill后事后事件件publiceventEvents.AfterCopyBillHandlerAfterCopyBillpubliceventEvents.ChangeHandlerChange件件新增新增单单据行前据行前事事新增新增单单据据单单据复制后事据复制后事件件字段字段值值改改变变后后事事目目录录插件插件编编程原程原理理什么是插什么是插件件插件原插件原理理插件开插件开发环发环境介境介绍绍案例案例场场景景插件之插件之应应用程序代理用程序代理对对象象单单据插件代理据插件代理对对象象(BillInterface)序序时时薄插件代理薄插件代理对对象象(ListInterface)中中间层间层插件代理插件代理对对象象公共公共辅辅助助对对象象K3Lib插件部插件部署署序序时时薄代理薄代理对对象象模型图序序时时薄插件代理薄插件代理对对象象ListInterfaceK3LibNetUserAccountInnerEvents序序时时薄插件代理薄插件代理对对象象序序时时薄插件方薄插件方法法alertConfirmRefreshListSendEmailSendMessageShowBillAddBarItemAddBarItemLinkRemoveBarItem显示对话框弹出确认对话框请求刷新序时薄请求发送邮件请求发送消息请求显示单据增加菜单按钮菜单分组中增加子菜单项删除菜单序序时时薄插件代理薄插件代理对对象象序序时时薄插件方薄插件方法法AspxGetSelectList获获得得选择选择数据行集合(数据行集合(单单据据ID)获取序时簿当前选中行或钩选行的集合(Dictionary)SelectRow为当前选中行的内码CheckRow为当前钩选行的内码集合例:

intiBillID=Convert.ToInt32(m_ListInterface.AspxGetSelectList()SelectRow);DisplayResult调调用用K3对话对话框框显显示示结结果果m_ListInterface.DisplayResult(null,OperateResultList);OperateResultList数据显示信息GetBillData获获得指定得指定单单据的数据据的数据包包m_ListInterface.GetBillData(objectBillID)序序时时薄插件代理薄插件代理对对象象序序时时薄插件事薄插件事件件publiceventEventHandlerOnBarInitialize始化事始化事件件publiceventBarItemClickEventHandleOnBarItemClick菜菜单单初初菜菜单单击单单击事事件件publiceventAfterRefreshListHandlerAfterRefreshList序序时时薄刷新后事薄刷新后事件件publiceventAfterConfirmHandlerAfterConfirm事事件件publiceventAfterDeleteBillHandlerAfterDeleteBill发发Confirm执执行行后后删删除除单单据后据后触触publiceventCustomDisplayTextHandlerCustomDisplayText序序时时薄行薄行显显示示字段数据事字段数据事件件目目录录插件插件编编程原程原理理什么是插什么是插件件插件原插件原理理插件开插件开发环发环境介境介绍绍案例案例场场景景插件之插件之应应用程序代理用程序代理对对象象单单据插件代理据插件代理对对象象(BillInterface)序序时时薄插件代理薄插件代理对对象象(ListInterface)中中间层间层插件代理插件代理对对象象公共公共辅辅助助对对象象K3Lib插件部插件部署署中中间层间层插件代理插件代理对对象象中中间层间层代理代理对对象象模型图PlugInModelServiceIDataUpdateServiceAfterSaveBeforeSaveIDataDeleteServiceIDataReaderServiceBeforeDeleteAfterDeleteBeforeReaderDataAfterReaderData中中间层间层插件代理插件代理对对象象中中间层间层事事件件publicvoidAfterSave(CDataSourceDataSource,DictionarydctMetaData,DataSetds,DictionarydctDataExt)DataSource:

数据连接对象dctMetaData:

缓存元数据ds:

单据数据(Page1、Page2)dctDataExt:

拓展数据对象需要继承类:

:

IDataUpdateService,IDataDeleteService,IDataReaderService需要增加事务:

KDTransaction(enuTransactionType.enuRequire)目目录录插件插件编编程原程原理理什么是插什么是插件件插件原插件原理理插件开插件开发环发环境介境介绍绍案例案例场场景景插件之插件之应应用程序代理用程序代理对对象象单单据插件代理据插件代理对对象象(BillInterface)序序时时薄插件代理薄插件代理对对象象(ListInterface)中中间层间层插件代理插件代理对对象象公共公共辅辅助助对对象象K3Lib插件部插件部署署公共公共辅辅助助对对象象K3Lib在BillInterface和ListInterface对象中聚合了K3Lib对象通过程序中K3Lib对象可以直接获取帐套和用户的相关信息,例如:

lUserID=m_BillInterface.K3Lib.User.UserID通过中间层访问数据库,并返回数据publicDataSetGetData(stringstrSQL)通过中间层访问数据,并更新数据publicDataSetUpdateData(stringstrSQL)目目录录插件插件编编程原程原理理什么是插什么是插件件插件原插件原理理插件开插件开发环发环境介境介绍绍案例案例场场景景插件之插件之应应用程序代理用程序代理对对象象单单据插件代理据插件代理对对象象(BillInterface)序序时时薄插件代理薄插件代理对对象象(ListInterface)中中间层间层插件代理插件代理对对象象公共公共辅辅助助对对象象K3Lib插件部插件部署署插件部插件部署署BOS设计设计器器单单据据插件插件.Net插插件件命名空间+“”类名插件程序中类的命名空间不要包含文件夹名称将插件dll拷贝至K3安装盘/K3ERP/KDHR/SITEFILE/WEBUI/BIN目录EBOS常见问题.docxEBOS插件全景插件全景图图版权所有1993-2017金蝶国际软件集团有限公司Thankyou!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1