我想执行以下操作:

当一个销售者分配一个自定义实体(我们称之为“主专长”)以在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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top