2015-11-16 3 views
0

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

function Image(request, response){ 
 
\t 
 
    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 . . . 
 
    } 
 
    }

ответ

4

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

form.setScript('customscript_clientscriptid'); 

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

+0

Спасибо, что очень помогли! Однако теперь мне нужно установить значение поля в форме namescript с переменной, установленной в клиентском скрипте. Я пробовал nlapiSetFieldValue (...), но это не работает. Как установить значение поля в форме набора пакетов из сценария клиента? – kdub

+0

Мне удалось выяснить решение моего комментария выше, но я не уверен, почему он сработал. Поле, которое я использую в форме, является встроенным полем html. Если я установил значение по умолчанию для моего поля, используя .setDefaultValue в наборе пакетов, тогда я могу установить значение, используя Client Script – kdub

Смежные вопросы