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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.07.2012, 14:54   #1  
ma-lex is offline
ma-lex
Участник
 
9 / 10 (1) +
Регистрация: 20.07.2012
Запрос данных из внешней системы MS CRM 2011
Здравствуйте!
Есть следующая потребность :
Есть 2 кнопки на ленте сущности (например контакт). При нажатии на одну кнопку необходимо запрашивать данные из внешней системы (СУБД Oracle) и обновлять в текущем открытом контакте. При нажатии на другую - наоборот из текущего контакта выгружать данные в ту же внешнюю систему.
Подскажите пожалуйста, в каком направлении рыть? Делать все через JS, подцеплять плагин или создавать вебсервисы. Была идея через кнопку вызывать плагин, который для первого случая будет связываться с внешней базой и заполнять данные текущего контакта.
Старый 20.07.2012, 15:11   #2  
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://code.msdn.microsoft.com/windo...in-in-75699228
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 23.07.2012, 07:14   #3  
ma-lex is offline
ma-lex
Участник
 
9 / 10 (1) +
Регистрация: 20.07.2012
Большое спасибо за ответ. Буду рыть в этом направлении.
Старый 23.07.2012, 08:13   #4  
griefon is offline
griefon
Участник
 
131 / 52 (2) ++++
Регистрация: 07.12.2010
Адрес: down under
Цитата:
Сообщение от a33ik Посмотреть сообщение
Как по мне, самый простой выход - это плагин.
Но не самый надежный. Что будет делать плагин, если вторая система не отвечает? Не даст сохранить запись в CRM? Или даст сохранить, но не передаст данные во вторую систему?
Старый 23.07.2012, 08:26   #5  
ma-lex is offline
ma-lex
Участник
 
9 / 10 (1) +
Регистрация: 20.07.2012
Планируется в кастомной сущности сохранять запись (например с GUID-ом контакта) до тех пор, пока плагин не выполнит свои действия. Потом он эту запись удалит.
Старый 23.07.2012, 09:17   #6  
griefon is offline
griefon
Участник
 
131 / 52 (2) ++++
Регистрация: 07.12.2010
Адрес: down under
Цитата:
Сообщение от ma-lex Посмотреть сообщение
Планируется в кастомной сущности сохранять запись (например с GUID-ом контакта) до тех пор, пока плагин не выполнит свои действия. Потом он эту запись удалит.
Проблема в том, что пока плагин не закончит работу, то у пользователя форма будет "зависшей". На мой взгляд плагин должен только сохранять кастомную сущность, а передавать данные должен какой-то асинхронный процесс.

Хотя бывают случаи, когда надо передавать данные именно плагином, чтобы сразу же оповещать пользователя о том, что передача была неудачная.
За это сообщение автора поблагодарили: Taker1796 (1).
Старый 23.07.2012, 10:17   #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
Цитата:
Сообщение от griefon Посмотреть сообщение
Но не самый надежный. Что будет делать плагин, если вторая система не отвечает? Не даст сохранить запись в CRM? Или даст сохранить, но не передаст данные во вторую систему?
Это зависит от того как написать. Можно ведь написать и так, что и при недоступности системы данные будут сохранены в промежуточную базу, а потом прокачаны, допустим, написанным сервисом.
Какой бы вы вариант предложили, если уж берётесь критиковать?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 23.07.2012, 12:12   #8  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
У нас в компании используется самописная разработка аналогичная этой.
Все работает и применяется на проектах. Зависаний пока не наблюдалось. Используем для получения данных из сторонних БД и выполнения сложных действий в MS CRM, которые долго описывать при помощи JS.

По поводу удаления, лучше написать асинхронный процесс, который будет удалять сущности старше определенной даты.
__________________
Мой блог https://procrm.tv
Старый 23.07.2012, 14:04   #9  
griefon is offline
griefon
Участник
 
131 / 52 (2) ++++
Регистрация: 07.12.2010
Адрес: down under
Цитата:
Сообщение от a33ik Посмотреть сообщение
Это зависит от того как написать. Можно ведь написать и так, что и при недоступности системы данные будут сохранены в промежуточную базу, а потом прокачаны, допустим, написанным сервисом.
Какой бы вы вариант предложили, если уж берётесь критиковать?
Такой бы и предложил. Собственно такой же и на практике делал. Просто изначально вы написали только про плагин, что все-таки несколько упрощенно.
Старый 23.07.2012, 14:23   #10  
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
Цитата:
Сообщение от griefon Посмотреть сообщение
Такой бы и предложил. Собственно такой же и на практике делал. Просто изначально вы написали только про плагин, что все-таки несколько упрощенно.
Всё зависит от необходимости и требований. Имхо и просто через плагин нормально.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 23.07.2012, 15:11   #11  
ma-lex is offline
ma-lex
Участник
 
