【问题标题】:How to get all contacts of an Account and build an email List in MS Dynamics CRM?如何在 MS Dynamics CRM 中获取帐户的所有联系人并建立电子邮件列表?
【发布时间】:2017-10-29 05:04:36
【问题描述】:

我有一个帐户 ID,并希望获取该帐户下的联系人集合以构建电子邮件列表。


    //build up Email
    private Email BuildEmail(ActivityParty allcontacts){.... build my emailhere}

    private List<Entity> GetAllContactsFromAccountId(Guid accountId, List<Entity> toList)
    {          

        //how can I get all the contacts here
        foreach (Entity contact in Account.Contact.Entities)//????
        {
            Entity activityParty = new Entity("activityparty");
            activityParty["partyid"] = new EntityReference("??", e.Id);

            if (toList.Any(t => t.GetAttributeValue<EntityReference>("partyid").Id == e.Id)) continue;

            toList.Add(activityParty);
        }

        return toList;
    }

【问题讨论】:

    标签: c# dynamics-crm microsoft-dynamics dynamics-crm-2016


    【解决方案1】:

    您可以在联系实体中找到帐户键“parentcustomerid”。您可以通过以下帐户 ID 获取联系人集合。

      private EntityCollection getContactByAccountId(IOrganizationService service, Guid accountId)
        {
            QueryExpression query = new QueryExpression("contact");
            query.ColumnSet = new ColumnSet(new string[] { "contactid", "fullname" });
            query.Criteria.AddCondition(new ConditionExpression("parentcustomerid", ConditionOperator.Equal, accountId))
            return service.RetrieveMultiple(query);
        }
    

    【讨论】:

    • 感谢您的回复,但它给了我转换错误。例如什么时候,我在自定义工作流中将其作为 entitycollection 返回到 TargetOutput ref...(“联系人”)我得到并且错误无法将 entitycollection 转换为 entityreference
    • 我认为你可以使用 EntityCollection 类型的 Out put 参数。像 [Output("Contacts")] [ReferenceTarget("contact")] public OutArgument Contacts { get;放; }。显然你不能将 entityCollection 对象设置为 entityReference。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    相关资源
    最近更新 更多