Функция вызова addButton в Netsuite Suitelet

Я изо всех сил пытаюсь найти способ добавить кнопку в Suitelet, которая вызывает другую функцию в том же Suitelet. Я много чего пробовал, но ничего не могу заставить работать. Я также пытался создать клиентский скрипт и вызвать клиентский скрипт, но проблема с этим решением в том, что мне нужно вызвать другую функцию в Suitelet из клиентского скрипта.

function Image(request, response){
	
  var form = nlapiCreateForm("Today's Checks", true);

  function next(count){
    //code here
    showImage(imageId);//call to another function
  }
  
  form.addButton('custpage_next','Next',"next();");
  response.writePage(form);
  
  showImage(id){
    //more code . . . 
    }
  }


person kdub    schedule 16.11.2015    source источник


Ответы (1)


Пакет работает на стороне сервера. Вам необходимо включить код на стороне клиента. Поместите нужный код в другой файл и используйте его для создания клиентского скрипта. При создании дайте ему полезный идентификатор. Скрипт развертывать не нужно. потом

form.setScript('customscript_clientscriptid');

Затем вы можете использовать функции из этого файла в коде кнопки.

person bknights    schedule 16.11.2015
comment
Спасибо, что действительно помогло! Однако теперь мне нужно установить значение поля в форме suitescript с переменной, которая была установлена ​​в клиентском скрипте. Я пробовал nlapiSetFieldValue (...), но, похоже, это не сработало. Как я могу установить значение поля в форме набора из клиентского скрипта? - person kdub; 01.12.2015
comment
Мне удалось найти решение для моего комментария выше, но я не уверен, почему это сработало. Поле, которое я использую в форме, является встроенным полем HTML. Если я установил значение по умолчанию для своего поля с помощью .setDefaultValue в люкслете, то я могу установить значение с помощью клиентского скрипта. - person kdub; 01.12.2015