电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

保存校验多选基础资料唯一性

来源:金蝶云社区作者:金蝶2024-09-232

保存校验多选基础资料唯一性

@[TOC](目录) ### 背景 在单据上二开自定义多选基础资料之后,在保存操作的校验规则中的唯一性校验找不到该字段。BOS配置不支持对多选基础资料进行唯一性校验,因为多选基础资料数据实际上存在另一个独立的数据表中。那有些场景确有此需求应该如何实现呢?考虑**二开保存校验器插件**实现。 ### 步骤 1. 新增多选基础资料字段 2. 到操作列表找到保存操作 3. 注册python脚本 ![image.webp](/download/0100f8b5b80126ea4c84b9ed1e5898eb6985.webp) ### Python脚本(以供应商联系人页签为例) ```python import clr clr.AddReference("mscorlib") 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.DataEntity') clr.AddReference('Kingdee.BOS.Contracts') clr.AddReference('Kingdee.BOS.ServiceHelper') clr.AddReference('Newtonsoft.Json') from Kingdee.BOS import * from Kingdee.BOS.App.Data import * from Kingdee.BOS.Core.DynamicForm.PlugIn import * from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import * from Kingdee.BOS.Util import * from System import * from System.Collections.Generic import * from System.Data import * from Kingdee.BOS.Core import * from Kingdee.BOS.Orm.DataEntity import * from Kingdee.BOS.DataEntity import * from Kingdee.BOS.Core.DynamicForm import * from System.Collections.Generic import List from Newtonsoft.Json import JsonConvert from Newtonsoft.Json.Linq import * from Kingdee.BOS.Core.Validation import * from Kingdee.BOS.Log import Logger def OnAddValidators(e): validator = OneValidator() validator.EntityKey = "FBillHead" validator.AlwaysValidate = True e.Validators.Add(validator) class OneValidator(AbstractValidator): def Validate(self, dataEntities, validateContext,ctx): for bill in dataEntities: contact = bill["SupplierContact"] b

保存校验多选基础资料唯一性

@[TOC](目录)### 背景在单据上二开自定义多选基础资料之后,在保存操作的校验规则中的唯一性校验找不到该字段。BOS配置不支持对多选基础资...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信