12.08.2014, 16:36 | #1 |
Участник
|
Entity name на английском языке
Всем привет!
Столкнулся с такой проблемой. Есть FetchXML, который возвращает два атрибута activityid и activitytypecode из сущности activitypointer. При вызове из CRM приходит вот такой вот ответ: <activitytypecode name="Электронная почта" formattedvalue="4202">4202</activitytypecode>. Мне нужно вытащить атрибут name для самописной функции. Это у меня получилось сделать. Теперь внимание, знатоки, вопрос: как сделать так, что в Name название было на английском, а не на русском? Уже весь интернет перерыл, но ничего не нашел. Вот сам FetchXML: <fetch mapping="logical" count="50" version="1.0"> <entity name="activitypointer"> <attribute name="activityid" /> <attribute name="activitytypecode" /> <filter> <condition attribute="regardingobjectid" operator="eq" value="d70ecef1-b418-e411-a828-00155ddf410c" /> <condition attribute="statecode" operator="in"> <value>0</value> <value>3</value> </condition> </filter> </entity> </fetch> Result XML: <resultset morerecords="0" paging-cookie="<cookie page="1"><activityid last="{A30D19BD-C11E-E411-A828-00155DDF410C}" first="{9C0D19BD-C11E-E411-A828-00155DDF410C}" /></cookie>"> <result> <activityid>{9C0D19BD-C11E-E411-A828-00155DDF410C}</activityid> <activitytypecode name="Электронная почта" formattedvalue="4202">4202</activitytypecode> </result> <result> <activityid>{A30D19BD-C11E-E411-A828-00155DDF410C}</activityid> <activitytypecode name="Электронная почта" formattedvalue="4202">4202</activitytypecode> </result> </resultset> |
|
12.08.2014, 17:09 | #2 |
Участник
|
В настройках пользователя от которого идет fetch поменять язык на англ. но это не решение, так как вам нужен LogicalName, а не DisplayName.UserLocalizedLabel.Label на англ. языке
У вас возвращается код типа сущности 4202 которое равно Электронная почта или email, Задача - 4212 - task и т.д. Можно захардкорить все варианты, но это тоже не вариант так как при переносе решения не все варианты могут быть прописаны в коде . Потому нужно использовать MetaData RetrieveAllEntities после чего пробежаться по массиву и получить ваш заветный LogicalName или SchemaName но и тут не все так сказочно так как RetrieveAllEntities выполняется не быстро |
|
13.08.2014, 16:32 | #3 |
Участник
|
-> spectr
Спасибо за ответ! Решил остановится на варианте захардкодить Entity Id и Entity Name и Switch'ом выбрать нужный вариант со всеми параметрами нужными. Хотя ваш вариант использовать RetrieveAllEntities мне больше нравится. Наверное, стоит переписать мое решение. Было бы отлично, если бы вы скинули кусочек кода с примером использования для моего случая. |
|
13.08.2014, 18:40 | #4 |
Участник
|
Вот вам пример для javascript.
А еще посмотрите на библиотеку XrmServiceToolkit там тоже есть примеры и все немного проще Если вам нужны примеры на C# то поищите на MSDN они там должны быть |
|
|
|