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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.03.2011, 20:00   #1  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Вопрос по Soap запросам в CRM 2011
У меня есть запрос
Код:
var fetch = '<fetch distinct="false" no-lock="false" mapping="logical"><entity name="account"><all-attributes /></entity></fetch>';
var SoapRequest = "<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">";
SoapRequest += "<s:Body>";
SoapRequest += "<RetrieveMultiple xmlns=\"http://schemas.microsoft.com/xrm/2011/Contracts/Services\"";
SoapRequest += " xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\">";
SoapRequest += "<query i:type=\"a:FetchExpression\" xmlns:a=\"http://schemas.microsoft.com/xrm/2011/Contracts\">";
SoapRequest += "<a:Query>" + fetch.replace(/</g, "&lt;").replace(/>/g, "&gt;") + "</a:Query>";
SoapRequest += "</query>";
SoapRequest += "</RetrieveMultiple>";
SoapRequest += "</s:Body>";
SoapRequest += "</s:Envelope>";
var oReq = new XMLHttpRequest();
var url = "/" + ORG_UNIQUE_NAME + "/XRMServices/2011/Organization.svc/web";
oReq.open("POST", url, false);
oReq.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/RetrieveMultiple");
oReq.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
oReq.setRequestHeader("Content-Length", SoapRequest.length);
oReq.send(SoapRequest);
alert(oReq.responseText);
То, что он возвращает сложно для чтения и понимания нормальному человеку

1. Хотелось бы знать как изменить запрос чтобы CRMService вернул что-то более читабельное. (например JSON string)
2. Можно ли делать soap запросы с "Impersonate a User" (по userid например)

Заранее благодарен Константин
__________________
Читайте SDK!!!
Старый 05.03.2011, 12:34   #2  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
У меня есть запрос...

То, что он возвращает сложно для чтения и понимания нормальному человеку
А кто Вам сказал, что это для людей?


Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
1. Хотелось бы знать как изменить запрос чтобы CRMService вернул что-то более читабельное. (например JSON string)

Разумеется, изменение запроса не изменит формат возвращаемых данных. Т.е. нет никаких опций и других поддерживаемых форматов. Есть только готовые библиотеки сторонних разработчиков, которые умеют парсить результат в удобоваримые массивы объектов, как, например, Ascentium. Но все они под CRM 4.0. Насколько я знаю, под CRM 2011 еще ни у кого ничего нет. Если вдруг уже есть, буду только рад посмотреть ссылочку.

Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
2. Можно ли делать soap запросы с "Impersonate a User" (по userid например)
Fetch всегда выполняется в контексте пользователя, который вызывает веб-сервис. Согласитесь, если бы в запросе можно было бы указать ID любого пользователя и получить данные, которые должен видеть этот пользователь, это было бы несекьюрно?
__________________
Опыт позволяет ошибаться гораздо увереннее.
Старый 05.03.2011, 15:08   #3  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
Если вдруг уже есть, буду только рад посмотреть ссылочку.
Мой коллега Даниэл Кай пишет, что его фреймфорк - по прежнему работает - http://danielcai.blogspot.com/2011/0...s-for-crm.html
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: Гуревич Денис (2).
Старый 05.03.2011, 15:38   #4  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от a33ik Посмотреть сообщение
Мой коллега Даниэл Кай пишет, что его фреймфорк - по прежнему работает - http://danielcai.blogspot.com/2011/0...s-for-crm.html
Ага, клевая штуковина, раньше почему-то не видел.
__________________
Опыт позволяет ошибаться гораздо увереннее.
Старый 05.03.2011, 21:18   #5  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
А кто Вам сказал, что это для людей?


Цитата:
Разумеется, изменение запроса не изменит формат возвращаемых данных.
Что Вы говорите
Например REST ENDPOINT позволяет вернуть xml или json (возможно есть ещё что-то), за счет изменения формы запроса в том же CRM ( я понимаю что это не заслуга CRM, но всё же).

Цитата:
Т.е. нет никаких опций и других поддерживаемых форматов. Есть только готовые библиотеки сторонних разработчиков, которые умеют парсить результат в удобоваримые массивы объектов, как, например, Ascentium. Но все они под CRM 4.0. Насколько я знаю, под CRM 2011 еще ни у кого ничего нет. Если вдруг уже есть, буду только рад посмотреть ссылочку.
Я так и предполагал, что это не только меня волнует.


Цитата:
Fetch всегда выполняется в контексте пользователя, который вызывает веб-сервис.
Fetch в данном случае был примером
А другие запросы не в контексте пользователя?


