【问题标题】:Is there any way with suitescript 1.0 to run a server side function on a client script (like getFieldText)?suitescript 1.0 有什么方法可以在客户端脚本(如 getFieldText)上运行服务器端功能?
【发布时间】:2021-10-26 05:01:28
【问题描述】:

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

【问题讨论】:

    标签: netsuite suitescript suitescript1.0


    【解决方案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。

    【讨论】:

      猜你喜欢
      • 2017-02-13
      • 1970-01-01
      • 1970-01-01
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      • 1970-01-01
      相关资源
      最近更新 更多