我有一個應用程序使用MS-CRM 2011 Web服務檢索crm實體上的最後更改。此應用程序使用Windows Mobile設備同步上次數據更改。 同步操作每20分鐘定期進行一次。在每次同步操作中,我想通過檢查實體的'modifiedon'字段來檢索先前更新中發生的更改。 問題在於,CRM查詢不使用DateTime對象的時間片段,並且返回了傳遞的DateTime參數的所有更改。檢索查詢時間範圍(FetchXML/QueryExpression)
我會檢查FetchXML和QueryExpression,沒有什麼不同。 有什麼辦法來創建一個查詢運行在Crm WebService上,從指定的日期和時間返回修改的記錄?
樣品(我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月12日00返回所有修改的記錄:00。
感謝您的回覆。 '23:59'是一個示例,顯示CRM不使用時間,並且在此時間(在選定日期)之前更改的所有記錄都會返回。我需要一個查詢(或高級查找),可以讓實體在一天內的兩次之間修改。 (2012/11/12 00:00至2012/11/12 23:58之間的樣本變更實體不應在結果集中) – Behnam
可能需要創建自定義工作流併爲我的實體創建一個新字段(像ModifiedOnTicks),當實體'modifiedon'字段發生變化時,工作流程將運行並計算其值Ticks並存儲在該字段中,但看起來這將成爲一個循環。 – Behnam
您對時間被忽略([見這裏](http://social.microsoft.com/Forums/uk/crmdevelopment/thread/c5083689-65fb-474f-a7bc-2eff393016fe))是正確的。關於維護Ticks - 如果你把它放在一個預創建和更新前的插件中,你可以將該值作爲事務的一部分注入,從而不會導致後續更新,希望這是有道理的。 –