Python放开单据字段允许选择禁用/未审核的基础资料原创
金蝶云社区-CQ周玉立
CQ周玉立
20人赞赏了该文章 3446次浏览 未经作者许可,禁止转载编辑于2022年07月21日 23:55:15

在标准系统中,只有基础资料或者辅助资料【已审核】且【未禁用】的状态下,在单据中才能选择使用,但是在一些特定情况下可能需要选择禁用/未审核的基础资料,通过如下Python脚本可以对指定的字段放开控制

实现方法:

1.在BOS中打开需要修改的单据。

2.在【表单插件】中注册Python脚本。

3.保存单据即可。


#参考代码如下:

#引入clr运行库
import clr
#添加对cloud插件开发的常用组件的引用
clr.AddReference('System')
clr.AddReference('System.Data')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.ServiceHelper')
#导入cloud基础库中的常用实体对象(分命名空间导入,不会递归导入)
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
from System import *
from System.Data import *
from Kingdee.BOS.App.Data import *
from System.Collections.Generic import List
from Kingdee.BOS.ServiceHelper import *
def BeforeSetItemValueByNumber(e):
    key = str(e.BaseDataFieldKey.ToUpper());
    if (key == "FSUPPLIERID"):#字段标识大写,多个字段可在后面拼接:"or key=="FXXX",可在此添加前提条件用"and"连接
        e.IsShowUsed = False;#允许选择禁用的数据
        e.IsShowApproved = False;#允许选择未审核的数据
def BeforeF7Select(e):
    key = str(e.FieldKey.ToUpper());
    if (key == "FSUPPLIERID"):#字段标识大写
        e.IsShowUsed = False;#允许选择禁用的数据
        e.IsShowApproved = False;#允许选择未审核的数据


注意:网页复制代码会有格式问题,如需复制代码,请下载附件!

赞 20