K3+Cloud+BOS开发培训_插件开发1-接口_第1页
K3+Cloud+BOS开发培训_插件开发1-接口_第2页
K3+Cloud+BOS开发培训_插件开发1-接口_第3页
K3+Cloud+BOS开发培训_插件开发1-接口_第4页
K3+Cloud+BOS开发培训_插件开发1-接口_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、架构模型展审层Si局flight WcPI WPF A面宮户端Http *Http 服务层曲态喪里UI生戒邹苓动恚夷邑控制服务Ldl业邑乐务kJ动态蔻单数砲琴生内垓层扩畏逻辑层曲主庇件顼瞬母1刊态壬单雪起传口議舌喈件旦酉皱1山、亠卑挤上动态表单元数据动态表单领域模型表单模型4 哥酉动态卷单*一何导劇动忘哀单明紺表也总表透视衷*过棒件很兰刖耒槿那咔石模型I简单!1煤 树形H偻I!聊插件开发步骤定义插件类(参照继承体系);分析业务定义重载方法;引用相关组件(参照组件引用规则); 重载方法编码;设置编译路径,编译组件;打开 IDE 设计器,配置插件;动态表单视图接口IDynamicFormViewI

2、DynamicFormViewService2 个重要的属性BusinessInfoLayoutInfo界面元素访问1、访问菜单this.View.GetMainBarItem this.View.GetBarItem2、访问表单控件this.View.GetControlthis.View.GetView3、访问字段 this.View.GetFieldEditor this.View.LockField this.View.SetFormTitle4、执行操作ShowFormUpdateViewInvokeFieldUpdateService动态表单模型接口IDynamicFormMode

3、lIDynamicFormModelService属性BusinessInfoDataObject数据操作CreateNewData CreateNewEntryRow InsertEntryRow GetEntryCurrentRowIndex LoadReferenceData GetValueGetE ntityDataObject动态表单插件命名空间:Ki ngdee.BOS.Core.Dy namicForm.Plugln 抽象类:AbstractDynamicFormPlugIn业务模型类(插件)继承自抽象类单据插件Kin gdee.BOS.Core.Bill.PlugI n.Ab

4、stractBillPlug In表单基础资料插件Kin gdee.BOS.Core.插件Base.PlugI n. AbstractBasePlugIn动态表单插件Kin gdee.BOS.Core.Dyn amicForm.PlugI n. AbstractD yn amicFormPlugln列表列表插件Kin gdee.BOS.Core.插件List.Plugl n.A bstractListPlugln接口IDyn amicFormViewPlugl nIDy namicFormModelPlugln加载机制Onln itializeCreateNewData / AfterCrea

5、teNewDataBeforeBi ndData / AfterBi ndDataBeforeClosed表单操作BeforeDoOperati on / AfterDoOperati onBeforeF7Select / AfterF7SelectTabItemSelectedCha nge表单事件BarItemClickEn tryBarItemClickToolBarItemClickButt on ClickEn tityRowClickEn tityRowDoubleClickEn tryButto nCellClick模型访问操作BeforeUpdateValueBeforeDel

6、eteRowAfterDeleteRow单据插件 (基础资料插件)继承自动态表单ZD?TL=inii cFox-mMcdelFl.ugIn. IDynm 1 cF oar mV iIHateTr intriuclnTEillMcdelPli*gIrC. TListVi ewFlKLglnTLi s tM o delPluigliiLA bsAb s zra e t * -a ss f Afc 5 t z- ac t Eyrs sclzH B g & eVi wFliiglrL接口IBillViewPlugI nOn BillI ni tialize参数 BillOpenParameterIBi

7、llModelPluglnBeforeSave / AfterSaveBeforeSubmit / AfterSubmit列表插件继承自动态表单* i cFo dlFl nIDynan i cFcrmVi ewFLiagln 工ilg w Tv i nt Fl u 富口ILi at Vi eiffFliu.gZTi TLi st-fr Ab Btr *c tTfvn noueZe:匸,IEiEVi ePljgln IE 妙 delFluglTiAbstract5t srai t CL-b A b i t r a t lELliPl-EElri接口IListViewPluglnOn List I

8、n itialize参数 ListOpenParameterAfterGetDataFormatCellValueIListModelPlugl nPrepareFilterParameterBatchCopyData过滤条件插件接口IListFilterViewIListFilterModelFilterObjectQuickFilterObject IsolationOrgId GetFilterField事件OnParseSettingFireBeforeBindFilterMetadataFireBeforeSelectTreeNodeScheme命名空间:Kingdee.BOS.Co

9、re.DynamicForm.PlugIn抽象类:AbstractOperationServicePlugIn继承体系 : ( 继承自抽象类 )Kingdee.BOS.Core.DynamicForm.PlugIn.AbstractOperationServicePlugIn接口IOperationServicePlugInBeforeExecuteOperationTransaction AfterExecuteOperationTransaction BeginOperationTransaction EndOperationTransaction校验服务IOperationService

10、PlugInOnAddValidatorsSaveValidator : AbstractValidatorValidate表单插件和列表插件继承层次 表单 单据 叙事簿 基础资料插件针对对象 动态表单 单据 基础资料 Kingdee.BOS.Core.dllAbstractBillPlugInAbstractBillPlugIn接口的 ViewPlugin 插件接口OnBillInitialize AfterBindData BeforeF7Select BeforeClosed BarItemClick AfterBarItemClick BeforeDoOperation AfterDo

