[英]Get updated records from Dynamics CRM 2011 via SOAP
我們正在使用PHP和SOAP(NuSOAP)在Dynamics CRM 2011系統上編寫Web前端。 在此過程中,我們需要檢索自上次導入以來已更新的實體。
我環顧了現有的CRM前端,以查看是否有任何提示可以作為要添加的條件,但無濟於事。
標准查詢的xml如下所示:
<RetrieveMultiple xmlns="http://schemas.microsoft.com/crm/2007/WebServices">
<query xmlns:q1="http://schemas.microsoft.com/crm/2006/Query" xsi:type="q1:QueryExpression">
<q1:EntityName>new_arrangement</q1:EntityName>
<q1:ColumnSet xsi:type="q1:ColumnSet">
<q1:Attributes>
<q1:Attribute>subject</q1:Attribute>
<q1:Attribute>activitytypecode</q1:Attribute>
<q1:Attribute>regardingobjectid</q1:Attribute>
<q1:Attribute>scheduledstart</q1:Attribute>
<q1:Attribute>scheduledend</q1:Attribute>
</q1:Attributes>
</q1:ColumnSet>
<q1:Criteria>
<q1:FilterOperator>And</q1:FilterOperator>
<q1:Condition>
<q1:AttributeName>statecode</q1:AttributeName>
<q1:Operator>Equal</q1:Operator>
<q1:Values>
<q1:Value xsi:type="xsd:string">Open</q1:Value>
</q1:Values>
</q1:Condition>
</q1:Conditions>
</q1:Criteria>
<q1:Orders>
<q1:Order>
<q1:AttributeName>subject</q1:AttributeName>
<q1:OrderType>Ascending</q1:OrderType>
</q1:Order>
</q1:Orders>
<q1:Distinct>false</q1:Distinct>
<q1:PageInfo>
<q1:PageNumber>1</q1:PageNumber>
<q1:Count>20</q1:Count>
</q1:PageInfo>
</query>
因此,我正在尋求有關應添加為條件的屬性的幫助。
如果您的應用程序可以記住上一次導入的日期和時間,那么您應該能夠通過選中Modified On字段來獲取所有新記錄,我相信每個實體都可以。
我認為您將需要這樣的查詢(但當然要使用XML)。
DateTime lastImportDate = ...;
QueryExpression q = new QueryExpression("contact");
q.Criteria.FilterOperator = LogicalOperator.And;
q.Criteria.AddCondition(new ConditionExpression("statecode", ConditionOperator.Equal, "Open"));
q.Criteria.AddCondition(new ConditionExpression("modifiedon", ConditionOperator.GreaterThan, lastImportDate);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.