我正在为工作编写一个客户端脚本,其中一部分涉及获取成本类别文本的值以显示给用户。不幸的是,这似乎只是一个服务器端功能。我已经看过一些关于如何在 Suitescript 2.0 中完成此任务的帖子,但无论出于何种原因,我似乎无法让 Suitescript 2.0 脚本在 Netsuite 上运行。有什么方法可以在 1.0 中从客户端脚本运行 getFieldText 函数?
1 回答
1
我能够使用单独的 Suitelet 脚本来完成工作。
套件中的代码:
function getFTxt(request, response){
try{
var recordid = request.getParameter('rid');
var recordtype = request.getParameter('rt');
record = nlapiLoadRecord(recordtype, recordid);
var fieldName = request.getParameter('fn');
fieldText = record.getFieldText(fieldName);
response.write(fieldText);
}
catch(e){
var err = '';
if ( e instanceof nlobjError ){
err = 'System error: ' + e.getCode() + '\n' + e.getDetails();
}
else{
err = 'Unexpected error: ' + e.toString();
}
var errmsg = 'Error: ';
errmsg+= '\n' + err;
nlapiLogExecution( 'ERROR', 'Error is: ', errmsg);
response.write("");
}
}
我的原始脚本中的代码:
function getFieldText(field,item){
var url = nlapiResolveURL('SUITELET', 'customscriptScriptIdGoesHere', 'customdeployDeployIdGoesHere') + '&rid=' + item.getId() + '&rt=' + item.getRecordType() + '&fn=' + field;
var response = nlapiRequestURL(url);
return response.getBody();
}
然后,每当我想获取某个项目的字段文本时,我都会从脚本中调用该函数。请务必将脚本和部署 ID 替换为套件的 ID。
于 2021-10-26T05:01:28.903 回答