Цитата:
Согласитесь, если бы в запросе можно было бы указать ID любого пользователя и получить данные, которые должен видеть этот пользователь, это было бы несекьюрно?
Это именно так и происходит через "Impersonate a User"когда обращение происходит через C#.
Какая разница если я могу со своего компьютера сделать запрос через C# почему с того же компьютера через SOAP нет?


С Уважение Константин
__________________
Читайте SDK!!!
Старый 05.03.2011, 21:53   #6  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от a33ik Посмотреть сообщение
Мой коллега Даниэл Кай пишет, что его фреймфорк - по прежнему работает - http://danielcai.blogspot.com/2011/0...s-for-crm.html

То, что его код работает через сервис 4 в 5 это заслуга MS, а не его.
А как насчёт новых возможностей, которые как я понимаю через сервис 4 не доступны?
__________________
Читайте SDK!!!
Старый 05.03.2011, 23:44   #7  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
То, что его код работает через сервис 4 в 5 это заслуга MS, а не его.
Я и ничего и не писал про то, что это чисто заслуга Дэниэла, но его фреймворк - безспорно - очень полезная вещь.

Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение

А как насчёт новых возможностей, которые как я понимаю через сервис 4 не доступны?
Ок. Приводите примеры - проконсультируюсь с автором или же можете обратиться напрямую к нему через его блог.

PS Критика ради критики - не имеет смысла
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 06.03.2011, 08:09   #8  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
А где Вы тут нашли критику?

P. S. Я вообще-то пытался здесь поговорить о 5, а не о 4. ( что существует для 4 я худо бедно знаю)
__________________
Читайте SDK!!!

Последний раз редактировалось Konstantin Katsovich; 06.03.2011 в 08:13.
Старый 09.03.2011, 12:06   #9  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
Что Вы говорите
Например REST ENDPOINT позволяет вернуть xml или json (возможно есть ещё что-то), за счет изменения формы запроса в том же CRM ( я понимаю что это не заслуга CRM, но всё же).
Ну а зачем тогда вопрос задавали? У Вас все есть и все работает как надо - прекрасно!

Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
Fetch в данном случае был примером
А другие запросы не в контексте пользователя?
И другие запросы к веб-сервисам CRM выполняются в контексте пользователя.

Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
Это именно так и происходит через "Impersonate a User"когда обращение происходит через C#.
Какая разница если я могу со своего компьютера сделать запрос через C# почему с того же компьютера через SOAP нет?
Зачем же все в одну кучу мешать? Серверный код - это не клиентский SOAP-запрос. Не хотите же Вы сказать, что можете с любой клиентской машины отправить в CRM на выполнение любой C# код?
__________________
Опыт позволяет ошибаться гораздо увереннее.
Старый 09.03.2011, 22:06   #10  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
Ну а зачем тогда вопрос задавали? У Вас все есть и все работает как надо - прекрасно!




Вопрос задавался по соап запросам, потому-что запустить fetch или любой другой crm message через rest endpoint, мне кажется нельзя.
А Вы знаете как?
Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
Зачем же все в одну кучу мешать? Серверный код - это не клиентский SOAP-запрос.
Не надо мешать.
Это разные вещи.
Только одно но,
Если Вы запустите fiddler и посмотрите запросы которые делает, скажем так код С#, то увидите там те же соап запросы.

Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
Не хотите же Вы сказать, что можете с любой клиентской машины отправить в CRM на выполнение любой C# код?
Любой – не любой!!!
ДА хочу
Откройте SDK там в этот раз (CRM 5) много различного C# кода, который у меня на клиентской машине оборудованной Windows 7 64bit бежит читает и создает записи в CRM.

С Уважение Константин
__________________
Читайте SDK!!!
Старый 10.03.2011, 12:02   #11  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
Вопрос задавался по соап запросам, потому-что запустить fetch или любой другой crm message через rest endpoint, мне кажется нельзя.
А Вы знаете как?

Стало интересно, погрузился в SDK по 2011.
И вот чего начитал (думаю, всем будет полезно немного теории):
В CRM 2011 реализовано аж 2 интерфейса доступа к данным через веб-сервисы - REST Endpoint и SOAP Endpoint. Так вот REST Endpoint позволяет вернуть данные в нужном Вам JSON-формате, но для этого нужно формировать не Fetch-запрос, а OData-запрос. Я так понимаю, что конкретно Fetch Вам не особо уперся, а про OData-запросы в SDK вроде подробно написано. Только имейте ввиду, что REST Endpoint возвращает не более 50 записей за раз.


