通过单击netsuite中的自定义按钮,可以显示记录的编辑页面?

问题描述:

我想通过点击,而不是“标准的编辑按钮”通过单击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

但记录的网址与我们点击标准的“​​编辑”按钮时相同。 (I,E)rectype = 194 & ID = 237 &é= T

在此先感谢

+0

您的代码。但是,最好的我可以告诉,从文档中,addButton片只适用于suitelets。它是N/ui/serverWidget模块的一部分。对不起,我忍不住了。 – W3BGUY

我不完全知道你为什么会收到此错误与原始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模块:似乎缺少很多必要的2.0件

require(['N/redirect', 'N/record'], function(redirect, r) { 
    redirect.toRecord({ 
     "type": r.Type.TASK, 
     "id": 6, 
     "isEditMode": true 
    }); 
});