论坛里时不时就会有人问到 想实现单据体首行过滤要怎么做。
回复的都是要写个.net插件实现。
本人之前也有写过类似帖子。
动态表单实现客户端二次过滤及字段汇总统计
https://vip.kingdee.com/article/149104
但这种对用户来说,成本很高,需要有开发能力,要.net开发环境,进行组件编译才可以。
真的必要这么做吗。
答案当然是不必须的。
因为Cloud注册的插件,是直接支持动态Python脚本的。
具体实现
编写的Python脚本
可以看到,实际代码只有3句,即实现单据体首行过滤代码(其实最最主要的是无需写组件动态即时注册),
并有注册到【采购订单】“表单构建插件”上。
界面运行时,实际效果 【采购订单】 的 “明细信息” 单据体 实现了首行过滤,
同样 因为注册的动态脚本代码是通过控件类型进行判断的,“交货安排” 页签的单据体类型控件也实现了首行过滤,
送上Python脚本
[code]#实现单据体首行过滤
#by wanghl 2015-11-6
clr.AddReference('System')
clr.AddReference('Kingdee.BOS.Core')
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.Metadata.EntityElement import *
from System import *
#方法覆写
def CreateControl(e):
if isinstance(e.ControlAppearance, EntryEntityAppearance):
e.Control.Put("showFilterRow", True);[/code]
总结 我们平时有一定通用性的并且业务逻辑并不那么复杂的需求,可以考虑尽量用Python脚本去实现。
好处相信大家已经体会到了。
最后目标达到
一次投入,即时配置使用。
一人投入,共享大家使用。
推荐阅读