You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Queue Item的Pick、Release按钮点击传参及Plugin获取方案咨询

队列项Pick/Release按钮操作插件触发方案

参数读取说明

原生Dataverse/Dynamics 365的Queue Item的Pick、Release按钮触发的是两个完全独立的系统标准消息,不需要额外传递自定义参数,插件可以直接通过消息名称区分两个操作:

  • 点击Pick按钮对应PickQueueItem消息
  • 点击Release按钮对应ReleaseQueueItem消息

首选实现方案(无自定义改造场景)

直接在插件注册工具中针对两个消息分别注册插件步骤即可:

  1. 打开Plugin Registration Tool,连接到对应环境
  2. 针对Pick操作新建插件步骤:
    • 消息选择PickQueueItem,主实体选择queueitem
    • 执行阶段根据需求选择:需要拦截操作显示告警选PreValidation/PreOperation,操作完成后提示选PostOperation
  3. 针对Release操作重复上述步骤,消息选择ReleaseQueueItem即可
  4. 两个操作的插件逻辑独立编写,不需要额外判断参数,如需获取队列项相关属性可从执行上下文的InputParameters中读取:
    • PickQueueItem参数包含QueueItemId(队列项ID)、WorkerId(拾取的主体ID)
    • ReleaseQueueItem参数包含QueueItemId(队列项ID)

代码示例

public void Execute(IServiceProvider serviceProvider)
{
    IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
    // Pick操作告警逻辑,Release操作同理写在对应消息的插件中即可
    if (context.MessageName.Equals("PickQueueItem", StringComparison.OrdinalIgnoreCase))
    {
        Guid queueItemId = (Guid)context.InputParameters["QueueItemId"];
        // 抛出异常即可显示告警提示,如需自定义提示内容直接修改异常消息
        throw new InvalidPluginExecutionException("告警:拾取该队列项前请确认已处理完手中待办项");
    }
}

替代方案(自定义按钮场景)

如果你替换了原生按钮使用自定义命令,可在按钮的前端调用逻辑中添加自定义标识参数:

  • 前端调用Web API执行操作时,在请求参数中添加自定义标识,比如op_type = "pick"
  • 插件中从IPluginExecutionContext.InputParameters中读取该标识区分操作类型即可

内容的提问来源于stack exchange,提问作者Mohammad Khubaib Nasir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 10:15:03