我正在使用 2 个脚本在 NetSuite 中完成电子邮件功能。我有一个用户事件脚本,它创建一个按钮和一个客户端脚本,它提取所有需要的变量并根据在销售团队子列表中找到的值运行电子邮件。这是我的问题:在测试脚本时,一切都很好,因为我正在使用我的管理员角色进行测试(我知道新手错误)。当管理员以外的角色尝试通过单击按钮运行脚本时,由于角色权限问题(无法提取存储电子邮件地址的员工数据)而引发 nlObjError。是否可以在 UE 脚本(可以以管理员身份执行)中提取我需要的所有变量并将其传递给客户端脚本?
UE脚本:
function userEventCreateButton(type, form, request){
if (type != 'edit'){
return;
}
form.addButton('custpage_RequestSOW', "Request SOW", 'cs_RequestEmail()');
form.setScript('customscript224');
客户端脚本:
...for (var y = 1; y <= nlapiGetLineItemCount('salesteam'); y++) {
var z = nlapiGetLineItemValue('salesteam', 'salesrole', y);
nlapiLogExecution('DEBUG', 'sales role', z);
var user = nlapiGetUser();
**var username = nlapiLoadRecord('employee', user);**
var firstname = username.getFieldValue('firstname');
var lastname = username.getFieldValue('lastname');
var opptitle = nlapiGetFieldValue('title');
var customer = nlapiGetFieldValue('customer');
nlapiLogExecution('debug', 'user', user);
if (z != 5){}
else if (z == 5){
var employee_name = nlapiGetLineItemValue('salesteam', 'employee', y);
console.log(employee_name);
**var engrecord = nlapiLoadRecord('employee', employee_name);**
console.log(engrecord);
var engemail = engrecord.getFieldValue('email');
console.log(engemail);
nlapiSendEmail(user...