1

(英語がおかしいのでごめんなさい)crmエンティティの最後の変更を取得するためにMS-CRM2011Webサービスを使用するアプリケーションがあります。このアプリケーションは、最後のデータ変更をWindowsMo​​bileデバイスと同期します。同期操作は20分ごとに定期的に行われます。各同期操作で、エンティティの「modifiedon」フィールドをチェックして、以前の更新から発生した変更を取得したいと思います。問題は、CRMクエリがDateTimeオブジェクトのTimeピースを使用せず、渡されたDateTimeパラメータの先頭からのすべての変更が返されることです。

FetchXMLとQueryExpressionの両方をチェックしますが、違いはありません。指定された日時から変更されたレコードを返すCrmWebServiceで実行するクエリを作成する方法はありますか?

サンプル(My FetchXml):

<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
<entity name='new_brand'>
<attribute name='new_brandname' />
<attribute name='new_pdanumber' />
<filter type='and'>
<condition attribute='modifiedon' operator='on-or-after' value='2012/11/12 23:59'/>
</filter>
</entity>
</fetch>

コードでは、2012/11/12 23:00からのすべての変更されたエンティティが必要ですが、crmは2012/11/1200:00からのすべての変更されたレコードを返します。

4

3 に答える 3

0

コードは23:59以降に変更されたレコードを探しています...文書化された結果は正しいように聞こえます。

いずれにせよ、時間の部分使用されますが、ユーザー時間とユニバーサル時間の結果が表示されているのではないかと思います。ユーザーのタイムゾーンオフセット!= 0の場合、UIでユーザーが選択した真夜中は、データベースに保存されているUSTと同等の値とは異なります。

于 2012-11-20T08:15:58.833 に答える
0

現在、最も古いDynamics CRM 2011組織で同じ問題が発生しています。比較の前後では、時刻は比較されず、日付のみが比較されます。graterまたはequal(fetchxmlの「ge」)を使用してみてください。

于 2015-11-26T08:10:47.277 に答える
0

エンティティに新しいフィールド(ModifiedOnTickと呼ばれる)を追加し、このフィールドに固定の日付(2011-01-01)を使用して時間差をミリ秒単位で記録します。

于 2016-04-27T19:39:15.453 に答える