乐于分享
好东西不私藏

金蝶云星空二开python表单插件之基础资料过滤、控制录入顺序及显示禁用和未审核基础资料选项!!

金蝶云星空二开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控制基础资料录入顺序,先填供应商在填付款条件否则弹窗提示

3.2 过滤付款条件编码为010,并且显示禁用和未审核的基础资料选项 

温馨提示

  1. 字段标识:以上是付款条件FPayConditionId字段标识为例,如果是其他比如供应商、部门、销售员等基础资料,需要替换成对应的字段唯一标识

  2. e.ListFilterParameter.Filter拼接过滤条件,直接使用sql字段进行拼接即可

  3. 复制脚本注意缩进,严格遵守PYTHON缩进规则,否则保存会报错

如果这篇文章对你有帮助,欢迎点赞、收藏、转发!有任何问题也欢迎在评论区留言交流!

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 金蝶云星空二开python表单插件之基础资料过滤、控制录入顺序及显示禁用和未审核基础资料选项!!

评论 抢沙发

3 + 4 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