Что я хочу случить
Я хочу иметь возможность вызывать Suitelet из пользовательского события, передавая идентификатор записи.
ЧтоВ настоящее время происходит
Либо выдается ошибка «INSUFFICIENT_PERMISSION», либо не выдается ошибка, но суллет не вызывается.
Подробности
Привет всем, я пытаюсь вызвать сиклет из пользовательского события. У нас есть запись, созданная с некоторыми данными, после создания этой записи в пользовательском событии я хочу создать Заказ клиента и Заказ на продажу. Мне также нужно, чтобы пользовательские события этих записей запускались. Я знаю, что пользовательское событие не может вызвать другое пользовательское событие, поэтому я написал пакет для вызова, который будет выполнять обработку. Я пытаюсь вызвать пакет с помощью следующего кода.
var scheme = 'https://';
var host = url.resolveDomain({
hostType: url.HostType.APPLICATION
});
var suitletURL = url.resolveScript({
scriptId : 'customscript_pws_sl_data',
deploymentId : 'customdeploy_pws_sl_data'
});
var parameters = {
dataid : scriptContext.newRecord.id,
};
log.debug("URL", scheme + host + suitletURL);
var response = https.post({
url : scheme + host + suitletURL + "&dataid=" + scriptContext.newRecord.id,
body : parameters
});
При использовании этого кода не выдается никаких ошибок, но пакет также не запускается. Я знаю это, потому что, как только мой пакет запускается, я регистрирую «Выполнение»
log.debug("Running");
var user = runtime.getCurrentUser();
var script = runtime.getCurrentScript();
// Get parameters
var params = context.request.parameters;
log.debug("Context", JSON.stringify(context.request));
log.debug("Params", JSON.stringify(params));
. Теперь я регистрирую URL, который использует пользовательское событие, и если я копирую и вставляю его в браузер, пакет запускается. ,Итак, я знаю, что URL-адрес правильный.
ЧТО Я ПОПРОБОВАЛ
Я попытался добавить параметр
returnExternalUrl: true
вызова https. Используя этот DOES , позвоните в Suitelet, однако я могу выдать ошибку, сообщающую
"type":"error.SuiteScriptError","name":"INSUFFICIENT_PERMISSION","message":"Permission Violation: You need the 'Lists -> Items' permission to access this page. Please contact your account administrator.","stack":["createError(N/error)","getOrderLines(/SuiteScripts/PWS Additional Modules/Additional Modules/Ecommerce Data/pws_lib_ecommerce.js:972)","processData(/SuiteScripts/PWS Additional Modules/Additional Modules/Ecommerce Data/pws_lib_ecommerce.js:109)","onRequest(/SuiteScripts/PWS Additional Modules/Additional Modules/Ecommerce Data/pws_sl_ecommdata.js:40)"],"cause":{"type":"internal error","code":"INSUFFICIENT_PERMISSION","details":"Permission Violation: You need the 'Lists -> Items' permission to access this page. Please contact your account administrator.","userEvent":null,"stackTrace":["createError(N/error)","getOrderLines(/SuiteScripts/PWS Additional Modules/Additional Modules/Ecommerce Data/pws_lib_ecommerce.js:972)","processData(/SuiteScripts/PWS Additional Modules/Additional Modules/Ecommerce Data/pws_lib_ecommerce.js:109)","onRequest(/SuiteScripts/PWS Additional Modules/Additional Modules/Ecommerce Data/pws_sl_ecommdata.js:40)"],"notifyOff":false},"id":"","notifyOff":false,"userFacing":false}
Для развертывания Suite установлено значение «Доступно без входа в систему: истина» и «Все роли: истина»
Обновление
I am getting You must login before accessing this page.
Я вошел в систему и звоню из UserEvent