AXForum  
Вернуться   AXForum > Блоги > CRM, SharePoint и Черная Магия
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

Добро пожаловать в мой блог! Изначально он не задумывался как блог CRM разработчика, но жизнь сама внесла нужные коррективы. Тут я публикою все свои наблюдения относительно обозначенных в заголовке систем. Если Вы найдете в нем что-то интересное для Вас, как для заказчика, то буду рад сотрудничать с Вами! В моей компетенции 100% задач по MS CRM 3.0/4.0/2011:
  • Консалтинг
  • Проектирование
  • Разработка
  • Обучение


MVP 2010, 2011
Оценить эту запись

Формат полного имени

Запись от Артем Enot Грунин размещена 30.08.2009 в 21:11
Теги contact, format, fullname

Как вы знаете, CRM, в настройках организации, позволяет задавать формат полного имени, который в дальнейшем будет использоваться для отображения имен в полях лукапов для справочников Контактов, Интересов и Пользователей. Казалось бы, логично использовать настройку только для генерации страниц, но MS, тем не менее хранит результирующую строку в базе. В результате, при смене формата полного имени уже существующие записи системы не обновляются, о чем система честно нас предупреждает. С выходом 4.0 в системе появились более пригодные для российского пользователя форматы "Фамилия, Имя Отчество" и "Имя Отчество Фамилия". Поэтому тут же возникло желание убрать из представлений лишний столбец с отчеством и обновить старые записи. Писать код было лениво, обновлять записи бизнес процессом показалось утомительно, а SQL запрос, учитывая что не все поля имени могли быть заполненными выходил весьма зловещим. К счастью, нашлось простое решение. Как выяснилось, CRM для заполнения этого поля использует хранимую функцию
Код:
dbo.fn_GetFullName(<first name>, <second name>, <middle name>)
Выглядит она жутковато, но зато сама умеет выполнять все проверки упрощая для нас написание запроса, например, такого:
Код:
UPDATE ContactBase SET fullname = dbo.fn_GetFullName(firstname, secondname, middlename)
Данный, вариант, возможно не самый оптимальный с точки зрения времени выполнения, так как всякий раз при вызове ф-ция вычитывает из базы текущий формат, однако запрос универсален и на обновление 10150 контактов наш средний по своим характеристикам сервер потратил не более 2-3 секунд.
Размещено в CRM
Просмотров 30790 Комментарии 0
Всего комментариев 0

Комментарии

 


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