9 / 10 (1) +
Регистрация: 20.07.2012
Спасибо всем за ответы. Буду пробовать через плагин...
Старый 24.07.2012, 09:50   #12  
Borisvil is offline
Borisvil
Участник
 
123 / 36 (2) +++
Регистрация: 03.06.2011
Адрес: Санкт-Петербург
Я подобную ситуацию решал при помощи вызова из скрипта ASPX приложения, которое отработав отдавало результат обратно в скрипт, а он уже заполнял поля на карточке. Можно и прямо из ASPX поля в контакте заполнить и карточку на экране обновить. В CRM2011 ASPX несколько заморочен, но в итоге все получилось, плагин все-же абсолютно неинтерактивная вещь.
Старый 24.07.2012, 17:15   #13  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
А как Вы встроили страницу в CRM?
__________________
Мой блог https://procrm.tv
Старый 24.07.2012, 17:42   #14  
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
Цитата:
Сообщение от Borisvil Посмотреть сообщение
В CRM2011 ASPX несколько заморочен, но в итоге все получилось, плагин все-же абсолютно неинтерактивная вещь.
Поделитесь наработками с коллегами. Мне тоже интересно.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 25.07.2012, 10:04   #15  
Borisvil is offline
Borisvil
Участник
 
123 / 36 (2) +++
Регистрация: 03.06.2011
Адрес: Санкт-Петербург
Собственно как создать страничку написано тут:
http://blogs.msdn.com/b/crminthefiel...b-service.aspx
Основные заморочки возникают если нужно разместить страничку внутри сайта CRM, на порту по умолчанию. Решается преобразованием каталога со страничкой в приложение в пуле CRM, копированием в папку bin приложения кучи dll из каталога сервера (там штук 8, при попытке запуска странички их поочередно просит), дальше нужно запретить анонимную авторизацию для этого приложения и прописать в web.config следующее:
X++:
	<system.web>
		<identity impersonate="false"/>
		<httpModules>
			<clear/>
		</httpModules>
  </system.web>
И потом запускается без проблем и из скриптов и в iframe. И параметры передаются. Но с абсолютной адресацией.
И приложение надо cкомпилировать (построить), в 4-ке просто так работало. Вроде ничего не забыл...
За это сообщение автора поблагодарили: a33ik (1).
Старый 25.07.2012, 12:17   #16  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Это не поддерживаемый метод для 2011.
Нельзя размещать в ISV
из-за этого весь этот сыр-бор с плагинами и прочим. В 4 можно было веб-сервис положить в ISV и настроить имперсонацию, в 2011 в сайт СРМ класть нельзя. значит нужен новый сайт, а авторизацию между сайтами не передать. сайт может работать только от одного пользователя и не ясно будет от кого ему совершать действия.
__________________
Мой блог https://procrm.tv
Старый 25.07.2012, 14:37   #17  
Borisvil is offline
Borisvil
Участник
 
123 / 36 (2) +++
Регистрация: 03.06.2011
Адрес: Санкт-Петербург
Не спорю что в версии 2011 ASPX практически не поддерживается. Но мне, например, поставили задачу, которую вообще никак без ASPX решить бы не получилось, гуглил долго и решил таким способом. Данный метод работает и вполне хорошо, авторизация в ASPX проходит под текущим пользователем. Кстати, класть страничку в ISV не обязательно, можно расположить где угодно и потом в IIS в сайт CRM добавить приложение, указав путь. Хотя возможно это практически одно и тоже.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 7 Blog bot Dynamics CRM: Blogs 0 27.03.2012 02:11
crminthefield: CRM 2011 Server Setup Commonly Asked Questions Blog bot Dynamics CRM: Blogs 0 12.02.2012 09:24
Microsoft Dynamics CRM Team Blog: Microsoft Dynamics CRM 2011 ~ Online Test Drive Guide Blog bot Dynamics CRM: Blogs 0 05.08.2011 20:13
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: Upgrading a CRM 4.0 Custom Workflow Activity to CRM 2011 Blog bot Dynamics CRM: Blogs 0 18.11.2010 01:12

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

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

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