在标准系统中,只有基础资料或者辅助资料【已审核】且【未禁用】的状态下,在单据中才能选择使用,但是在一些特定情况下可能需要选择禁用/未审核的基础资料,通过如下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;#允许选择未审核的数据
注意:网页复制代码会有格式问题,如需复制代码,请下载附件!
表单插件允许选择禁用的基础资料.rar(0.59KB)
推荐阅读