09.08.2010, 17:12 | #1 |
Участник
|
Контроль дубликатов по всем записям
CRM 4.0
Ситуация такая... Пользователи могут работать только со своими контактами и не могут лезть в чужие записи. Необходимо реализовать контроль дубликатов по полному совпадению ФИО. При обнаружении дубликатов нужно выводить информацию о том, кому принадлежат существующие записи, поэтому использовать плагин не получиться, с его помощью информацию по человечески не выведешь. Остается только вариант повесить JS-скрипт на OnSave, который, как вариант, будет вызывать кастомный сервис поиска дубликатов и отображать страничку с результатами поиска при необходимости. Но вот в чем вопрос - как искать по ВСЕМ контактам, а не только по тем, которые принадлежат пользователю. В плагине все просто, передаешь false методу CreateCrmService, а как быть с сервисом. Как то не хочется хранить в файле конфигурации логин и пароль пользователя со всеми правами что бы создавать экземпляр сервиса от его имени. |
|
09.08.2010, 17:17 | #2 |
Чайный пьяница
|
Цитата:
Сообщение от ZooY
CRM 4.0
Ситуация такая... Пользователи могут работать только со своими контактами и не могут лезть в чужие записи. Необходимо реализовать контроль дубликатов по полному совпадению ФИО. При обнаружении дубликатов нужно выводить информацию о том, кому принадлежат существующие записи, поэтому использовать плагин не получиться, с его помощью информацию по человечески не выведешь. Остается только вариант повесить JS-скрипт на OnSave, который, как вариант, будет вызывать кастомный сервис поиска дубликатов и отображать страничку с результатами поиска при необходимости. Но вот в чем вопрос - как искать по ВСЕМ контактам, а не только по тем, которые принадлежат пользователю. В плагине все просто, передаешь false методу CreateCrmService, а как быть с сервисом. Как то не хочется хранить в файле конфигурации логин и пароль пользователя со всеми правами что бы создавать экземпляр сервиса от его имени.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: ZooY (1). |
09.08.2010, 17:36 | #3 |
Участник
|
Слишком просто чтобы быть правдой
Затра попробую. Спасибо! |
|
10.08.2010, 12:36 | #4 |
Moderator
|
У нас так интеграция работает: все запросы в сервис идут от пользовательской учетки CRM "Служба интеграции". Ей назначена урезанная роль безопасности, которая позволяет менять только необходимые записи. Очень удобно и не нужно заморачиваться с безопасностью.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
11.08.2010, 00:48 | #5 |
Участник
|
Проверил, походу действительно работает.
Но это же получается дырка в безопасности. То-есть если у пользователя пусть даже самые минимальные права в CRM, но есть небольшой опыт программирования, то он может получить из CRM все, что его интересует. Не то чтобы меня это парило, но сам факт |
|
11.08.2010, 09:48 | #6 |
Moderator
|
Ни в коем разе: http://msdn.microsoft.com/en-us/library/cc151052.aspx. Привилегией имперсонации обладают не все пользователи. По умолчанию в группе безопасности, для которой разрешены такие действия находятся только учетки самого сервера CRM и сервера электронной почты (если был указан при инсталляции). Так что если ваши пользователи не являются деплоймент админами/ администраторами IIS, которые могут поместить свой зловредный код в плагины, или в веб страницы которые выполняются в пуле CRM, или от имени привилегированной встроенной учетки сервера, то угроза безопасности минимальна.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional Последний раз редактировалось Артем Enot Грунин; 11.08.2010 в 10:00. |
|