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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.08.2006, 17:37   #1  
Paolo is offline
Paolo
Участник
Аватар для Paolo
 
76 / 11 (1) +
Регистрация: 27.02.2006
Адрес: Москва
Дублированные названия
Задача: как обеспечить проверку имени на наличие в базе при повторном вводе организации? как вариант - то же самое для персон
Что делать, если при этом пользователь не имеет доступа ко всей базе?
__________________
тел. 8(916) 411-4006
Старый 15.08.2006, 09:35   #2  
mystic is offline
mystic
Microsoft CRM Certified Professional
Аватар для mystic
SoftLine
 
160 / 12 (1) ++
Регистрация: 13.07.2004
Адрес: Москва
Организационные мтоды:
Попробуйте ввести единые правила наимнования организаций, это сократит количество дубликатов.
Если, например, контакт есть в базе, но пользователь его не видит, то вполне нормально, что он его создаёт, поскольку ему нужно фиксировать в системе взаимодействия с контактом и иного пути, роме создания дубликата, у него увы нет.
Как вариант - представить доступ ко всем контактам, но не показывать действия, произведённые другими пользователями.
Другой вариант - если контакты разделены логически правильно, то они не будут повторяться (например, контакт поставщика врядли попадёт в базу продавца, а если и попадёт, то здесь дубликат допустим и даже желателен, поскольку этот контакт выполняет разные роли (например, со стороны поставщика он маркетолог, а для продавцо он покупатель) ).
Кроме того целесообразно переодически провдить аудит базы.
Если всё-таки проблема дубликатов встала для Вас костью в горле посмотрите на сайте с360.com компонент поиска дубликатов.
Старый 17.08.2006, 06:31   #3  
sam is offline
sam
Участник
 
160 / 25 (1) +++
Регистрация: 04.08.2003
Адрес: Красноярск
А пример из SDK не подходит, по поиску дубликатов? Если использовать credentials пользователя который должен видеть всю базу.
Старый 13.12.2007, 11:45   #4  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Цитата:
Сообщение от sam Посмотреть сообщение
А пример из SDK не подходит, по поиску дубликатов? Если использовать credentials пользователя который должен видеть всю базу.
Всем доброго дня и хорошего настроения!
Решил воспользоваться примером из SDK по поиску дубликатов. Сразу скажу: пока не удалось мне заставить его работать. По нескольким причинам.
1. В файле-описании сказано о создании некой библиотеки с помощью командной строки Visual Studio. Бог с ним, что мне не понятно, что это за манипуляции но тем не менее - какая-то библиоткеа с нужным именем у меня создалась, а вот куда её положить - я так и не понял. В readme-файле сказано, что это должна быь некая папка, цитирую: "bin directory under the Microsoft CRM Web directory". То есть получается, что это должна быть bin Web-папка в папке установки системы. Предположительно, это якобы должна быть папка: "Program Files\Microsoft CRM\CRMWeb\bin". У меня такой папки нет в принципе. Я что-то не так понимаю, или надо что-то сделать дополнительное прежде чем воспользоваться SDK? Я скопировал полученную библиотеку в папку bin сервера CRM.
2. Решил я отдебажить используемые компоненты и для начала сгенерил строку вызова, которая генерится на клиенте при сохранении формы организации и выглядит примерно так: "http://crmserver/isv_duplicatedetection/CheckForDuplicateAccount.aspx?name=%D0%90%D1%80%D0%B5", скопировал строку в адресную строку броузера и попытался открыть, но броузер выкинул мне ошибку, по которой следует, что требуется Microsoft.Crm.MetadataService. Ну тут я уже вообще пока не догоняю, где именно там требуется эта хрень (извините за выражение). Подскажите, как отдебажить aspx-страничку и понять, на каком именно месте ей требуется ткнуть ссылку Microsoft.Crm.MetadataService?
Старый 13.12.2007, 12:15   #5  
Aleck is offline
Aleck
Участник
Ex AND Project
 
1,061 / 174 (8) ++++++
Регистрация: 07.12.2001
Адрес: СПб-Мск
В 4.0 сделан хороший механизм поиска дубликатов, может проще дождаться 4.0 и проапгрейдиться? русская должна выйти в Q1 2008
Старый 13.12.2007, 12:56   #6  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Цитата:
Сообщение от Aleck Посмотреть сообщение
В 4.0 сделан хороший механизм поиска дубликатов, может проще дождаться 4.0 и проапгрейдиться? русская должна выйти в Q1 2008
Да уж, в ответ на постановку простейшей задачи предложить руководству купить новую систему или проапгрейдиться - очень профессионально! Да и с задачей хочется разобраться, всё-таки.
Старый 13.12.2007, 15:07   #7  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Вам надо почитать про физиологию веб сервисов. WDSL (Web Service Description Language) - XLM основаный язык описания методов и возможностей веб сервиса. Утилита wsdl.exe позволяет автоматом генерировать в студии класс посредник, котрый предоставляет вам прозрачный интерфейс с сервисом (класс на нужном вам языке). Его-то вы и компилируете и добавляете сборку на сайт CRM, после чего создаете в IIS виртуальную директорию для доступа к этой странице. Всю эту беду можно порделать и другим способом - студия умеет создавать всеб сервисы самостоятельно, но я, если честно, тоже не лучший специалист в этой области.
Старый 13.12.2007, 19:25   #8  
Aleck is offline
Aleck
Участник
Ex AND Project
 
