二开案例.表单插件.单据上查询基础资料时取消组织隔离

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:4

二开案例.表单插件.单据上查询基础资料时取消组织隔离

【应用场景】

单据上查询基础资料时取消组织隔离。

正常情况下,单据上的受组织控制的基础资料字段的数据赋值,需要满足条件:基础资料的使用组织等于单据的主业务组织,平台默认会基于单据的主业务组织对基础资料的查询显示进行数据隔离。

如果人为的强制取消基础资料数据的组织隔离,有可能造成单据和基础资料的组织不一致,可能会对和多组织特性相关的某些功能产生不可预知的风险,开发者应了解此风险,并评估需求的合理性。


【案例演示】

采购订单,新增基础资料字段部门,对其取消组织隔离。


【实现步骤】

<1>编写表单插件,代码如下。


using Kingdee.BOS.Core.DynamicForm.PlugIn;

using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;

using Kingdee.BOS.Core.List;

using Kingdee.BOS.Util;

using System.ComponentModel;


namespace Jac.XkDemo.BOS.Business.PlugIn

{

    /// <summary>

    /// 【表单插件】单据上查询基础资料时取消组织隔离

    /// </summary>

    [Description("【表单插件】单据上查询基础资料时取消组织隔离"), HotUpdate]

    public class BaseDataFieldCancelOrgIsolateFormPlugIn : AbstractDynamicFormPlugIn

    {

        public override void BeforeF7Select(BeforeF7SelectEventArgs e)

        {

            base.BeforeF7Select(e);

            if (e.FieldKey.EqualsIgnoreCase("F_Jac_Base") || e.FieldKey.EqualsIgnoreCase("F_Jac_MulBase"))

            {

                var listShowParameter = e.DynamicFormShowParameter as ListShowParameter;

                if (listShowParameter == null)

                {

                    return;

                }

                listShowParameter.UseOrgId = 0;

                listShowParameter.MutilListUseOrgId = string.Empty;

            }

        }

    }

}


<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。


<3>BOSIDE扩展采购订单,新增基础资料字段和多选基础资料字段,注册表单插件,保存元数据,开发完毕。


注意:基础资料字段不要勾选【仅显示创建组织所在记录】



【功能验证】

<1>登录业务站点,打开采购订单新增界面,录入部门信息,此时已经支持查询所有组织的部门数据。

---------------------------------------------------------------------------------------------------------













【金蝶云星空BOS二次开发案例演示】

https://vip.kingdee.com/article/94751030918525696

二开案例.表单插件.单据上查询基础资料时取消组织隔离

【应用场景】单据上查询基础资料时取消组织隔离。正常情况下,单据上的受组织控制的基础资料字段的数据赋值,需要满足条件:基础资料的使用...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息