无法使用estimatedclosedate在Dynamics CRM“机会”事务类型上执行过滤

我正在使用QueryExpression为Dynamics crmfilter生成filter,然后将其传递给我的CRM服务以检索结果。

QueryExpression queryCRM = new QueryExpression { EntityName = SourceID, ColumnSet = new ColumnSet(FieldSet), Criteria = new FilterExpression() }; 

然后

 queryCRM.Criteria.AddCondition(strFilterColumnName,ConditionOperator.On , strFilterValue); 

在这里,我无法获取结果,任何人都可以帮我找出问题吗? 它不适用于“估计闭合”,除此之外,它适用于所有其他列。

注意:=最初它似乎是一个操作员问题所以我使用了“ConditionOperator.On”,所以它解决了我的事件问题,但没有机会。

需要CRM专家的解决方案。

谢谢。

strFilterValue是一个字符串吗? 尝试将此参数作为DateTime传递。 如果您可以完整地发布此部分代码,将会有所帮助。 以下是一些示例代码,演示了按估计结束日期过滤机会的用法。

  var estimatedCloseDate = DateTime.Parse("2014-10-07"); Guid createdId = Guid.Empty; Entity matchingEntity = null; try { // Create a test opp var opp = new Entity("opportunity"); opp["name"] = "Testing Date Filter"; opp["customerid"] = new EntityReference("account", Guid.Parse("b9b0ed35-2a11-4fb6-a56f-5b8c04a3c1d1")); // A valid customer opp["estimatedclosedate"] = estimatedCloseDate; createdId = _service.Create(opp); Console.WriteLine("Created Id: {0}", createdId); // Create the filter expression QueryExpression queryCRM = new QueryExpression { EntityName = "opportunity", ColumnSet = new ColumnSet(true) }; queryCRM.Criteria.AddCondition("estimatedclosedate", ConditionOperator.On, estimatedCloseDate); // Run the search and check for a match vs the record just created var results = _service.RetrieveMultiple(queryCRM); foreach (var result in results.Entities) { if (result.Id == createdId) { matchingEntity = result; } } // Survey says... Console.WriteLine(matchingEntity == null ? "Matching entity not found!" : "Matching entity found!"); } finally { // Delete the created opp if (createdId != Guid.Empty) { _service.Delete("opportunity", createdId); } }