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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.10.2016, 11:21   #1  
Дмитрий А.А. is offline
Дмитрий А.А.
Участник
Аватар для Дмитрий А.А.
 
173 / 19 (1) ++
Регистрация: 24.07.2015
Адрес: СПб
? Вопрос по взаимодействию CRM 2011 и AX
Добрый день.
Возникла следующая необходимость:
есть кастомная сущность в CRM и соответствующий ей заказ на продажу в АХ. В кастомной сущности есть 3 поля, одно заполняется автоматически при создании объекта, 2 - по прошествии времени (спустя 2-6 недель). И хотелось бы данный поля перенести в связанный заказ на продажу. На данный момент существует уже механизм создания заказа на продажу в АХ через эту кастомную сущность, и он будет дополнен, чтобы поле, которое заполняется в момент создания кастомного объекта, сразу же переносилось в АХ. Но возникли вопросы с тем, как переносить данные из тех полей, которые заполняются спустя время. Вариант с ручным переносом(занесли в карточку кастомного объекта -> нажали кнопку) - самый простой, но специалисту будет необходимо обрабатывать по 20-100 записей при получении, так что вариант так себе. Вариант с сервисом - хороший вариант, но будет потреблять ресурсы. И вариант, который интересен мне: возможно ли как-то через CRM-овские БП запустить синхронизацию и, если да, то как должен выглядеть такой механизм? Т.е. хотелось бы, чтобы на обновление 2 необходимых полей запускался БП, запускалась бы синхронизация с АХ. Это было бы наименьшее потребление ресурсов и времени. Или все-таки первые 2 варианта реалистичнее?
Старый 24.10.2016, 12:57   #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
А каким образом у вас реализована начальная загрузка данных из CRM в AX?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 25.10.2016, 03:43   #3  
Дмитрий А.А. is offline
Дмитрий А.А.
Участник
Аватар для Дмитрий А.А.
 
173 / 19 (1) ++
Регистрация: 24.07.2015
Адрес: СПб
Цитата:
Сообщение от a33ik Посмотреть сообщение
А каким образом у вас реализована начальная загрузка данных из CRM в AX?
js, soap-запрос и далее

X++:
xmlHttp.open('POST', "domain" + port + "/AxdService/SalesOrderService.svc/soap", false);
    xmlHttp.setRequestHeader('soapAction', "http://tempuri.org/IAxdService/process");
    xmlHttp.setRequestHeader('Content-Type', 'text/xml');

    try
    {
        xmlHttp.send(data);
    }
Старый 25.10.2016, 10:06   #4  
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
Ну во-первых я бы рекомендовал перенести эти вызовы в плагин.
Во вторых - сервис я так понимаю самописный? Почему бы там не реализовать и сценарий апдейта и не вызывать этот сервис при обновлении акаунта?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 25.10.2016, 10:56   #5  
Дмитрий А.А. is offline
Дмитрий А.А.
Участник
Аватар для Дмитрий А.А.
 
173 / 19 (1) ++
Регистрация: 24.07.2015
Адрес: СПб
Цитата:
Сообщение от a33ik Посмотреть сообщение
Ну во-первых я бы рекомендовал перенести эти вызовы в плагин.
Во вторых - сервис я так понимаю самописный? Почему бы там не реализовать и сценарий апдейта и не вызывать этот сервис при обновлении акаунта?
да, сервис самописный.
или я Вас немного непонимаю, или Вы меня недопоняли... в общем приведенный код и, соответственно, сервис, запускается по кнопке вручную, когда требуется перенести запись из CRM в АХ. Из тех 3 полей, которые будут добавляться, при создании 1 уже будет заполнено и его перенесем сразу, проблем нет. А вот оставшиеся 2 заполняются спустя время. Соответственно, или делаем по аналогии с созданием в сервисе функцию update(как вы написали), и запускаем вручную(новой кнопкой), или, что хотелось бы, если возможно, разработать какой-то механизм с триггером, чтобы при обновлении этих полей запустить функцию update или из этого же сервиса, или в каком-то другом месте, и обновить связанную запись в АХ.
Старый 25.10.2016, 12:26   #6  
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
Цитата:
Сообщение от Дмитрий А.А. Посмотреть сообщение
разработать какой-то механизм с триггером, чтобы при обновлении этих полей запустить функцию update или из этого же сервиса, или в каком-то другом месте, и обновить связанную запись в АХ.
Берём в свои руки VS, пособие по разработке плагинов и пилим код
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: Дмитрий А.А. (1).
Старый 26.10.2016, 10:09   #7  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
379 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
Цитата:
Сообщение от Дмитрий А.А. Посмотреть сообщение
...какой-то механизм с триггером...
Как правильно сказал товарищ a33ik - плагин вам в помощь.
В вашем случае нужно реагировать на событие создания записи кастомной сущности и переносить в AX значение первого поля, а так же реагировать на обновление записи (точнее обновление указанных полей записи) и отправлять значения других полей.
Т.е. вам нужны два плагина: на событие Create, и на событие Update.
Причем, плагин может быть как синхронный, так и асинхронный (что удобно, если допускается лаг по времени в появлении данных в AX).

Альтернативой плагину может служить бизнес-правило (Workflow). В этом случае вам нужно будет вместо плагина написать кастомное действие Workflow.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 8 Blog bot Dynamics CRM: Blogs 1 30.04.2016 10:26
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 16 Blog bot Dynamics CRM: Blogs 0 23.01.2014 03:15
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 10 Blog bot Dynamics CRM: Blogs 0 17.08.2012 03:27
crminthefield: Microsoft Dynamics CRM 4.0 and 2011 Update Rollup Release Dates, Build Numbers, and Collateral Blog bot Dynamics CRM: Blogs 0 24.08.2011 02:11

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

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

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