FetchXML Локализация
У меня есть запрос 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>
2 ответа
Работа с 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).
Когда вы используете FetchXML в C#, метод IOrganizationService.RetrieveMultiple
вернусь Entity
объекты. Entity
класс имеет FormattedValues
коллекция, содержащая отображаемые значения.
Все значения возвращаются в соответствии с языком и настройками форматирования пользователя, от имени которого запрашивается система.
Я согласен с Хенком ван Бойеном. Я хотел бы добавить, что если вы используете конечную точку 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