由于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'
有没有人有任何想法?
答案 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的速度更快。