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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.09.2018, 15:31   #1  
Ion is offline
Ion
Участник
 
332 / 16 (1) ++
Регистрация: 19.12.2012
Run action from javascript
Привет!

Давно не использовать экшены и в новой версии не знаю, как правильно их вызывать.

Вернее надо с кастомной страницы вызвать экшен, который по определенной логике вышлет письма. Изначально был и есть диалог с этой логикой подвязанный под акаунт.

Вопрос вот в чем:
- если буду его вызывать с JS то делать глобальным и прокидывать параметры нужные процессу - акаунт и контакт;
- указать сущность акаунт и тогда при вызове просто прокидывать один лишь контакт, но тут мне не ясно как указать что все будет осуществляться в контексте данного акаунта, там можно как это инициализировать?

Код:
function CallCustomAction() {
    try {

        var reqName = "new_sendfollowupemail";
        var clientUrl = Xrm.Page.context.getClientUrl();
        var parameters = {
           "Account":
                  {
                      "@odata.type": "Microsoft.Dynamics.CRM.account",
                      "accountid": "C4CA0B66-59B9-E611-8106-C4346BDC0E01",
                      "name": "Account Test",
                      "accountnumber": "123"
                  }
		  "Contact":
                  {
                      "@odata.type": "Microsoft.Dynamics.CRM.contact",
                      "contactid": "C4CA0B66-59B9-E611-8106-C4346BDC0E01",
                      "name": "Contact Test",
                      "accountnumber": "321"
                  }	  
        };

        //Create request
        var req = new XMLHttpRequest();
        req.open("POST", clientUrl + "/api/data/v8.2/" + reqName, true);
        req.setRequestHeader("Accept", "application/json");
        req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
        req.setRequestHeader("OData-MaxVersion", "4.0");
        req.setRequestHeader("OData-Version", "4.0");

        req.onreadystatechange = function () {

            if (this.readyState == 4 /* complete */) {
                req.onreadystatechange = null;

                if (this.status == 200 || this.status == 204) {
                    //success callback   
                    console.log("Success");
                } else {
                    //error callback      
                    console.log("Error");
                }
            }
        };
        req.send(JSON.stringify(parameters));

    } catch (e) {
        alert(e.message);
    }
}
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
NAV Team: Upgrading from Microsoft Dynamics NAV 2009 R2 or Microsoft Dynamics NAV 2009 SP1 to Microsoft Dynamics NAV 2015 Blog bot Dynamics CRM: Blogs 0 23.02.2015 13:00
Navigate Into Success: Passing JSON from JavaScript to C/AL Blog bot Dynamics CRM: Blogs 0 31.12.2014 10:00
Ошибка бизнес-процесса Tarasov E Dynamics CRM: Разработка 9 18.02.2010 14:02
NAV Team: How to run 2 RTC on the same pc and connect it to different db (how to run pages/reports from diff db) Blog bot Dynamics CRM: Blogs 0 17.11.2009 09:52
wiki.dynamicsbook: Changes Made in Navision Attain 3.60 Blog bot Dynamics CRM: Blogs 0 02.09.2008 13:23
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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