3

我们正在 NetSuite 上编写脚本以与第三方应用程序集成。

当您访问记录时(无论是查看还是编辑),我们需要确定 NetSuite 用户对该记录拥有何种权限。

我通过文档知道这些是可能的权限值:

  • 创造
  • 编辑
  • 满的
  • 没有任何
  • 看法

我也知道我可以通过以下方式获得用户权限:

var userObj = runtime.getCurrentUser();
var permission = userObj.getPermission('ADMI_ACCOUNTING')`

问题是我需要知道根据我所在的当前记录具体要求什么权限。我在 currentRecord 中找不到可以让我请求用户对象权限的值能够确定用户对记录的权限级别。

任何对如何实现这一点有想法的人都会非常感激!

4

1 回答 1

6

我认为你最好的选择是创建一个辅助函数,将记录类型映射到它们的匹配权限。您必须手动维护它。

看起来您使用的是 SS2.0,因此假设您有可用的 N/record 模块(或类似的模块),您可以执行以下操作:

function getPermissionName(recordType) {
    var objectPermissionMap = {
        customer: 'LIST_CUSTJOB',
        invoice: 'TRAN_CUSTINVC'
    };

    return objectPermissionMap[recordType];
}

var user = runtime.getCurrentUser();
var permissionName = getPermissionName(record.type);
var permission = runtime.getPermission(permissionName);
于 2018-01-16T23:49:22.550 回答