Dynamics crm 2011 通过javascript从插件返回Microsoft Dynamics CRM显示错误

Dynamics crm 2011 通过javascript从插件返回Microsoft Dynamics CRM显示错误,dynamics-crm-2011,dynamics-crm,dynamics-crm-online,dynamics-crm-2013,Dynamics Crm 2011,Dynamics Crm,Dynamics Crm Online,Dynamics Crm 2013,我正在使用Microsoft Dynamics CRM(非本地) 2014年春季Microsoft Dynamics®CRM在线版(6.1.0.575) 通过javascript SDK调用创建一个实体,该实体触发一个插件。我们在预验证中对插件进行自定义验证 Javascript从这里创建调用示例-> 然后我可以使用errorHandler函数处理错误,如下所示: function errorHandler(error) { writeMessage(error.message); }

我正在使用Microsoft Dynamics CRM(非本地)

2014年春季Microsoft Dynamics®CRM在线版(6.1.0.575)

通过javascript SDK调用创建一个实体,该实体触发一个插件。我们在预验证中对插件进行自定义验证

Javascript从这里创建调用示例->

然后我可以使用errorHandler函数处理错误,如下所示:

function errorHandler(error) {
   writeMessage(error.message);
}
但是,我试图从InvalidPlugineExecutionException获取要在CRM错误对话框中显示的错误。当我从表单创建实体时,它会显示它,但当我通过javascript调用时,似乎无法在CRM错误对话框中显示它。我希望保留CRM主题,而不是在javascript中使用alert(),并让用户能够下载我们发送回的完整异常


是否可以在CRM中调用dlg_error.aspx页面并用错误消息填充它?我现在正在抓救命稻草,任何事情都会有很大帮助。谢谢

您可以尝试执行一个同步jQuery ajax方法,而不捕获错误,看看会发生什么。在使用CRM服务的RESTful端点时,我不确定是否会以相同的方式升级错误。如果您想尝试自己打开错误对话框,请尝试使用Fiddler。使用新的同步工作流功能也可以做到这一点。

如果您使用的是CRM 2013,我建议您使用工作流而不是JavaScript来创建记录

  • 创建新工作流并取消勾选复选框“在后台运行此工作流(推荐)”
  • 从新创建的工作流创建记录
  • 保存并发布记录
  • 现在转到功能区并选择“运行工作流”
  • 选择新创建的工作流并单击“添加”
  • 如果插件抛出错误,它将显示在标准CRM错误对话框中,允许您下载日志文件

  • 您不能使用自定义工作流或插件来创建实体记录,而不是使用JavaScript!javascript触发了我们的插件,同样的事情也必须通过工作流来完成。因此,插件是通过对实体(如创建、更新或删除)的操作触发的。以下是如何触发工作流可能有一种启动工作流的方法,但它仍然需要通过javascript,据我所知,感谢您的回复!不,启动工作流不需要JavaScript。创建“按需运行”工作流。在功能区中,您可以选择运行工作流。我不知道您运行Javascript的操作是什么(加载、保存、更改或单击功能区按钮)。请你解释一下,好让我理解你想要达到的目标。考虑到这可能有效,我将试一试。最终目标是让我的插件在CRM错误对话框中显示一个异常,并带有跟踪文件的下载按钮。我在一个实体上创建了一个插件,现在我正在用javascript创建这个实体。但我会尝试一下工作流的想法,让你知道这是怎么回事。谢谢Worflow不会完全按照插件抛出的方式显示错误。您必须转到进程以获取错误详细信息。
    function errorHandler(error) {
       writeMessage(error.message);
    }