如何使用工作流来分享MS Dynamics CRM中记录
-
10-07-2019 - |
题
我想执行以下操作:
当一个销售者分配一个自定义实体(我们称之为“主专长”)以在MS CRM 4.0中的机会,该系统将共享与被定义为相关的“主专长”的所有者的用户有机会记录。
我想通过工作流自动做到这一点,但无法找到工作流程的步骤,将实现这一目标。是的,我读了一些论坛,它实际上是不可能的呢,只能通过.NET程序集。
体验,任何人?
解决方案
正确,它是唯一可能经由.NET组件。然而,你可以(如果你使用CRM 4)已在工作流程的所有者更改为活动的业主和使用份额,前业主选项,以使您的自定义实体的老东家访问?
其他提示
它仅通过调用定制工作流活动是可能的。里面的自定义工作流活动,您可以通过配置调用 GrantAccessRequest和GrantAccessResponse 的 PrincipalAccess 对象。
请参阅详细,这里“共享对象”部分
如果你决定使用自定义插件,你的代码可能是这样的:
var rights = AccessRights.ReadAccess | AccessRights.WriteAccess;
var principalAccess = new PrincipalAccess
{
// Gives the principal read write access
AccessMask = rights,
// Set the PrincipalAccess Object's Properties
Principal = sharingTarget.Key
};
// Create the Request Object
var grantAcessRequest = new GrantAccessRequest();
// Set the Request Object's properties
grantAcessRequest.PrincipalAccess = principalAccess;
// Set the Target. In my case it is account record
var entityReference = new EntityReference(localContext.PluginExecutionContext.PrimaryEntityName,
localContext.PluginExecutionContext.PrimaryEntityId);
//throw new InvalidPluginExecutionException("EntityReference");
grantAcessRequest.Target = entityReference;
// Execute the Request
localContext.OrganizationService.Execute(grantAcessRequest);
不隶属于 StackOverflow