【问题标题】:Getting Opportunity (Opty) id and Opportunity name using QueryExpression使用 QueryExpression 获取机会 (Opty) id 和机会名称
【发布时间】:2017-05-29 03:47:48
【问题描述】:

我正在使用 Dynamics CRM 365。我使用查询表达式检索 Opty 名称和 Opty id(唯一)。

QueryExpression queryOnline = new QueryExpression("opportunity");
        queryOnline.Criteria = new FilterExpression();
        queryOnline.Criteria.AddCondition("createdon", ConditionOperator.LastXDays, hours);
        queryOnline.Criteria.AddCondition("statuscode", ConditionOperator.Equal, 1); // For Open Opportunity
        queryOnline.ColumnSet = new ColumnSet(true);

        EntityCollection entCol = _service.RetrieveMultiple(queryOnline);

        foreach (Entity presName in entCol.Entities)
{
//Get Opty ID and Name
}

现在我想创建SendEmailRequest 以发送我使用上述方法检索的机会记录。简而言之,我想使用以下格式创建SendEmailRequest

在电子邮件描述中(多行文本/字符串):

你有机会:

ID ||姓名

00001 ||打开 OPTY 名称

00002 ||打开 OPTY 名称

我已成功创建发送电子邮件请求,无论是否使用模板。但是当我想将查询表达式中的 opty 记录粘贴到电子邮件描述中时,我遇到了问题。其中电子邮件描述是字符串格式的“多行文本”字段。

【问题讨论】:

    标签: c# dynamics-crm-2011 dynamics-crm dynamics-crm-2013 dynamics-crm-online


    【解决方案1】:

    电子邮件描述字段接受 HTML 格式,您应该创建一个 HTML 电子邮件正文并将其传递给描述。对于机会值,将您的 ColumnSet 更改为:

    queryOnline.ColumnSet = new ColumnSet("name", "opportunityid");
    

    然后,你的 foreach 可能看起来像这样:

    string htmlDescription = "<ul>";
    foreach (Entity presName in entCol.Entities)
    {
      //Get Opty ID and Name
      htmlDescription += string.Format("<li>{0} || {1}</li>",  presName.Id, presName.GetAttributeValue<string>("name"));
    }
    
    htmlDescription += "</ul>";
    

    当然只是一个基本的例子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多