Вызов API по кнопке в форме после выполнения действия

Задача. Необходимо вызвать некий метод АПИ после выполнения основного действия в форме в SaveItem

Решение. 

В SaveItem используем SELECT 2 Внешнее действие вызов API apirequest (подробности здесь - https://falconspace.ru/docs/vneshnie-deystviya)

В SELECT 1 ставим 1 Result, ' ' Msg (когда пробел идет в Msg, не выводится стандартное окошко результата).

Для обработки ответа от API необходимо задействовать JS коллбек формы для SaveItem.  Подробности - https://falconspace.ru/docs/formy--kak-dobavit-kollbek-posle-zagruzki-formy-i-posle-sokhraneniya-formy

В data.additionalData приходит результат внешних действий. Его необходимо верно распарсить через JSON.parse и извлечь результаты и вывести через alert. 

В консоли браузера (F12 / Console) можно посмотреть, что приходит в additionalData по структуре - это JSON объект, сериализованный в строку. 

Пример подобного подхода: 

as.formcallbacks["form1_saveItem"] = function(data){
    var ad = JSON.parse(data.additionalData);
    console.log(ad, "form1_saveItem")
    if(ad){
      	var el = ad[0];
    	if(el.result){
          	var msg = el.msg || "OK";
            for(var i=0; i< el.items.length; i++){
              var elx = el.items[i];
              if(elx.key=="spCallbackResult"){
                   ....                          
              }
            }          
        	as.sys.bootstrapAlert(msg, {type: "success", delay: 100000, hidePrev: true});
          	as.sys.closeDialog();
            as.initControls($('body'));
        }else{
        	as.sys.bootstrapAlert(el.msg || "Operation error", {type: "danger",  delay: 100000, hidePrev: true});
        }       
    }
  }

 

 

 

Страница-источник на сайте falconspace.ru