下推操作控制选单页面组织的显示

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

下推操作控制选单页面组织的显示

说明:

1)表单下推操作弹出选单页面,如果根据下推数据和转换规则可以确定下游单据主业务组织,则选单页面的目标组织不会显示出来,否则会显示目标组织供用户选择

2)如果可工选择的目标组织包含下推数据的主业务组织,则默认显示。

3)如果可以供选择的目标组织大于20个则会显示组织基础资料,否则显示下拉列表

示例:

1)销售订单下推应收单时,选单页面如果目标组织显示出来,则默认显示为空,而不是默认的组织

2)扩展选单页面(formId:BOS_ConvertOpForm),注册表单插件

3)表单插件代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Kingdee.BOS;
using Kingdee.BOS.Core;
using Kingdee.BOS.Util;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
namespace Kingdee.BOS.TestPlugIn.BillFormPlugin
{
    [HotUpdate]
    [Description("表单测试插件")]
    public class FormTestPlugIn : AbstractDynamicFormPlugIn
    {
        /// <summary>
        ///表单绑定后事件
        /// </summary>
        /// <param name="e"></param>
        public override void AfterBindData(EventArgs e)
        {
            base.AfterBindData(e);
            this.SetNullToTargetOrg();
        }
 
           /// <summary>
        /// 值改变事件
        /// </summary>
        /// <param name="e"></param>
        public override void DataChanged(DataChangedEventArgs e)
        {
            base.DataChanged(e);
            if (e.Field.Key.ToUpperInvariant() == "FRDBILLS" || e.Field.Key.ToUpperInvariant() == "FCONVERTRULE")
            {
                this.SetNullToTargetOrg();
            }
        }
        /// <summary>
        /// 设置默认组织为空
        /// </summary>
        private void SetNullToTargetOrg()
        {
            var srcFormId = this.View.ParentFormView.BillBusinessInfo.GetForm().Id;
            var targetFormId = this.Model.GetValue("FrdBills").ToString();
            //销售订单下推应收单
            if (srcFormId.EqualsIgnoreCase("SAL_SaleOrder") && targetFormId.EqualsIgnoreCase("AR_receivable"))
            {
                //目标组织为下拉列表框
                var ctlFTargetOrgId = this.View.GetControl<ComboFieldEditor>("FTargetOrgId");
                if (ctlFTargetOrgId.Visible)
                {
                    this.View.Model.SetValue("FTargetOrgId", null);
                }
                else
                {//目标组织为组织基础资料
                    var ctlFTargetOrgId2 = this.View.GetControl("FTargetOrgId_F8");
                    if (ctlFTargetOrgId2.Visible)
                    {
                        this.View.Model.SetValue("FTargetOrgId_F8", null);
                    }
                }
            }
        }
    }
}

效果:


下推操作控制选单页面组织的显示

说明:1)表单下推操作弹出选单页面,如果根据下推数据和转换规则可以确定下游单据主业务组织,则选单页面的目标组织不会显示出来,否则会...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息