列出联系人的约会

时间:2014-08-22 21:22:16

标签: odata dynamics-crm dynamics-crm-online

我想列出联系人设置为必需参与方的约会。我在我的组织中运行以下查询。

服务终点设置如下。

https://bazinga/XRMServices/2011/OrganizationData.svc/AppointmentSet?

然后我将以下内容连接起来。

$select=
  ScheduledStart,
  ModifiedOn,
  appointment_activity_parties/PartyId
&$top=1000
&$filter=
  ModifiedOn gt DateTime'2014-08-21'
&$expand=appointment_activity_parties

这给了我一些约会的清单,当我调查内容时,我可以清楚地看到一个名为 PartId 的标签 Id Name 等等。信息。然后我手工检查我很好奇的联系人的指南,并在指定它的过滤器中添加另一个条件。

$select=
  ScheduledStart,
  ModifiedOn,
  appointment_activity_parties/PartyId
&$top=1000
&$filter=
  (ModifiedOn gt DateTime'2014-08-21') 
  and (appointment_activity_parties/PartyId eq guid'...')
&$expand=appointment_activity_parties

然而,愚蠢的组织服务表示没有属性 PartyId 存在。当我尝试添加 / Id 时,它会在查询时说明不支持复杂数据类型。我敢肯定这只是一个很小的语法,但几个小时后又生病了,累了。我错过了什么?!

1 个答案:

答案 0 :(得分:1)

您在[{1}}条款背后的方案是,您希望找到(appointment_activity_parties/PartyId eq guid'...') AppointmentsetPartyId等于某个GUID的约会。但是,如果其appointment_activity_parties任何PartyId等于该GUID,或者您希望仅在 appointment_activity_parties PartyId的所有等于该GUID。

任何所有差异在section 5.1.1.2 of OData V4 Protocol part 2: URL Conventions.

中指定

因此,您可以按如下方式重写查询:

appointment_activity_parties

您可以根据实际需要选择修改$select= ScheduledStart, ModifiedOn, appointment_activity_parties/PartyId &$top=1000 &$filter= (ModifiedOn gt DateTime'2014-08-21') and (appointment_activity_parties/any(a:a/PartyId eq guid'...')) &$expand=appointment_activity_parties any