0

我有一个 FetchXML 查询,它为我的门户返回正确的实体。

如何获取存储在我的 CRM 中的翻译值

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
    <entity name="testentity">
        <attribute name="xyz_testclassification" />
        <attribute name="xyz_schemaname" />
    </entity>
</fetch>
4

2 回答 2

0

我同意 Henk van Boeijen 的观点。我想补充一点,如果您使用 Web Api 端点,也可以通过在请求的标头中添加“Prefer: odata.include-annotations="OData.Community.Display.V1.FormattedValue" 来实现。

HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
Preference-Applied: odata.include-annotations="OData.Community.Display.V1.FormattedValue"

{
 "@odata.context": "[Organization URI]/api/data/v8.2/$metadata#accounts(name,donotpostalmail,accountratingcode,numberofemployees,revenue)",
 "value": [
 {
  "@odata.etag": "W/"502170"",
  "name": "Fourth Coffee (sample)",
  "donotpostalmail@OData.Community.Display.V1.FormattedValue": "Allow",
  "donotpostalmail": false,
  "accountratingcode@OData.Community.Display.V1.FormattedValue": "Default Value",
  "accountratingcode": 1,
  "numberofemployees@OData.Community.Display.V1.FormattedValue": "9,500",
  "numberofemployees": 9500,
  "revenue@OData.Community.Display.V1.FormattedValue": "$100,000.00",
  "revenue": 100000,
  "accountid": "89390c24-9c72-e511-80d4-00155d2a68d1",
  "transactioncurrencyid_value": "50b6dd7b-f16d-e511-80d0-00155db07cb1" } ]
}

更多详情:https ://msdn.microsoft.com/en-us/library/gg334767.aspx

于 2018-07-18T20:40:35.200 回答
0

使用 XML 并假设属性“xyz_testclassification”是一个选项集类型,您的 FetchXML 查询可能会返回如下结果集:

<resultset morerecords="0">
  <result>
    <xyz_testclassification name="Option One" formattedvalue="10003">10003</xyz_testclassification><xyz_schemaname>One</xyz_schemaname>
  </result>
  <result />
  <result>
    <xyz_testclassification name="Option Two" formattedvalue="10004">10004</xyz_testclassification><xyz_schemaname>Two</xyz_schemaname>
  </result>
  <result>
    <xyz_testclassification name="Option Three" formattedvalue="10001">10001</xyz_testclassification><xyz_schemaname>Three</xyz_schemaname>
  </result>
</resultset>

这里的 XML 属性“名称”包含选项值的显示名称。属性“formattedvalue”仅对数字属性有用(int、decimal、double、money)。

在 C# 中使用 FetchXML 时,方法IOrganizationService.RetrieveMultiple将返回Entity对象。该类Entity有一个FormattedValues包含显示值的集合。

所有值均根据代表系统查询的用户的语言和格式设置返回。

于 2018-07-17T06:23:05.230 回答