【BOS】--保存菜单服务端运行过程

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

【BOS】--保存菜单服务端运行过程

一、说明

从前端点击保存菜单到返回结果,主要经过Web层和APP层,还有orm层(没有插件干预);Web层运行表单和列表插件,APP层运行操作插件。

二、后端的整个运行过程,大概如下时序图

image.webp

三、相关的事件

1、表单插件菜单点击事件 BarItemClick

2、表单插件调用操作前事件 BeforeDoOperation

3、表单插件保存前事件 BeforeSave

4、操作插件所有事件

5、反写插件所有事件

6、表单插件保存失败后事件 AfterSaveFailed

7、表单插件保存成功后事件 AfterSave

8、表单插件保存后事件 AfterDoOperation

9、表单插件菜单点击后事件 AfterBarItemClick

四、相关的调用代码

1、view类中调用保存菜单点击事件

var dynView = this.View as IDynamicFormViewService;

 dynView.MainBarItemClick("tbSave");//tbSave为保存菜单key

2、view类中调用保存操作服务

 this.InvokeFormOperation(FormOperationEnum.Save); 

或者 var saveOp = this.View.BusinessInfo.GetForm().GetOperation(FormOperationEnum.Save)

 this.View.InvokeFormOperation(saveOp )

3、model类调用保存操作

var billModel = (IBillModel)this.Model;

  if (billModel != null)

  {

     IOperationResult result = billModel.Save();

  }

4、调用APP层保存操作

BusinessDataServiceHelper.Save(this.Context,this.View.BillBusinessInfo, this.Model.DataObject);

5、调用orm层保存操作

OperateOption option = OperateOption.Create();

DynamicObjectType dt = dataEntities[0].DynamicObjectType;

IDbDriver driver = new OLEDbDriver(this.Context);

IDataManager dataManager = DataManagerUtils.GetDataManager(dt, driver, option);

dataManager.Save(dataEntities);

五、菜单运行过程解释说明

此过程主要分为Web层和APP层,其他菜单跟此过程大同小异,只是有些不需要去调用APP层处理,比如新增操作,修改操作等只需要Web层处理。

【BOS】--保存菜单服务端运行过程

一、说明从前端点击保存菜单到返回结果,主要经过Web层和APP层,还有orm层(没有插件干预);Web层运行表单和列表插件,APP层运行操作插件...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息