我在NetSuite中有一个自定义按钮,我想知道是否有任何方法可以使用按钮在表单上设置字段 . 基本上,我将有一个批准按钮,将锁定编辑,我想知道我是否可以通过按钮和JavaScript执行此操作 . 据我所知,我无法访问脚本的上下文,因为我从用户事件脚本开始,然后转到客户端 . 我可能也只是缺少一些非常愚蠢的东西,但我对NetSuite相当新 . 这是我在用户事件脚本中的内容
function beforeLoad(context) {
var form = context.form;
form.clientScriptModulePath = './_kk_fc_cs_sd.js';
form.addButton({
id : 'custpage_china_approve_btn',
label : 'Approve - China',
functionName : 'chinaApproveFinalQuote'
});
form.addButton({
id : 'custpage_dallas_approve_btn',
label : 'Approve - Dallas',
functionName : 'dallasApproveFinalQuote'
})
}
然后我的客户端脚本
function chinaApproveFinalQuote()
{
alert(record.id);
var firstCost = context.currentRecord;
firstCost.setValue('custrecord_kk_sd_fc_master_carton_cb', true);
}
它几乎不知道上下文是什么 . 我尝试在用户事件脚本中传递它,并尝试使用record.id,但这些都没有 . 任何想法,或者我必须采取不同的方式吗?
2 回答
虽然你可以这样做(看看SS2.0 Display Message on Record中客户端和用户脚本之间的关系,这是一个工作流程往往优秀的领域
工作流具有锁定记录的方法,除了特定用户;显示特定用户的批准/拒绝按钮;在批准时设置字段等 .
您遇到的问题是因为您需要在客户端脚本中使用currentRecord来设置/获取值 . 另外需要注意的是,如果您只通过其NetSuite文件夹位置引用客户端脚本(实际上未部署到记录中),则仍需要包含pageInit入口点函数(尽管它可以为空) . 另一个SuiteScript 2.0警告......