如何在Dynamics CRM 2011中获取每个帐户的活动?

伊万·比兰

我正在使用此C#SDK从Dynamics CRM 2011中获取数据:https//msdn.microsoft.com/zh-cn/library/gg695803(v = crm.5).aspx

我需要从中读取所有帐户并读取与之关联的活动(实际上,只有最后一个已关闭和未完成的活动)。

要获取帐户,我使用以下代码:

var accounts = xrm.AccountSet
                .Select(acc => new
                {
                    name = acc.Name,
                    guid = acc.AccountId,
                    parent = acc.ParentAccountId,
                    number = acc.AccountNumber,
                    website = acc.WebSiteURL,
                });

在以下问题中提出了这种建议:通过C#检索CRM中所有帐户的列表?

问题是,我找不到获取活动的方法。是否有与“活动”相关的字段?在Dynamics CRM 2011解决方案中,我只能找到一个单独的活动实体,它具有自己的字段。

我也是C#的新手。

编辑:多亏了乔迪,我现在似乎能够使用以下方法获得特定类型的活动:

public class AccountTask
        {
            public string account;
            public string task;
        }

var accountsAndTasks = (from t in xrm.CreateQuery<Task>() join a in xrm.CreateQuery<Account>() on t.RegardingObjectId.Id equals a.AccountId select new AccountTask {

               account = a.Name,
               task = t.OwnerId.Name.ToString()
}).ToList();

现在,有没有一种方法可以一次获取每个帐户的所有活动类型?

并且,是否有可能只为每个帐户获取最新的未结清和结清活动?

亚历克斯

RegardingObjectId字段是将活动实体记录与帐户实体记录相关联的字段之一。
您可以这样获取activity实体记录:

var activityBaseList = serviceContext.CreateQuery<Activity>()
            .Where(x => x.RegardingObjectId.Id == accountId).ToList();

这是一个基本实体,具有有关活动的基本信息如果您需要有关每个活动记录的更多信息(大多数情况下确实需要),那么您将不得不使用不同的活动类型进行多个查询。像这样:

var emailActivityList = serviceContext.CreateQuery<Email>()
            .Where(x => x.RegardingObjectId.Id == accountId).ToList();
var taskActivityList = serviceContext.CreateQuery<Task>()
            .Where(x => x.RegardingObjectId.Id == accountId).ToList();
//and so on

我更喜欢使用QueryBase请求,因为在这种情况下,您可以将查询合并到一个ExecuteMultipleRequest调用中IOrganizationService以提高性能,但是要注意限制:有关ExecuteMultipleRequest限制的信息

更新

我没有在底部看到您的其他问题。如果只需要打开活动,则需要添加x.StateCode == 0到上面编写的每个查询中;如果只需要关闭活动,则需要添加x.StateCode == 2例如,仅检索打开的电子邮件活动:

var emailActivityList = serviceContext.CreateQuery<Email>()
            .Where(x => x.RegardingObjectId.Id == accountId && x.StateCode == 0).ToList();

这是所有实体的所有开箱即用状态代码和状态的列表

如果您需要检索,假设仅最近的未完成活动(您将定义自己需要多久的活动),请拨打以下电话:

var createdOnFilter = DateTime.Now.AddDays(-1); //change it as you need it
var emailActivityList = serviceContext.CreateQuery<Email>()
            .Where(x => x.RegardingObjectId.Id == accountId && 
                        x.StateCode == 0 && 
                        x.CreatedOn >= createdOnFilter)
            .ToList();

这是一个非常基本的代码,并且在Web上有很多有关它的信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Dynamics CRM中更改导航

来自分类Dev

如何在Microsoft Dynamics CRM 2016中提取活动或非活动帐户?

来自分类Dev

如何在Dynamics CRM中操作HTML-Webresource

来自分类Dev

如何在CRM Dynamics中显示网页/网络资源?

来自分类Dev

如何在Microsoft Dynamics CRM 2011中实现字段级安全

来自分类Dev

如何在Microsoft Dynamics CRM 2011中使用jquery和webresource?

来自分类Dev

如何在Dynamics CRM中在线检查CRM数据库大小实体?

来自分类Dev

如何在 Dynamics CRM 365 中为“CallFrom”和“CallTo”创建电话活动记录

来自分类Dev

与CRM Explorer断开连接-Dynamics CRM 2011

