查询基础资料取消组织隔离二开方案实现
一、【需求问题】
二开单据,这个单据上仓库字段希望可以取到所有组织的仓库。
二、【功能分析】
当前标准产品仓库是私有,底层取数做了组织隔离,BOS中基础资料配置有两个选项
1、显示创建组织所在记录
2、使用组织
取消仅显示创建组织所在记录和清空库存组织,查询的数据依然有组织隔离的处理,分析是底层做了特殊处理。
参考社区的知识文章二开插件实现:【二开案例.表单插件.单据上查询基础资料时取消组织隔离】
人为的强制取消基础资料数据的组织隔离,有可能造成单据和基础资料的组织不一致,可能会对和多组织特性相关的某些功能产生不可预知的风险,开发者应了解此风险,并评估需求的合理性。
经测试,在原有的代码基础上加上listShowParameter.IsIsolationOrg = false,才能够生效。
python脚本快速处理,参考:
#coding:utf-8 import clr clr.AddReference("System") clr.AddReference("System.Core") clr.AddReference("Kingdee.BOS") clr.AddReference("Kingdee.BOS.Core") from System import * from System import StringComparison from Kingdee.BOS.Core.DynamicForm.PlugIn import * from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import * from Kingdee.BOS.Core.List import * from Kingdee.BOS.Util import * def BeforeF7Select(e): if e.FieldKey.Equals("FSTOCKID", StringComparison.OrdinalIgnoreCase): listShowParameter = e.DynamicFormShowParameter if listShowParameter == None: return listShowParameter.UseOrgId = 0 listShowParameter.MutilListUseOrgId = "" listShowParameter.IsIsolationOrg = False
取消组织隔离查询效果:
使用案例:
一、调拨申请单表体扩展仓管员字段,根据组织隔离,默认会将主业务组织(或当前使用组织)作为条件过滤,现需要通过调入组织过滤仓管员
import clr clr.AddReference("System") clr.AddReference("System.Core") clr.AddReference("Kingdee.BOS") clr.AddReference("Kingdee.BOS.Core") from System import * from System import StringComparison from Kingdee.BOS.Core.DynamicForm.PlugIn import * from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import * from Kingdee.BOS.Core.List import * from Kingdee.BOS.Util import * def BeforeF7Select(e): if e.FieldKey.Equals("F_kd_Base2", StringComparison.OrdinalIgnoreCase): listShowParameter = e.DynamicFormShowParameter if listShowParameter == None: return listShowParameter.UseOrgId = 0 listShowParameter.MutilListUseOrgId = "" listShowParameter.IsIsolationOrg = False # 取消组织隔离 useOrg = this.View.Model.GetValue("F_kd_Base3", e.Row) filter = " FIsUse='1' "; if useOrg != None and Convert.ToInt64(useOrg["Id"]) > 0: filter += ''' And FBizOrgId={0} '''.format(str(useOrg["Id"])) # 加入调入组织过滤条件 if e.ListFilterParameter.Filter == "": e.ListFilterParameter.Filter = filter else: e.ListFilterParameter.Filter += " AND " + filter
查询基础资料取消组织隔离二开方案实现
一、【需求问题】二开单据,这个单据上仓库字段希望可以取到所有组织的仓库。二、【功能分析】当前标准产品仓库是私有,底层取数做了组织隔...
点击下载文档
本文2024-09-16 19:05:00发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-26280.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章