通过单击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);
}
}
错误消息:
我收到以下错误消息:
但记录的网址与我们点击标准的“编辑”按钮时相同。 (I,E)rectype = 194 & ID = 237 &é= T
在此先感谢
答
我不完全知道你为什么会收到此错误与原始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
});
});
您的代码。但是,最好的我可以告诉,从文档中,addButton片只适用于suitelets。它是N/ui/serverWidget模块的一部分。对不起,我忍不住了。 – W3BGUY