来自分类Dev

如何加快Microsoft Dynamics CRM 2011中的查询

来自分类Dev

如何在工作流中获取当前日期(Dynamics CRM 2016)

来自分类Dev

在Dynamics CRM中,如何更新CreatedOn日期?

来自分类Dev

在线Dynamics CRM 2011:如何从插件中的对话框获取用户响应

来自分类Dev

如何在Dynamics CRM 2011中导出/导入业务部门和安全角色?

来自分类Dev

如何在Dynamics CRM 2013中编写自定义Web表单

来自分类Dev

如何在Dynamics CRM 2013中为实体记录存储多个图像?

来自分类Dev

如何在Microsoft Dynamics CRM 2013中正确嵌入iframe

来自分类Dev

如何在Dynamics CRM中的时区开始和结束夏令时?

来自分类Dev

如何在Microsoft Dynamics CRM 2015中创建供应商?

来自分类Dev

如何在Dynamics CRM 2015中进行列级加密?

来自分类Dev

如何在Dynamics CRM中删除已完成的批量删除系统作业

来自分类Dev

如何在MS Dynamics CRM中查找/查询Reporting Services SQL数据库

来自分类Dev

如何在 CRM Dynamics 中为自定义操作传递“目标”参数

来自分类Dev

如何在 Dynamics CRM 2016 中禁用基于表单的功能区按钮?

来自分类Dev

如何在 Dynamics crm 2016 中克隆记录(服务器端)?

来自分类Dev

如何在 MS Dynamics CRM 中创建操作和呼叫操作?

来自分类Dev

在CRM 2011 SQL中查找帐户的所有活动的位置

来自分类Dev

Dynamics CRM如何获取所有实体的列表

来自分类Dev

如何仅更新MS CRM Dynamics 2013中实体的StatusCode

Related 相关文章

  1. 1

    如何在Dynamics CRM中更改导航

  2. 2

    如何在Microsoft Dynamics CRM 2016中提取活动或非活动帐户?

  3. 3

    如何在Dynamics CRM中操作HTML-Webresource

  4. 4

    如何在CRM Dynamics中显示网页/网络资源?

  5. 5

    如何在Microsoft Dynamics CRM 2011中实现字段级安全

  6. 6

    如何在Microsoft Dynamics CRM 2011中使用jquery和webresource?

  7. 7

    如何在Dynamics CRM中在线检查CRM数据库大小实体?

  8. 8

    如何在 Dynamics CRM 365 中为“CallFrom”和“CallTo”创建电话活动记录

  9. 9

    与CRM Explorer断开连接-Dynamics CRM 2011

  10. 10

    如何加快Microsoft Dynamics CRM 2011中的查询

  11. 11

    如何在工作流中获取当前日期(Dynamics CRM 2016)

  12. 12

    在Dynamics CRM中,如何更新CreatedOn日期?

  13. 13

    在线Dynamics CRM 2011:如何从插件中的对话框获取用户响应

  14. 14

    如何在Dynamics CRM 2011中导出/导入业务部门和安全角色?

  15. 15

    如何在Dynamics CRM 2013中编写自定义Web表单

  16. 16

    如何在Dynamics CRM 2013中为实体记录存储多个图像?

  17. 17

    如何在Microsoft Dynamics CRM 2013中正确嵌入iframe

  18. 18

    如何在Dynamics CRM中的时区开始和结束夏令时?

  19. 19

    如何在Microsoft Dynamics CRM 2015中创建供应商?

  20. 20

    如何在Dynamics CRM 2015中进行列级加密?

  21. 21

    如何在Dynamics CRM中删除已完成的批量删除系统作业

  22. 22

    如何在MS Dynamics CRM中查找/查询Reporting Services SQL数据库

  23. 23

    如何在 CRM Dynamics 中为自定义操作传递“目标”参数

  24. 24

    如何在 Dynamics CRM 2016 中禁用基于表单的功能区按钮?

  25. 25

    如何在 Dynamics crm 2016 中克隆记录(服务器端)?

  26. 26

    如何在 MS Dynamics CRM 中创建操作和呼叫操作?

  27. 27

    在CRM 2011 SQL中查找帐户的所有活动的位置

  28. 28

    Dynamics CRM如何获取所有实体的列表

  29. 29

    如何仅更新MS CRM Dynamics 2013中实体的StatusCode

热门标签

归档