如何在CRM 2011中使用Javascript和oData获取PartyList字段的值

时间:2013-08-23 07:32:32

标签: javascript dynamics-crm-2011 dynamics-crm odata

由于CRM 2011在线问题IE10,我们决定将所有前端JavaScript从Soap转换为oData。一切都很顺利,我安装了oData设计器,将查询集中在函数中,但是当我尝试检索 ServiceActivity 资源资源时遇到了问题。 / p>

我使用oData查询设计器获得的oData查询如下(guid是示例)

ServiceAppointmentSet?$ select = Resources& $ filter = ActivityId eq guid'83CA6B11-6C0A-E311-8BB5-B499BAFE71A5'

但是在响应中我收到错误,找不到Resources字段。

我尝试了没有select,并调试了返回的oData对象,但发现它没有显示ServiceActivity中的资源 Customers 部分列表字段。< / p>

ServiceAppointmentSet?$ filter = ActivityId eq guid'83CA6B11-6C0A-E311-8BB5-B499BAFE71A5'

有没有人有任何想法?

2 个答案:

答案 0 :(得分:5)

我相信您可以使用 $ expand 来获取资源 Customers ,以允许查询包含 serviceappointment_activity_parties

ServiceAppointmentSet(guid'83CA6B11-6C0A-E311-8BB5-B499BAFE71A5')?
  $select=
    serviceappointment_activity_parties/ParticipationTypeMask,
    serviceappointment_activity_parties/PartyId
  &$expand=serviceappointment_activity_parties

activityparty 的GUID位于 PartyId 中, ParticipationTypeMask 整数可让您找出它是什么类型的活动方例如, Customer 为11, Resource 为10. ParticipationTypeMask 映射的完整列表可以找到here

答案 1 :(得分:1)

大写问题往往会导致很多OData错误。此外,您是否尝试在LinqPad中创建查询(假设它不是CRM-Online)?我发现生成OData URL的速度更快。