none
关于Dynamics 2015中 每次最大取得数据数设置,目前最大数据5000,如何设置更大?

    问题

  • 关于Dynamics 2015中 每次最大取得数据数设置,目前最大数据5000,如何设置更大?

    因为有时需要批量发Mail,想问如何设置更大?

    2017年4月20日 3:09

全部回复

  • 如果你是采用.NET语言写的代码程序,可以参考下面的代码,QueryExpression可以设置页码信息,然后循环反复取得数据,存入数据集合中。

            /// <summary>
            /// 
            /// </summary>
            /// <param name="EntityName"></param>
            /// <param name="service"></param>
            /// <returns></returns>
            private static EntityCollection GetAllEntityCollection(string EntityName, OrganizationService service)
            {
                QueryExpression query = new QueryExpression();
    
                query.EntityName = EntityName;
                query.ColumnSet.AddColumn(EntityName + "id");
    
                query.PageInfo = new PagingInfo()
                {
                    Count = 5000,
                    PageNumber = 1,
                    PagingCookie = null
                };
    
                EntityCollection returnCollection = new EntityCollection();
    
                while (true)
                {
                    EntityCollection results = service.RetrieveMultiple(query);
    
                    if (results.Entities != null)
                    {
                        returnCollection.Entities.AddRange(results.Entities);
                    }
    
                    if (results.MoreRecords)
                    {
                        query.PageInfo.PageNumber++;
                        query.PageInfo.PagingCookie = results.PagingCookie;
                    }
                    else
                    {
                        break;
                    }
                }
    
                return returnCollection;
            }

    • 已建议为答案 reimei_ou 2017年4月20日 4:30
    2017年4月20日 4:30
  • 感谢您的回答,我没说清,我说的是系统提供的筛选,每次出的结果最多为5000
    2017年4月20日 4:54
  • 你是指数据在view页面(或者是查询结果页面)左下角显示的5000条数据结果的意思吗?

    如果是指上面的内容的话,那数据结果超过5000行时,数据是全部取得了(表示为5000+),需要一页一页去翻页来显示查询结果。

    如果不是上面所指的内容的话,能否请您更详细的述说一下您的问题(不太理解”系统提供的筛选”)。谢谢。




    2017年4月20日 5:14
  • 是的,就是系统提供的view,

    比如我的一个客户实体里,现在有10000条记录,我要群发mail的话,现在一次无论我加不加条件,最多一次就出5000条

    问题是,我现在客户记录里有几万条,我每次要挑好筛选条件,才能分出每次5000左右,还需要每次之间还没有拉下任何一条数据。。。找到这个数据条数分割条件很累。。。搞的群发一次要分着发好多次才行。。。

    2017年4月20日 6:07
  • 我这边使用的是online版(日语的),我这边操作页面时,使用邮件群发功能时,会有选择项来确定邮件发送地址的范围,分别是

    1.当前页面内所选择的数据

    2.当前页面内所有的数据

    3.所有页面内的所有数据

    按照我的理解,如果选择第三项的话,就是会把当前视图(View)条件下的所有数据作为邮件送信地址,不存在超没超过5000行的问题。

    没有能够理解您所描述的”现在一次无论我加不加条件,最多一次就出5000条”。

    根据您问题的描述,您使用的是on-premises版的dynamics,我没有使用过,但我觉得基本功能应该不会有大的区别,至于你说的最多显示5000行数据结果的问题,可能是on-premises版需要一些额外的设置?

    2017年4月20日 6:38