NetSuite加载前取消操作
我有一个userevent beforeload,它有条件地删除打印按钮。如果用户在列表视图中,他们仍然可以从该菜单打印。所以我想知道是否有人知道一种方法,可以拦截请求并重定向或通知他们,甚至可以更改使用的pdf模板 以下是我的代码片段:NetSuite加载前取消操作,netsuite,suitescript2.0,Netsuite,Suitescript2.0,我有一个userevent beforeload,它有条件地删除打印按钮。如果用户在列表视图中,他们仍然可以从该菜单打印。所以我想知道是否有人知道一种方法,可以拦截请求并重定向或通知他们,甚至可以更改使用的pdf模板 以下是我的代码片段: if (scriptContext.type === scriptContext.UserEventType.PRINT) { if(status == 2){ log.d
if (scriptContext.type === scriptContext.UserEventType.PRINT) {
if(status == 2){
log.debug({
title: 'Trying to Print Approved PO',
details: status
});
return true;
}
else{
log.debug({
title: 'Trying to Print UnApproved PO',
details: status
});
//code here to redirect users, notify them of issue or change to different pdf template
return false;
}
}
虽然不理想,但我只是抛出了一个错误,没有抓住它
throw 'This error is a result of trying to print a PO that has not been approved.';
您可以在UE beforeLoad事件上添加复选框字段,并设置值true/false(如果用户可以/无法生成pdf)。然后控制freemarker AdvPDF上的新字段,如果用户无法生成pdf,则可以显示消息,而不是打印内容
var field=objForm.addField({
id:“custpage\u allow\u access”,
类型:serverWidget.FieldType.CHECKBOX,
标签:“允许访问”
});
field.defaultValue=“F”;
field.updateDisplayType({
displayType:serverWidget.FieldDisplayType.HIDDEN
});代码>谢谢你的建议。我考虑过这一点,但我们有很多模板,我希望避免向所有模板添加逻辑,并尽可能保持它们的干净。