Netsuite 在SuiteScript2.0中获取字段值时遇到问题

Netsuite 在SuiteScript2.0中获取字段值时遇到问题,netsuite,suitescript,suitescript2.0,Netsuite,Suitescript,Suitescript2.0,我将字符串数据编码为base64格式,并将输出设置为自定义字段,该字段的类型为长文本。在记录的用户界面中,我可以看到整个编码值的输出。但是,当尝试使用rec.getText({fieldId:'customfieldname')获取输出值时,它会以某种方式破坏该值,并且不会返回整个值。自定义字段值的大小是否有限制 获取自定义字段值的UserEvent脚本: function beforeSubmit(scriptContext) { try { var invrecord =

我将字符串数据编码为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)} 
                  }

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

通过UI创建的长文本包含1000000个字符,通过SuiteScript创建的长文本包含100000个字符。您是否尝试过使用
getValue
而不是
getText
?您还可以将其设置为HIDDEN+INLINEHTML,因为我怀疑是否需要查看base64数据required@ehcanadian是的,我试过getValue。两者都返回相同的结果。@niso您怎么知道脚本没有得到全部值?如果您依赖的是
log.debug
,您可能看不到所有数据,因为日志记录会将该值截断为3999个字符。@是的,它会返回整个数据,但在日志中不会显示所有数据。在这种情况下,我应该回复我的帖子,或者我们如何关闭它?