在SuiteScript2.0中获取字段值的麻烦

时间:2019-02-06 13:47:34

标签: netsuite suitescript suitescript2.0

我已将字符串数据编码为base64格式,并将输出设置为类型为长文本的自定义字段。在记录的用户界面中,我可以看到编码值的整个输出。但是,在尝试使用rec.getText({fieldId:'customfieldname'})来获取输出值时,它会破坏值并且不会返回整个值。自定义字段值是否有限制大小?

UserEvent脚本以获取自定义字段值:

function beforeSubmit(scriptContext) {

  try {
      var invrecord = scriptContext.newRecord;
      var encodedata = invrecord.getText({fieldId: 'customfield'});

      log.debug({title:'Custom field value',
                details: encodedata});
      return true;
      }
  catch (e) {  
      log.error({
             title: e.name,
             details: e.message
               });
       return false;
     }}
   return {
   beforeSubmit: beforeSubmit, };});

要对字段值进行编码,我使用了以下代码:

        function encodeBase64Binary(strdata) {
        try{
            var base64EncodedString = encode.convert({
                string: strdata,
                inputEncoding: encode.Encoding.UTF_8,
                outputEncoding: encode.Encoding.BASE_64
            });
            return base64EncodedString;
        }
        catch (e) {
               log.error({
                   title: e.name,
                   details: e.message)} 
                  }

1 个答案:

答案 0 :(得分:3)

该字段的值包含您要查找的值,但是log.debug将值截断为3,999个字符。这就是为什么您看不到完整的价值。