UpdateView刷新单据体数据的问题分析处理原创
21人赞赏了该文章
1,237次浏览
编辑于2022年10月08日 17:55:44
一、【问题现象】
1、二次开发,单据插件,在单据保存后,调用this.view.updateview(),或调用this.view.updateview("FEntity"),就是不会刷新单据明细
2、更新数据库数据,表单页面不会同步刷新
二、【原因分析】
二开插件中修改单据数据一般有几种方式
修改this.View.Model.DataObject数据包中的数据
解决方式:调用this.View.UpdateView方法,可以同步刷新页面表单数据
先加载元数据,再通过单据内码获取数据包
FormMetadata metaData = (FormMetadata)MetaDataServiceHelper.Load(this.Context, FormId, true); DynamicObject obj = BusinessDataServiceHelper.LoadSingle(this.Context, billId, meataData.BusinessInfo.GetDynamicObjectType()); 修改obj...... BusinessDataServiceHelper.Save(this.Context, obj); this.View.UpdateView("单据体标识")
这种方式,并不是直接处理页面数据包,this.View.UpdateView方法,仅使用当前this.View.Model.DataObject刷新数据,并不会到数据库加载数据包刷新界面
解决方式:调用this.View.Refresh();
直接执行SQL语句修改数据库
这种方式效果同2类似
解决方式: 调用this.View.Refresh();
表单插件.rar(64.41KB)
推荐阅读