从插件向用户显示警告(NOT error)消息

问题描述 投票:3回答:3

在我正在研究的CRM解决方案中,有一种情况是,在提交特定表单后,用户需要根据插件执行结果显示警告消息。该操作仍应成功完成,因此从插件中抛出异常不是一个好的解决方案。

从搜索周围来看,似乎没有一种直接的方式来做到这一点。

是将警告消息内容保存到某个实体上的自定义字段并在表单上使用javascript函数来确定何时将其显示给用户的唯一选项吗?

javascript plugins dynamics-crm crm
3个回答
3
投票
  1. 使用您的插件当前正在执行的业务逻辑实现自定义工作流活动。
  2. 创建并激活使用该工作流活动的操作。
  3. 编写与表单的OnSave事件关联的JS函数,该事件通过执行WebApi request来调用此操作。最后,在处理操作后,您可以调用开箱即用的setFormNotification客户端API,以在表单顶部创建自定义警告消息。

您将得到一个很好的自定义消息,如下所示:

enter image description here


1
投票

是的,没有直接的方式。

您可以在同一实体记录上有一个虚拟字段,根据您的警告消息需要从插件中设置/更新该字段值,并且在成功插件执行时将在UI中触发该字段的onChange

您可以从该onChange处理程序向用户显示消息。 Read more

Documentation说:

Field OnChange事件

检索服务器上的数据更改以在刷新表单时更新字段时也会发生此事件,例如在保存记录之后。

这样你就可以在不抛出InvalidPluginExecutionException的情况下成功执行插件,可以避免自定义实体,自定义Action等


1
投票

那么你可以使用Actions。

使用输出参数创建操作。在自定义消息(操作)中注册您的插件。使用表单上的JavaScript on Save事件调用Action。您将在JavaScript中收到来自操作的输出,同样可以在表单中显示。

我们知道我们可以使用JavaScript显示通知,我们正在调用动作,它将执行注册到自定义消息的插件,您将获得Javascript变量中的输出,您只能使用Javascript显示。

请参阅此链接以使用操作。 https://www.magnetismsolutions.com/blog/dominicjarvis/2017/09/18/how-to-trigger-plugins-on-custom-messages-using-actions-in-dynamics-365

© www.soinside.com 2019 - 2024. All rights reserved.