NetSuite で電子メール機能を実行するために 2 つのスクリプトを使用しています。ボタンを作成するユーザー イベント スクリプトと、必要なすべての変数を取得し、営業チームのサブリストにある値に基づいて電子メールを実行するクライアント スクリプトがあります。ここに私の問題があります:スクリプトをテストするとき、私は管理者の役割でテストしていたので、すべてうまくいきました(私が知っている初歩的な間違いです)。管理者以外の役割がボタンのクリックによってスクリプトを実行しようとすると、役割の権限の問題が原因で 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...