__________________
Опыт позволяет ошибаться гораздо увереннее.
Старый 10.03.2011, 13:15   #12  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
Не надо мешать.
Это разные вещи.
Только одно но,
Если Вы запустите fiddler и посмотрите запросы которые делает, скажем так код С#, то увидите там те же соап запросы.

Любой – не любой!!!
ДА хочу
Откройте SDK там в этот раз (CRM 5) много различного C# кода, который у меня на клиентской машине оборудованной Windows 7 64bit бежит читает и создает записи в CRM.
Тут тоже по SDK не все так просто. Попробуем разобраться по порядку.

Как в 2011 поменять контекст пользователя при выполении SOAP-запроса из JScript'а я в SDK не нашел. Похоже, никак. Правда осталась обратная совместимость с веб-сервисами CRM 4.0, где указывался AuthenticationHeader, содержащий тэг CallerID (веб-сервис при этом все равно проверит, имеете ли вы право выполнять запрос от имени другого пользователя).

Что касается C# кода: Вы можете написать на C#, скажем, консольное приложение, которое будет запускать на клиентской машине и внутри него имперсонироваться от имени другого пользователя и выполнить SOAP-запрос.
В SDK вот тут написано, что для этого надо указать свойство OrganizationServiceProxy.CallerID. Но при этом пользователь, запускающий такое приложение должен обладать специальной привилегией или быть включенным в PrivUserGroup в AD.
__________________
Опыт позволяет ошибаться гораздо увереннее.
Старый 10.03.2011, 17:10   #13  
Артем 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
Давайте разберемся в терминах. Во первых, имперсонация уместна внутри системы. Когда, скажем, код выполняемый плагином или веб страницей выполняется с привилегиями пользователя отличного от того, кто инициировал данную операцию. Во-вторых, то о чем вы - это авторизация! При этом нужно передавать логин и пароль того пользователя от имени которого будете делать запрос. Осталось понять нафига.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 10.03.2011, 17:25   #14  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Давайте разберемся в терминах. Во первых, имперсонация уместна внутри системы. Когда, скажем, код выполняемый плагином или веб страницей выполняется с привилегиями пользователя отличного от того, кто инициировал данную операцию.
Сама по себе имперсонация как термин не говорит о том, где она будет использоваться, согласитесь?

Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Во-вторых, то о чем вы - это авторизация! При этом нужно передавать логин и пароль того пользователя от имени которого будете делать запрос.
Если верить SDK, то логин и пароль передавать не надо и называется это имперсонация. Почитайте внимательно еще раз ссылку, которую я привел выше. Может я что-то упустил?

Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Осталось понять нафига.
Да, это самая большая загадка.
__________________
Опыт позволяет ошибаться гораздо увереннее.
Старый 10.03.2011, 18:37   #15  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
Цитата:
Осталось понять нафига.
Да, это самая большая загадка.
На вскидку... при создании, какой-либо записи необходимо выгрузить файлик CSV (с данными по этой записи) в интеграционную папку на сервере простой смертный юзвер не имеет туда доступ, а админ имеет (или какая-нить другая выделенная учетка) Вот и нужно выполнить код плагина под этой учеткой
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
За это сообщение автора поблагодарили: a33ik (-1).
Старый 11.03.2011, 11:30   #16  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
На вскидку... при создании, какой-либо записи необходимо выгрузить файлик CSV (с данными по этой записи) в интеграционную папку на сервере простой смертный юзвер не имеет туда доступ, а админ имеет (или какая-нить другая выделенная учетка) Вот и нужно выполнить код плагина под этой учеткой
Боюсь, тут не все поймут тонкость юмора.
__________________
Опыт позволяет ошибаться гораздо увереннее.
Старый 11.03.2011, 15:13   #17  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Осталось понять нафига.
Представим такую с ситуацию: (ситуация из жизни).



У вас есть "Центр обслуживания клиентов"
  1. Клиенты
  2. Юзеры которые их обслуживают.
  3. Существует заранее не известная иерархия Business Units
  4. Юзеры не видят всех клиентов. С другой стороны им можно добавлять новых клиентов.
Нужно запретить дублирования клиентов на стадии их создания.


Поле по которому производится проверка заранее не известно.
Как Вы предлагается это осуществить?
Конечно возможно надо изменить ТЗ и т.д., но возможности такой нет, по другим не зависящим от нас программистов причин.


