【发布时间】:2014-07-09 04:40:37
【问题描述】:
我编写了一个程序,可以从 Dynamics CRM 2013 在线获取数据。但是我遇到了一个问题,即获取帐户活动的查询仅返回一个子集而不是所有活动。查询表达式是这样的
private QueryExpression CreateActivityQuery(Guid id)
{
QueryExpression query = new QueryExpression()
{
Distinct = true,
EntityName = Cd2Sf.ActivityPointer.EntityLogicalName,
ColumnSet = new ColumnSet(true)
};
query.Criteria = new FilterExpression();
query.Criteria.AddCondition("regardingobjectid", ConditionOperator.Equal, id);
return query;
}
其中 id 是帐户 ID。我首先尝试使用派对 id 等于帐户 id 的活动方,然后尝试使用 aboutobjectid,最后尝试使用扩展相关实体的 Rollup 方法,但都产生相同的结果。
#region Create RollupRequest
// Create RollupRequest
RollupRequest rollupRequest = new RollupRequest();
rollupRequest.Query = qexp;
rollupRequest.Target = new EntityReference("account", acct.Id);
rollupRequest.RollupType = RollupType.Extended;
#endregion Create RollupRequest
#region Execute RollupRequest
// Execute RollupRequest
RollupResponse rollupResponse = (RollupResponse)service.Execute(rollupRequest);
#endregion Execute RollupRequest
#region Show RollupResponse results
ShowActivities(rollupResponse.EntityCollection, percent);
#endregion Show RollupResponse results
我是否还需要使用联系人来获取与帐户关联的所有活动,即使用活动方并将收件人/发件人/cc/bcc/etc 与帐户的联系人匹配?我曾尝试使用联系人 ID 作为相关对象 ID,但这仍然不能解释所有活动。
在查看帐户和该页面上的活动时,动态 crm online 的网页似乎比上述查询单独获得的要多。
我如何获得其他活动,那些似乎与帐户没有直接关系的活动?
【问题讨论】: