3

プラグイン内でこの単純なクエリを実行しています:

QueryExpression query = new QueryExpression(hb_aula.EntityLogicalName);
query.ColumnSet = new ColumnSet(true);

query.Criteria = new FilterExpression(LogicalOperator.And);
query.Criteria.Conditions.Add(new ConditionExpression("hb_datafim", ConditionOperator.NotOn, DateTime.Now));

EntityCollection ent = service.RetrieveMultiple(query);

hb_aula日付フィールドが今日ではないすべてのレコードを取得しようとしている場合hb_datafim(または他の特定の日付DateTime.Nowは単なる例です)。

これを実行すると、エラーが発生します

不明な条件演算子: NotOn。

何か間違ったことをしていますか、それとも CRM 2011 の未完成の機能ですか?

4

1 に答える 1

2

私はあなたのユースケースについていくつかのテストを行い、同じ結果を得ました. これはおそらく SDK で未完成だったようです。次の回避策を使用することをお勧めします-

DateTime today = DateTime.Now;
DateTime yesterday = today.AddDays(-1);
DateTime tomorrow = today.AddDays(1);
FilterExpression filter = new FilterExpression(LogicalOperator.Or);
filter.AddCondition("createdon", ConditionOperator.OnOrBefore, yesterday);
filter.AddCondition("createdon", ConditionOperator.OnOrAfter, tomorrow);
QueryExpression query = new QueryExpression("contact")
    {
        ColumnSet = new ColumnSet(true),
        Criteria = filter
    };

EntityCollection ent = service.RetrieveMultiple(query);
于 2012-10-31T22:11:34.987 に答える