如何设置计划订单上的“计划员”等于计划订单的创建人原创
金蝶云社区-超级远
超级远
4人赞赏了该文章 774次浏览 未经作者许可,禁止转载编辑于2021年1月21日 10:17:44

    说明:标准产品已经在2020年12月24日的补丁中处理了计划订单上的“计划员”等于计划订单的创建人,时机是计划订单切换物料时,如果用户关联了计划员,在物料F8选值返回时会自动给计划员赋值。


    前置条件:用户关联的关联对象,已设置成了当前组织下的计划员,参考下面这帖子:https://vip.kingdee.com/article/171867


    单据头实体服务规则里面有一个携带物料的计划员的,去掉之后再加上这个插件: 

  

        /// <summary>

        /// 加载后执行

        /// </summary>

        /// <param name="e"></param>

        public override void AfterBindData(EventArgs e)

        {

            if (this.View.OpenParameter.Status == OperationStatus.ADDNEW)

            {

                SetPlanerId();

            }

        }


        /// <summary>

        /// 创建单据的时候根据当前用户设置计划员

        /// </summary>

        private void SetPlanerId()

        {

            long planerId = this.View.Model.DataObject.GetDynamicValue<long>(CONST_PLN_PLANORDER.CONST_FBillHead.ORM_PlanerId_Id);

            if (planerId <= 0)

            {

                long OrgId = this.Context.CurrentOrganizationInfo.ID;

                planerId = BD.ServiceHelper.StaffServiceHelper.GetUserOperatorId(this.Context, this.Context.UserId, OrgId, Kingdee.K3.Core.SCM.OperatorTypeConst.PLANER);

                this.View.Model.SetValue(CONST_PLN_PLANORDER.CONST_FBillHead.KEY_FPlanerId_Id, planerId);

            }

        }

赞 4