-1

我正在为工作编写一个客户端脚本,其中一部分涉及获取成本类别文本的值以显示给用户。不幸的是,这似乎只是一个服务器端功能。我已经看过一些关于如何在 Suitescript 2.0 中完成此任务的帖子,但无论出于何种原因,我似乎无法让 Suitescript 2.0 脚本在 Netsuite 上运行。有什么方法可以在 1.0 中从客户端脚本运行 getFieldText 函数?

4

1 回答 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 回答