父单据中嵌入子单据,父单据的页面插件修改子单据数据,页面不更新原创
金蝶云社区-野生的指针
野生的指针
5人赞赏了该文章 1,698次浏览 未经作者许可,禁止转载编辑于2022年11月08日 15:04:57

参考这位同学写的案例,通过BillShowParameter将一个单据嵌入到另一个单据中。

https://vip.kingdee.com/article/161857340805532928?productLineId=29&islogin=true


将子单据嵌入后,在父单据的页面插件中,修改子单据的数据,伪代码如下:


var cache = this.getView().getPageCache();   // 获取页面缓存

var subPageId = cache.get("subPageId");   // 获取子单据的id   (参考上面的链接)

var subView = this.getView().getView(subPageId);  // 获取子单据的view

subView.getModel().setValue("textfield", "123456");   // 给子单据的textfield字段赋值123456


上述代码成功执行后,前端并没有展示修改后的值

经过漫长的debug,发现:如果想要在当前页面修改子页面的数据,必须显式调用this.getView().sendFormAction(subView);才会在前端显示。所以完整的代码为:


var cache = this.getView().getPageCache();   // 获取页面缓存

var subPageId = cache.get("subPageId");   // 获取子单据的id   (参考上面的链接)

var subView = this.getView().getView(subPageId);  // 获取子单据的view

subView.getModel().setValue("textfield", "123456");   // 给子单据的textfield字段赋值123456

this.getView().sendFormAction(subView);


备注:使用以上逻辑跨页面修改数据(比如子页面修改父页面数据),都需要调用this.getView().sendFormAction()

图标赞 5
5人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!