我可以限制某些用户执行的CRM工作流程

时间:2014-11-12 10:18:27

标签: dynamics-crm-2011 dynamics-crm microsoft-dynamics dynamics-crm-2013

我想限制我的CRM工作流程由某些用户执行。 我已经尝试将工作流程的范围扩展到用户'级别并与用户共享工作流程。

2 个答案:

答案 0 :(得分:2)

您可以这样做,但必须将逻辑内置到工作流代码中。

这将为您提供执行工作流程的用户的GUID:

IWorkflowContext context = executionContext.GetExtension<IWorkflowContext>();
var userId = context.InitiatingUserId;

从此处您可以根据用户停止/继续。

对于数据驱动的解决方案,您可以构建逻辑以仅基于条件继续;例如用户被分配到某个角色。

修改(根据我的评论)

或者,您可以创建返回执行用户的工作流程。这样您就不必将规则编码到工作流源中,而是可以根据“获取执行用户”工作流的返回值在工作流编辑器中添加停止条件。

有人已编写代码来执行此操作:http://www.crmanswers.net/2013/10/get-current-user-inside-workflow.html

答案 1 :(得分:0)

您还可以将工作流的范围设置为业务单位或父级:子业务单位。但是,这不太可能是改变组织在CRM中的结构的一个很好的理由。

http://blog.profad.com/crm-3/defining-scope-using-workflows-in-microsoft-dynamics-crm-2011/