NetSuite预加载取消操作

问题描述

我有一个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
});

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...