Проблема с получением значения поля в SuiteScript2.0 - PullRequest
0 голосов
/ 06 февраля 2019

Я закодировал строковые данные в формат 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 голосов
/ 19 февраля 2019

Значение поля содержит искомое значение, однако log.debug усекает значение до 3999 символов.Вот почему вы не видите полное значение.

...