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

二开案例.单据插件.执行操作的校验器

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

二开案例.单据插件.执行操作的校验器

【应用场景】

BOS平台内置了大量的标准操作,由于BOSIDE未做限制,任何操作都可以绑定校验器,但却不是任何操作都能执行校验器。只有那些穿透到App层的操作才会默认执行操作的校验器,例如:保存、提交、撤销、审核、反审核、删除、空操作等。而诸如前一、后一、新增、复制、选单、下推等仅在Web层转悠的操作,并不会执行操作的校验器。

此时,可以通过表单插件的BeforeDoOperation事件,强行调用操作的校验器。


【案例演示】

采购订单,下推操作,绑定校验器,通过表单插件执行校验器。


【实现步骤】

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

using Kingdee.BOS.Core.Bill;

using Kingdee.BOS.Core.Bill.PlugIn;

using Kingdee.BOS.Core.DynamicForm;

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

using Kingdee.BOS.Core.List;

using Kingdee.BOS.Core.Validation;

using Kingdee.BOS.ServiceHelper;

using Kingdee.BOS.Util;

using System.ComponentModel;


namespace Jac.XkDemo.BOS.Business.PlugIn

{

    /// <summary>

    /// 【单据插件】执行操作的校验器

    /// </summary>

    [Description("【单据插件】执行操作的校验器"), HotUpdate]

    public class ExecuteOperationValidatorsBillPlugIn : AbstractBillPlugIn

    {

        public override void BeforeDoOperation(BeforeDoOperationEventArgs e)

        {

           

base.BeforeDoOperation(e);

            if (e.Operation.FormOperation.OperationId == 52)

                //if (e.Operation.FormOperation.Operation == "Push")

            {

                // 仅针对下推操作执行校验器

                var result = BusinessDataServiceHelper.Validate(

                    this.View.Context,

                    this.View.BusinessInfo,

                    new[] { this.Model.DataObject },

                    e.Operation.FormOperation.Operation,

                    Enum_TimingPoint.Other,

                    e.Option);

                if (!result.IsSuccess)

                {

                    e.Cancel = true;

                    GetFormatValidationInfo(result);

                    this.View.ShowOperateResult(result.OperateResult);

                }


                return;

            }

        }


        /// <summary>

        /// 格式化校验信息

        /// </s

二开案例.单据插件.执行操作的校验器

【应用场景】BOS平台内置了大量的标准操作,由于BOSIDE未做限制,任何操作都可以绑定校验器,但却不是任何操作都能执行校验器。只有那些穿...
点击下载文档文档为doc格式

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

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