AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Blogs
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.12.2012, 13:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,644 / 848 (80) +++++++
Регистрация: 28.10.2006
axforum blogs: Проблема с изменением атрибута yomifullname
Источник: http://axforum.info/forums/blog.php?b=366
==============

Те из вас, кто не первый год занимается MS CRM помнят ту классическую проблему CRM 4.0, когда не работали правила поиска дубликатов контактов, поиск и черти что еще.

Проблема заключалась в том, что пахорукие (я не побоюсь этого слова!) уроды локализаторы переводили систему в Промпте, в результате чего пары атрибутов name и yominame назывались одинаково: имя. Для справки: yomi атрибуты вообще нафиг не нужны в русской локализации, так как они предназначены для описания транскрипции (фонетического звучания) имени для восточных языков.

С тех пор качество локализации системы ничуть не выросло, однако все мы знаем как быть с чистой системой - идти и переименовывать атрибуты. И вот тут облом! "Имя", "Фамилия" и "Отчество" йоми хорошо переименовываются, а вот полное имя нет! Атрибут просто не сохраняется.

Посидев с дебагером я выяснил, что форма не сохраняется из-за какой-то проблемы со скриптом - атрибут не проходит проверку на корректность заполнения данных. Оно и понятно, yomifullname - это теперь EMAIL!



Атрибут fullname выглядит чуть лучше - он хотя бы текст, но тоже не хочет обновляться.

В каком из пакетов внесли эту ошибку не знаю, но за геморрой спасибо. Ниже предлагаю код для решения проблемы. И проект консольного приложения, чтобы исправить это безобразие:

X++:
String orgURI = "http://localhost/FixRM/XRMServices/2011/Organization.svc";IServiceConfiguration conf = ServiceConfigurationFactory.CreateConfiguration(new Uri(orgURI));ClientCredentials credentials = new ClientCredentials();credentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;OrganizationServiceProxy crmService = new OrganizationServiceProxy(conf, credentials);crmService.EnableProxyTypes();RetrieveAttributeRequest attributeRequest = new RetrieveAttributeRequest{ EntityLogicalName = "contact", LogicalName = "yomifullname", RetrieveAsIfPublished = true,};RetrieveAttributeResponse attributeResponse = (RetrieveAttributeResponse) crmService.Execute(attributeRequest);Console.WriteLine("Retrieved the attribute {0}.", attributeResponse.AttributeMetadata.SchemaName);AttributeMetadata yomifullnameMetadata = attributeResponse.AttributeMetadata;yomifullnameMetadata.DisplayName = new Label("Фонетическое полное имя", 1049);yomifullnameMetadata.IsAuditEnabled = new BooleanManagedProperty(false);yomifullnameMetadata.IsValidForAdvancedFind = new BooleanManagedProperty(false);UpdateAttributeRequest updateRequest = new UpdateAttributeRequest{ Attribute = yomifullnameMetadata, EntityName = "contact", MergeLabels = true};crmService.Execute(updateRequest);
Код выполняет переименование атрибута и заодно отключает аудит и поиск по этому полю.

FixRM.AttributePropertiesUpdate.zip


Источник: http://axforum.info/forums/blog.php?b=366
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
За это сообщение автора поблагодарили: Borisvil (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: AX for Retail 2012 R2: Installing the Real-time Service Blog bot DAX Blogs 0 19.12.2012 11:11
emeadaxsupport: Budget entries import in AX2012 Blog bot DAX Blogs 0 21.11.2012 00:12
DynamicsAxSCM: Visualizing Security in Microsoft Dynamics AX 2012 Blog bot DAX Blogs 0 29.08.2011 13:11
DynamicsAxSCM: Personalization of Role Centers in Dynamics AX 2009 Blog bot DAX Blogs 0 21.06.2010 16:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:26.