【问题标题】:Retrieving all resources for a given ServiceAppointment with Odata使用 Odata 检索给定 ServiceAppointment 的所有资源
【发布时间】:2017-05-26 19:25:13
【问题描述】:

给定一个特定的活动,假设它是 ServiceAppointment,我们如何检索与其关联的所有资源?

我知道ActivityPartySet 存储了活动和partyid 之间的关系。

每个ServiceAppointment 可能有1 个或多个资源。每个资源都有一个partyid。

是否可以使用odata (OrganizationData.svc) 来检索特定 ServiceAppointmnet 的所有资源?

我尝试使用odata query designer 来生成查询,但没有成功。

如何使用 odata 检索指定活动的所有资源?

【问题讨论】:

    标签: c# .net odata dynamics-crm-2011 crm


    【解决方案1】:

    您可以使用以下高级查找查询检索用户类型的所有资源:

    如您所见,我们需要过滤两件事:Service Activity (serviceappointment) 的 guid 和 Activity Party 的参与类型(否则我们会同时获得资源和所有者)。

    我们不能在 OData 中同时满足这两个条件。我们能得到的最接近的是如下所示:

    OrganizationData.svc/ActivityPartySet?
    $select=PartyId&
    $filter=serviceappointment_activity_parties/ActivityId eq (guid'<guid-here>')
    

    此查询检索与给定服务活动相关的所有活动方。不幸的是,查询包括资源以及服务活动的所有者。如果这是不可接受的,您应该考虑使用其他 Web 服务之一进行查询。

    【讨论】:

    • 非常感谢,在尝试从 activityparty 检索时,我收到以下消息:“错误”:“'Retrieve' 方法不支持 'activityparty' 类型的实体。”,跨度>
    • 此外,资源可以是用户和设施/设备:“在 Microsoft Dynamics CRM 中,资源被归类为用户或设施/设备。” - msdn.microsoft.com/en-us/library/gg328023(v=crm.5).aspx
    • 该错误来自组织服务。您询问了 OData(组织数据服务)。我看到您创建了另一个关于使用组织服务检索活动方的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    • 2022-08-15
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 2015-04-13
    • 2011-03-14
    相关资源
    最近更新 更多