2016-09-21 2 views
1

Я хочу показать страницу редактирования записи, нажав на пользовательскую кнопку вместо «стандартной кнопки редактирования»Можно ли отобразить страницу редактирования записи, нажав пользовательскую кнопку в netsuite?

Мой код:

Script Version: Suite Script 2.0 
User Event Script: 
    function beforeLoad(context) { 

     log.debug('Test', 'Before Load Event Initiated'); 
     var frm = context.form; 
     frm.clientScriptFileId = 2250; 

     //Values from System/ScriptContext 
     var record = context.newRecord; 
     if (context.type == context.UserEventType.VIEW) { 
      frm.addButton({ 
       id: 'custpage_cust_edit_btn', 
       label: 'Deactivate Record', 
       functionName: 'customRecordEditMode(' + record.id + ')' 
      }); 
     } 

    } 

Client Script: 

    function customRecordEditMode(recordID) { 
     debugger; 
     try { 
      window.location.href = "https://system.sandbox.netsuite.com/app/common/custom/custrecordentry.nl?rectype=194&id=" + recordID + "&e=T"; 
     } catch (exception) { 
      alert("Error:", exception.message); 
     } 
    } 

Сообщение об ошибке:

Я получаю следующее сообщение об ошибке:

enter image description here

, но адрес записи такой же, как при нажатии стандартной кнопки «Редактировать». (Я, е) RecType = 194 & ID = 237 & е = T

заранее спасибо

+0

Ваш код, кажется, отсутствует много необходимых 2,0 штук. Но, насколько я могу судить, из документов, часть addButton доступна только для наборов. Он является частью модуля N/ui/serverWidget. Извините, я больше не мог помочь. – W3BGUY

ответ

2

Я не совсем уверен, почему вы бы получить эту ошибку с сырой URL, но вместо того, чтобы использовать необработанный URL-адрес, вы пробовали использовать модуль N/url?

require(['N/url', 'N/record'], function(url, r) { 
    var output = url.resolveRecord({ 
     recordType: r.Type.SALES_ORDER, 
     recordId: 6, 
     isEditMode: true 
    }); 
}); 

или, возможно, даже лучше было бы N/redirect модуль:

require(['N/redirect', 'N/record'], function(redirect, r) { 
    redirect.toRecord({ 
     "type": r.Type.TASK, 
     "id": 6, 
     "isEditMode": true 
    }); 
}); 
Смежные вопросы