1,061 / 174 (8) ++++++
Регистрация: 07.12.2001
Адрес: СПб-Мск
Скорее всего CRM покупали с Software Assuarance - это подписка на обновление на 2 года, если с ней, то за лицензии на 4.0 платить не придется. Если мало модификаций делали, то переход вряд ли будет тяжелым.
А переходить рано или поздно на новую версию заставят.
Старый 13.12.2007, 21:35   #9  
Черничкин Станислав is offline
Черничкин Станислав
Злыдни
Аватар для Черничкин Станислав
Злыдни
 
53 / 18 (1) ++
Регистрация: 16.10.2007
Адрес: Екатеринбург
>>Задача: как обеспечить проверку имени на наличие в базе при повторном вводе организации?
1. На сохранении делаем запрос через XmlHttpRequest к службе црм, указав имя и пароль пользователя, который имеет право на чтение всех записей. Правда я ни разу этого не делал, не знаю будет ли это работать и любой пользователь при наличии желания сможет этот пароль подсмотреть.
2. Создаем веб-службу, которая будет выполнять проверку наличия дубликата, и делаем запрос к ней. Это 100% будет работать, пароль никто не украдет, но придется научиться писать Web службы.
Старый 14.12.2007, 07:24   #10  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Цитата:
Сообщение от Черничкин Станислав Посмотреть сообщение
>>Задача: как обеспечить проверку имени на наличие в базе при повторном вводе организации?
1. На сохранении делаем запрос через XmlHttpRequest к службе црм, указав имя и пароль пользователя, который имеет право на чтение всех записей. Правда я ни разу этого не делал, не знаю будет ли это работать и любой пользователь при наличии желания сможет этот пароль подсмотреть.
А вот это уже интересно! Примерчик кода можно глянуть? Я вот ни рискну такую хрень скриптами вытворять!
Старый 14.12.2007, 11:09   #11  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Разобрался я с примером SDK. Правда, пришлось его, родимого слегка модифицировать - создать полноценный проект в VS, подтянуть туда необходимые ссылки, ну и так далее и тому подобное. В процессе столкнулся с другими багами стандартной службы Crmservice. Вот тока незнаю, уместно ли делать разбор кода в ветке об администрировании? Если кому-то необходим положительный опыт разгребания подобных багов - обращайтесь.
Старый 14.12.2007, 11:26   #12  
Черничкин Станислав is offline
Черничкин Станислав
Злыдни
Аватар для Черничкин Станислав
Злыдни
 
53 / 18 (1) ++
Регистрация: 16.10.2007
Адрес: Екатеринбург
Вот эта фигня обращается к службе MS CRM через fetchXml (наиболее удобный метод при работе со службой из скриптов) при смене идентификатора продукта, чтобы подгрузить некоторые дополнительные данные. Она немного громоздкая, но это только потому, что данных много, сам запрос формируется в первых 80 строках дальше идет обезьянкин код. Для твоей задачи нужно:
1. перенести этот код в OnSave (ну это и так понятно),
2. переписать XmlTemplate, чтобы запрашивалась сущность contact или account, возвращался только contact(account)id, а фильтр был по полю name. link-entity стереть.
3. добавить имя и пароль в xmlhttp.open (вот тут самый спорный момент. во-первых я не знаю, будет ли это работать, во-вторых этот пароль сможет украсть любой cool-hacker
4. после выполнения запроса нужно просто проверить наличие узла 'result', если он есть, значит есть записи, удовлетворяющие критерию фильтра, значит говорим пользователю alert('Организация с таким именем уже есть в базе. Как же быть? Наверно, просто приписать к имени "1" и сохранить, как обычно делают в таких ситуациях...') и ставим event.returnValue = false;
Вложения
Тип файла: txt productid_OnChange.txt (11.3 Кб, 416 просмотров)

Последний раз редактировалось Черничкин Станислав; 14.12.2007 в 11:28.
Старый 14.12.2007, 14:30   #13  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Цитата:
Сообщение от Черничкин Станислав Посмотреть сообщение
Вот эта фигня обращается к службе MS CRM через fetchXml ...
Жесткач! Со студией и aspx страничкой всё много проще: и кода на клиентской части чуть и отладку можно осуществить в сторонке и по безопасности никаких проблем. Хотя, для опыта - очень полезное приобретение! Спасибо за пример!
Старый 17.12.2007, 08:57   #14  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Как обратится к веб службе через SOAP все мы знаем, примеры прямо на mscrmservices/2006/CrmService.asmx лежат. А вот где обещаная подмена Credentials? Где явки-пароли которые должны открыть нам доступ к базе от имени привелегированного пользователя?
Старый 17.12.2007, 12:32   #15  
Черничкин Станислав is offline
Черничкин Станислав
Злыдни
Аватар для Черничкин Станислав
Злыдни
 
53 / 18 (1) ++
Регистрация: 16.10.2007
Адрес: Екатеринбург
в xmlhttp.open после false вписываем имя и пароль.
Старый 17.12.2007, 17:39   #16  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Действительно. Не подскажете ссылочку на хороший справочник по xmlHttp и сопряженным темам. Несколько минут искал на сайте Microsoft синтаксис команды open, однако версию с паролем нашел только в примере по работе с аутлук.
Старый 18.12.2007, 12:55   #18  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Спасибо!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
В чем скытый смысл невозможности измененния названия подразделения? Черничкин Станислав Dynamics CRM: Функционал 4 19.10.2007 12:24

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:21.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.