金蝶云星空二开python表单插件之基础资料过滤、控制录入顺序及显示禁用和未审核基础资料选项!!
大家好,我叫大伟,今天开始给大家继续倒腾金蝶二开插件案列分享,大部分都是非常实用而且能够提升工作效率和增强体验感的小功能。
在创建单据过程中,我们经常遇到这样的业务场景:先选择某个基础资料在选择某个选项或者基础资料,比如选择付款条件前必须先选择供应商,同时需要根据特定业务规则过滤付款条件选项,并且需要显示禁用的基础资料。
本次案例以采购订单为案例,选择付款条件时候必填供应商,当然你也可以推广到其他需要类似控制的基础资料选择场景,如物料选择、客户选择、仓库选择等。通过资料字段选择前事件BeforeF7Select来过滤基础资料字段及显示隐藏禁用选项,还可以通过该事件控制基础资料的录入顺序。
Python插件案例一之表单插件
新增单据设置默认值
(获取当前用户对应员工)
代码案例如下
def BeforeF7Select(e):if(e.FieldKey=="FPayConditionId"): #字段标识supObj=this.View.Model.GetValue("FSupplierId"); #使用getValue方法获取字段值billObj = this.Model.DataObject;#获取单据数据包payCObj=billObj["T_PUR_POORDERFIN"];if(supObj==None):this.View.ShowWarnningMessage("请先选择供应商");e.Cancel=True;#取消弹出选择列表return;#跳出事件方法e.IsShowUsed = False;#允许选择禁用的数据e.IsShowApproved = False;#允许选择未审核的数据,True表示e.ListFilterParameter.Filter=(" '{0}'<>'010' ").format(payCObj["Number"]); #设#拼接过滤条件,按照SQL条件表达式,双引号是取数据库字段
操作步骤如下
1、打开BOS设计器,找到需要修改的单据,如果单据是只读状态,不要慌!只需在单据上右键点击【扩展】,就能以可编辑模式打开

2、注册Python脚本,进入【表单插件】配置,注册下面的Python脚本代码,填写脚本名称,保存配置

3、保存所有配置,新增单据,展示效果!如下图:
3.1控制基础资料录入顺序,先填供应商在填付款条件否则弹窗提示


温馨提示
-
字段标识:以上是付款条件FPayConditionId字段标识为例,如果是其他比如供应商、部门、销售员等基础资料,需要替换成对应的字段唯一标识
-
e.ListFilterParameter.Filter拼接过滤条件,直接使用sql字段进行拼接即可
-
复制脚本注意缩进,严格遵守PYTHON缩进规则,否则保存会报错
如果这篇文章对你有帮助,欢迎点赞、收藏、转发!有任何问题也欢迎在评论区留言交流!
夜雨聆风
