問題

文字列データをbase64形式にエンコードし、タイプが長いテキストであるカスタムフィールドに出力を設定しました。レコードのユーザーインターフェイスでは、エンコードされた値の出力全体を見ることができました。

カスタムフィールド値を取得する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は値を3,999文字に変換します。そのため、完全な値が表示されません。

  同じタグがついた質問を見る

netsuitesuitescriptsuitescript2.0