[英]Not able to perform Filter on Dynamics CRM “Opportunity” transaction type with estimatedclosedate
我正在使用QueryExpression為Dynamics crm篩選器生成篩選器,然后將其傳遞給我的CRM制作的服務以檢索結果。
QueryExpression queryCRM = new QueryExpression
{
EntityName = SourceID,
ColumnSet = new ColumnSet(FieldSet),
Criteria = new FilterExpression()
};
接着
queryCRM.Criteria.AddCondition(strFilterColumnName,ConditionOperator.On , strFilterValue);
在這里我無法獲取結果,有人可以幫助我解決問題嗎? 它不適用於“ estimatedclosedate”,除此之外,它與所有其他列均能正常工作。
注意:=最初似乎是操作員問題,所以我使用了“ 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);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.