P. S. Я вообще-то не люблю задавать такого рода вопросы и сам на них не отвечаю. Почему?

  1. Очень часто программистов приходиться делать то, что им сказали, и возможность изменить ТЗ очень часто нет.
  2. Часто метод решения выбирается не по правильности, а по быстроте решения, потому что клиента не интересуют ваши проблемы по решению той или иной задачи. Его как ни странно интересует быстрое и дешевое решения.
  3. Он часто не хочет оплачивать такую простою функциональность с его точки зрения.
  4. Есть на много боле сложные задачи который по моему, возможно ошибочному, мнению можно так решать.
  5. Я могу привести как минимум с 10.
  6. Часто не малая часть проекта уходит на создания "Ролей безопасности" такой подход часто уменьшает время которое затрачивается на создания ролей. (конечно мы не вставляем такие решения везде и вся)
  7. И т. д.
С Уважением Константин
__________________
Читайте SDK!!!
Старый 11.03.2011, 15:50   #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
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
Представим такую с ситуацию: (ситуация из жизни). Нужно запретить дублирования клиентов на стадии их создания.
Ситуация более чем житейская. Варианты решения: плагин на пре-событие, который запустится в контексте системного процесса (или каким-то конкретным - плагины так умеют) и с полными привилегиями выполнит поиск и героически выбросит исключение, если пользователя клиента создавать нельзя. Пользователь получит пугающее сообщение об ошибке, форма затрется и все прочие ужасы. Это то, что вам в любом случае нужно реализовать. Рас уж вы рассуждаете про веб-сервисы, то я прихожу к выводу, что блокирование вы рассчитывали делать на уровне интерфейса. Категорически не советую! Не смогут сделать через форму - засунут через "преобразование интереса", импорт из Excel, через синхронизацию с Outlook, действием рабочего процесса или диалога, через мобильный клиент, или придумают новый новаторский способ, которого я еще не знаю! Плагину быть. Теперь, если стоит задача предупреждения самой попытки такого действия, то я бы не запрос писал, а кастомный сервис с анонимным доступом, который уже имперсонирует пользователя как надо, например, будучи запущенный в пуле под правильной учеткой.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 11.03.2011, 15:54   #19  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
По идее - реализуется Pre-Create плагином, а поле по которому выполняется проверка - передаётся в тело через config. В случае дублирования - генерация исключения с соответствующим текстом. Плагин запускается под учётной записью администратоивного пользователя. Вроде бы - реализуемо.

Понятно, что через JavaScript c имперсонацией - более изящно. Также не отбрасывайте вариант написания своего кастомного вебсервиса и вызова его через JavaScript.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 11.03.2011, 16:08   #20  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Ситуация более чем житейская. Варианты решения: плагин на пре-событие, который запустится в контексте системного процесса (или каким-то конкретным - плагины так умеют) и с полными привилегиями выполнит поиск и героически выбросит исключение, если пользователя клиента создавать нельзя. Пользователь получит пугающее сообщение об ошибке, форма затрется и все прочие ужасы. Это то, что вам в любом случае нужно реализовать.
То что существует много разных решений я понимаю

Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Рас уж вы рассуждаете про веб-сервисы, то я прихожу к выводу, что блокирование вы рассчитывали делать на уровне интерфейса. Категорически не советую! Не смогут сделать через форму - засунут через "преобразование интереса", импорт из Excel, через синхронизацию с Outlook, действием рабочего процесса или диалога, через мобильный клиент, или придумают новый новаторский способ, которого я еще не знаю!

А кто же им даст!!!

Вопрос был как сделатьэтоо через соап запрос?
__________________
Читайте SDK!!!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Microsoft Dynamics CRM Team Blog: Microsoft Dynamics CRM 2011 ~ Book Club Blog bot Dynamics CRM: Blogs 0 02.02.2011 00:16
Microsoft Dynamics CRM Team Blog: Microsoft Dynamics CRM 2011 Release Candidate (RC) Announcement Blog bot Dynamics CRM: Blogs 0 15.12.2010 11:11
ukcrm: CRM 2011 Videos On Channel 9 (Part 4) Blog bot Dynamics CRM: Blogs 0 09.11.2010 19:04
jodonnell: CRM Innovation LLC declares Data2CRM is ready for Dynamics CRM 2011 Blog bot Dynamics CRM: Blogs 0 23.09.2010 05:27
CRM DE LA CREME! Configuring Microsoft Dynamics CRM 4.0 for Internet-facing deployment Blog bot Dynamics CRM: Blogs 0 18.08.2009 11:05

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

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

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