11、Operation ButtonClick AfterButtonClick ListViewClick TreeNodeClick TreeDragDrop EntityRowClick视图模型初始化事件 绑定数据后事件处理接口 基础资料弹出前事件 窗口关闭前事件 菜单单击事件处理扩展接口 菜单单击事件后 操作调用前事件 操作调用完成后事件 按钮单击事件 按钮单击后事件 列表项目单击事件 树控件单击事件 树控件拖拽 分录行单击事件AbstractBillPlugIn的 ModelPlugIn 接口动态表单数据模型插件编程接口定义了数据模型扩展允许通过接口处理数据,以实现特定业务需求Abstr

12、actBillPlugIn CreateNewData AfterCreateNewData BeforeUpdateValue DataChanged CreateNewEntryRow BeforeDeleteRow AfterDeleteRow插件方法 数据模型创建实体对象事件 数据模型创建实体对象完成后事件 数据更新前事件 数据改变后事件 创建分录行事件 删除分录行事件 删除分录后事件叙事簿插件接口AbstractListPlugIn 的 ViewPlugIn 接口 序时簿视图插件编程模型接口 定义了序时簿视图模型扩展 允许通过接口处理视图,实现特定业务需求 ListInitializ

13、e 视图模型初始化事件AfterGetData FormatCellValue BeforeButtonClick AfterButtonClick CellDbButtonClick完成取数后事件 列表格式化接口 按钮和菜单单击前事件 按钮和菜单单击后事件 单元格双击事件AbstractListPlugIn 的 ModelPlugIn 接口 序时簿数据模型插件编程接口 定义了序时簿数据模型扩展 允许通过接口处理数据,以实现特定业务需求PrepareFilterParameterCreateFilterEditorControlBatchCopyDataAfterBatchCopyData 准

14、备过滤条件 触发创建过滤条件控件事件 复制单据事件 复制单据完毕事件服务插件插件特性 IOperationServicePlugin 一般会附加校验器 运行于 App 层 事务保护插件针对对象操作Kingdee.BOS.Core.dll服务插件AbstractOperationServicePlugIn 应用服务器插件与业务数据更新操作在一个事务执行 校验器插件AbstractValidator在服务插件的 OnAddValidators 加入AbstractOperationServicePlugInOnPreparePropertysOnAddValidatorsBeforeExecute

15、OperationTransactionAfterExecuteOperationTransactionBeginOperationTransactionEndOperationTransaction插件方法 可以定制加载指定字段到实体里 添加自定义数据校验器 执行操作事务前事件 执行操作事务后事件 调用操作事件前触发 ( 支持事务 ) 调用操作事件完毕 (支持事务 )表单构建插件继承层次 表单 单据 叙事簿 基础资料插件针对对象 动态表单 单据 基础资料Kingdee.BOS.Core.dll插件方法AbstractDynamicWebFormBuilderPlugInCreateContr

16、ol 构建界面元素事件AfterCreateControl 构建界面元素后事件CreateMainMenu 构建菜单事件AfterCreateMainMenu 构建菜单后事件表单插件调用过程 由控制器创建视图、模型、插件代理 初始化视图、模型 由插件服务注册到插件代理 插件代理初始化插件 加载数据,通知插件创建数据,创建表单数据包 表单操作插件服务调用代理,发送事件通知 插件代理调用插件,执行事件 返回执行结果View 对象属性this.View(View 接口 ) this.View 的常用属性BusinessInfo (界面业务对象元数据)LayoutInfo (布局元数据)Model (

17、动态表单模型接口)OpenParameter (页面调用时传入的参数)方法GetFieldEditor (获取界面控件对象)UpdateView (重新更新界面数据及状态)ShowMessage (显示信息)更改界面控件状态this.View. GetFieldEditor示例:/ / 设置金额列精度/ / / private void SetColumnScale(short iScale, string strField)his.View.GetFieldEditor(strField, -1).Scale = iScale; 更新界面数据和状态this.View.UpdateView示例

18、:/ / 字段修改事件函数重载/ public override void DataChanged(DataChangedEventArgs e) switch (e.Key.ToUpper()case FPARENTDEPTID: /this.Model.SetValue(this.View.UpdateView(组织隶属方案和上级部门变化,重新生成部门全称“ FFullName ”, GetFullName(e.Key); “FFullName”);break;显示信息this.View.ShowMessage 示例:if (e.CurParentId = 0)请先选择顶层组织。” );t

19、his.View.ShowMessage( return;Model 对象属性this.View.Model (动态表单模型接口)This.View.Model 的常用属性DataObject 当前对象的数据实体方法GetEntryCurrentRowIndex( 获取分录当前行索引 ) GetEntryRowCount( 获取分录行数量 ) CreateNewEntryRow( 新建分录行 ) GetValue( 获取字段 ( 对象 ) 值 ) SetValue( 设置字段 ( 对象 ) 值 )获取单据属性:例如分录集合 this.View.Model.DataObject 示例:/ / 获取分录集合/ DynamicObjectCollection entrys = (DynamicObjectCollection)this.View.Model.DataObjectPOOrderEntry;新增单据体分录行 this.View.Model.CreateNewEntryRow 示例:/ / 单据复制完成事件/ / public override void AfterCopyData(CopyDataEventArgs e) base.AfterCopyData(e); / 单据复制完,处理单据体 _billFormID

温馨提示

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

评论

0/150

提交评论