防止在插件中创建

Mit*_*ité 2 dynamics-crm-2011

我在预创建服务活动中注册了一个插件.在插件中,我检查了一些条件,如果满足,我想停止创建服务活动.而不是那个服务活动,我想创建另外两个将是替代品.但我不希望用户收到所有这些通知.

有没有办法在CRM 2011上的插件中停止创建SA记录?

Pet*_*eed 5

因此,如果用户通过Dynamics CRM GUI触发创建服务活动,则通常会保存表单(通过发送内部信息UpdateRequest),然后通过另一次访问数据库进行刷新.如果您通过插件删除了两个事件之间的记录,则肯定会通过标准"无法找到记录"错误消息通知用户.在这种情况下,在插件中抛出一个阻止创建记录的异常等同于将通知用户,但至少他会看到一个可自定义的消息,或许告诉他为什么保存不起作用.

在我看来,通过插件处理此问题的最佳方法是

  1. 检查你的条件.
  2. 更改(不删除)现有的保存服务活动,以匹配您要创建的其他服务活动之一的条件.这样就不会有任何不必要的删除.
  3. 创建其他服务活动.
  4. 使用现在更改的服务活动刷新表单后,您可以在javascript中执行任何操作(打开其他记录,关闭当前记录等).

如果你可以控制GUI,你可以做一些不同的事情(例如,删除记录后操作,虽然这仍然会导致一个额外的和不必要的数据库操作),并且你总是可以使用javascript进行客户端验证.

还有一点:我还必须从用户的角度添加它,保存记录然后不立即看到它将构成意外的CRM行为.如果发生这样的事情,我至少会期望接受关于CRM部分如何工作的一些培训或者事实上发生了根本不同的事情的通知.