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

二开案例.列表插件.工作流提交

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

二开案例.列表插件.工作流提交

【应用场景】

模拟列表界面,提交单据并启动工作流。



【案例演示】

币别,列表菜单新增【工作流提交】tbListSubmit,点击后,根据当前单据的工作流配置,批量执行提交操作。



【实现步骤】

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

using Kingdee.BOS.Business.Bill.Operation.Workflow;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using Kingdee.BOS.Workflow.Models.Template;
using Kingdee.BOS.Workflow.ServiceHelper;
using System.ComponentModel;
using System.Linq;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
    /// <summary>
    /// 【列表插件】工作流提交
    /// </summary>
    [Description("【列表插件】工作流提交"), HotUpdate]
    public class WorkflowListSubmitListPlugIn : AbstractListPlugIn
    {
        public override void BarItemClick(BarItemClickEventArgs e)
        {
            base.BarItemClick(e);
            if (e.BarItemKey.EqualsIgnoreCase("tbListSubmit"))
            {
                ListSubmit();
            }
        }
        private void ListSubmit()
        {
            if (this.ListView.CurrentSelectedRowInfo == null)
            {
                this.View.ShowWarnningMessage("没有选择任何数据,请先选择数据!");
                return;
            }
            var submitOperation = this.View.BillBusinessInfo.GetForm().FormOperations.FirstOrDefault(o => o.OperationId == 9);
            if (submitOperation == null)
            {
                return;
            }
            var ids = this.ListView.SelectedRowsInfo.Select(o => (object)o.PrimaryKeyValue).ToArray();
            var formId = this.View.BillBusinessInfo.GetForm().Id;
            // 获取流程模板类型
            var wfTemplatePermissionResults = WorkflowSubmitServiceHelper.ValidatePermission(this.Context, formId, ids, submitOperation.PermissionItemId);
            if (wfTemplatePermissionResults[0].TemplateModels.Length > 1)
            {
                // TODO:同时存在工作流模板和审批流模板,请选择模板类型
            }
            var param = new TemplateParameter()
            {
                TemplateModel = wfTemplatePermissionResults[0].TemplateModels[0],
                BillBusinessInfo = this.View.BillBusinessInfo,
                OriginatorPost = null
            };
            // 获取流程模板
 

二开案例.列表插件.工作流提交

【应用场景】模拟列表界面,提交单据并启动工作流。【案例演示】币别,列表菜单新增【工作流提交】tbListSubmit,点击后,根据当前单据的工...
点击下载文档文档为doc格式

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

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