问题描述
我有一个userevent预加载,有条件地删除打印按钮。如果用户在列表视图中,他们仍然可以从该菜单进行打印。因此,我想知道是否有人知道一种方法来拦截请求并重定向或通知他们,甚至更改使用的pdf模板。
这是我的代码段:
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.';
,
如果用户可以/不能生成pdf,则可以在UE的beforeLoad事件上添加复选框字段,并将值设置为true / false。然后,在自由标记AdvPDF上控制新字段,如果用户无法生成pdf,则可以显示一条消息,而不是打印内容。
var field = objForm.addField({
id: 'custpage_allow_access',type: serverWidget.FieldType.CHECKBOX,label: 'Allow access'
});
field.defaultValue = "F";
field.updateDisplayType({
displayType: serverWidget.FieldDisplayType.HIDDEN
});