一文读懂-如何通过列表打开新增页面时指定单据类型原创
金蝶云社区-云社区用户n0uK7566
云社区用户n0uK7566
5人赞赏了该文章 2,060次浏览 未经作者许可,禁止转载编辑于2021年07月21日 15:18:49

如何通过列表打开新增页面时指定单据类型

 

在日常开发中,有这样一种需求:在列表点击新增的时候有个下拉选项,通过点击不同的按钮指定不同的单据类型,打开页面则为对应单据类型页面

首先思考一种实现思路:在页面打开前,根据点击不同的按钮,绑定不同的单据类型参数传到弹出的新页面,然后在新页面的插件上下文获取到对应的单据类型参数胡,并将单据类型值重新赋值给单据类型字段。

下面我们来演示下这种怎么实现:

创建一个包含单据类型字段的简单页面:

image.png

打开业务控制里面的“启用单据类型”

配置工具-单据类型-列表创建一个单据类型1,将“单据类型1文本”设为必填,“单据类型2文本”的可见性全部去除

image.png

再创建一个单据类型2,相反,将“单据类型2文本”设为必填,“单据类型1文本”的可见性全部去除

image.png

列表新增按钮增加两个单据类型选项

 image.png

编写列表插件,重写beforeShowBill方法:

image.png

编写表单插件:

image.png

演示效果:

image.png

image.png

好了,大工告成!

其实还有另一种更加简单的方式实现:

image.png

直接在弹窗参数设置单据类型属性即可,这样就不需要再写表单事件去获取从列表传过来的对应的单据类型参数值然后赋值的逻辑了。

总结:

beforeShowBill事件:执行新建、修改、查看等操作,打开单据维护界面之前,触发此事件

afterCreateNewData 事件:界面初始化或刷新,新建表单数据包成功,并给字段填写了默认值之后,触发此事件;插件可以在此事件,重设字段的默认值。部分字段的默认值难以通过设计器配置出来,如需要计算的值、根据系统参数选项决定的值,必须写插件实现。

afterBindData 事件:界面数据包构建完毕,生成指令,刷新前端字段值、控件状态之后,触发此事件;插件可以在此事件,根据各字段值数据,重新设置控件、字段的可用、可见性等。

不要在此事件,修改字段值。


赞 5