1

我正在尝试编写一个在创建帐户时触发的插件。如果有原始潜在客户,我想获取潜在客户中的公司名称并将其放在帐户名称字段中。我不知道该怎么做是从领导实体那里获取信息。

我有以下代码(我会不断更新)...

Entity member = service.Retrieve("lead", 
    ((EntityReference)account["originatingleadid"]).Id, new ColumnSet(true));

if (member.Attributes.Contains("companyname"))
{
    companyName = member.Attributes["companyname"].ToString();
}

if (context.PostEntityImages.Contains("AccountPostImage") &&
    context.PostEntityImages["AccountPostImage"] is Entity)
{
    accountPostImage = (Entity)context.PostEntityImages["AccountPostImage"];

    companyName = "This is a test";

    if (companyName != String.Empty)
    {
        accountPostImage.Attributes["name"] = companyName;
        service.Update(account);
     }
 }
4

2 回答 2

1

潜在客户是否与帐户相关联?只需使用 IOrganizationService.Retrieve 方法来检索正确的潜在客户(假设您具有来自帐户实体的潜在客户 ID)..

在插件的执行方法中创建组织服务。

http://msdn.microsoft.com/en-us/library/gg334504.aspx

这里还有一个编写插件的好例子:

http://mscrmkb.blogspot.co.il/2010/11/develop-your-first-plugin-in-crm-2011.html?m=1

于 2013-02-27T22:21:58.673 回答
1

我暂时不会破坏你的乐趣,但总体思路是:

  1. 抓住Create的消息。
  2. 从您的实体(即您创建的帐户)中提取 guid 。
  3. 从其EntityReference获取 guid (这是您的线索)。
  4. 从中读取适当的字段。
  5. 更新您帐户中的名称字段。
  6. 存储信息。

哪个步骤给您带来了问题?:)
与往常一样,我建议在 fetchXML 之前使用查询表达式。YMMV

于 2013-02-27T23:11:33.313 回答