二开案例.操作.空操作挂服务插件

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

二开案例.操作.空操作挂服务插件

【应用场景】空操作挂服务插件完成业务功能。

【案例演示】采购订单,列表菜单,新增菜单【空操作】,点击事件绑定空操作,然后挂载服务插件。

【实现步骤】

<1>编写服务插件,代码如下。

using Kingdee.BOS.App.Data;

using Kingdee.BOS.Core.DynamicForm.PlugIn;

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

using Kingdee.BOS.Util;

using System.ComponentModel;

using System.Linq;


namespace Jac.XkDemo.BOS.App.PlugIn

{

    /// <summary>

    /// 【服务插件】空操作演示

    /// </summary>

    [HotUpdate]

    [Description("【服务插件】空操作演示")]

    public class DoNothingOperationServicePlugIn : AbstractOperationServicePlugIn

    {

        /// <summary>

        /// 执行操作事务前事件,通知插件对要处理的数据进行排序等预处理(事务外触发)

        /// </summary>

        /// <param name="e">e.SelectedRows 准备要处理的扩展实体 e.DataEntitys 处理后的实体</param>

        /// <remarks>

        /// 1. 此事件在操作校验之后、操作实现代码之前执行

        /// 2. 此事件在操作事务之前,即此事件中的数据库处理,不受操作的事务保护

        /// 3. 通常此事件,也可以用来进行数据校验

        /// </remarks>

        public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e)

        {

            base.BeforeExecuteOperationTransaction(e);

            // 访问数据库

            var sql = "SELECT FNAME FROM T_SEC_USER WHERE FUSERID=" + Context.UserId;

            var userName = DBUtils.ExecuteScalar<string>(Context, sql, "");

            // 获取列表选中行信息

            if (e.SelectedRows != null)

            {

                var billNo = string.Join(",", e.SelectedRows.Select(o => o.DataEntity["BillNo"]));

            }

            // TODO

        }


        /// <summary>

        /// 执行操作事务后事件,通知插件对象执行其它事务无关的业务逻辑(事务外触发)

        /// </summary>

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

        /// <remarks>

        /// 1. 此事件在操作执行后,操作的内部逻辑已经执行完毕;

        /// 2. 此事件在操作事务提交之后;

        /// 3. 此事件中的数据库处理,不受操作的事务保护

        /// 4. 通常此事件,也可以做同步数据,但是此同步数据的成功与否,不需影响操作

        /// </remarks>

        public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)

        {

            base.AfterExecuteOperationTransaction(e);

            // TODO

        }

    }

}


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


<3>BOSIDE扩展采购订单,列表菜单,新增菜单【空操作】。


<4>菜单【空操作】的点击事件绑定空操作。


<5>给空操作注册服务插件,保存元数据,开发完毕。


现在可以登录业务站点,打开采购订单,检验一下插件效果啦。


注意】列表上的空操作,必须有选中行,才会触发服务插件哦喔~~












【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

二开案例.操作.空操作挂服务插件

【应用场景】空操作挂服务插件完成业务功能。【案例演示】采购订单,列表菜单,新增菜单【空操作】,点击事件绑定空操作,然后挂载服务插件...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息