Борьба с сохранением файла ответов в формате PDF и присоединение его непосредственно к выполнению элемента

1

В настоящее время я работаю над проектом работы, в котором я работал с командой нашей логистической компании, чтобы интегрировать наши грузовые услуги. То, как работает рабочий процесс (это, кстати, скрипт пользовательского события), заключается в том, что информация, необходимая для отправки, собирается на пользовательской вкладке во время выполнения элемента. У нас есть Suitelet, который действует как подборщик цитат, поэтому, когда нажата кнопка "Получить предложение", которую мы создали, мы получаем прайс-лист со ставками для разных операторов. Данные не отправляются в их систему до тех пор, пока не будет выполнена передача, и когда это произойдет, мы преобразуем соответствующие данные в коносамент, который является возвращенным объектом. В настоящее время у нас есть возвращаемый pdf файл для сохранения в определенной папке в шкафу файлов, но файл напрямую не связан с записью транзакции. Я пытаюсь использовать поле mediaitem для непосредственного прикрепления PDF к записи через подтип файлов внутри вкладки связи. Я попытался установить вложенную вложенную папку в качестве места назначения вместо пользовательского "Freight BOL", который мы создали в шкафу файлов, но это не привязывает его к фактической записи. Ниже приведен фрагмент нашего кода импорта (я изменил его, чтобы избежать совместного использования точного кода), который в настоящее время сохраняет файл PDF "BOL" в нашем файловом кабинете:

        ***//above this is the post containing API key and etc***
        if (response.code != 200) {
        var responseBody = JSON.parse(response.body);
        log.error ({
            title: 'order #' + sonum + ' shipment import: ' + response.code,
            details: responseBody.Message
        });
        log.error ({
            title: 'order #' + sonum + ' shipment import messageBody',
            details: JSON.stringify(messageBody)
        });
        return;
    }
    //save BOL to Freight BOL folder in File Cabinet
    var bolFile = saveBOL(response);
    var fileId = bolFile.save();


  } catch (e) {
    log.error ({
      title: 'order #' + sonum + ' error: ' + e.name,
      details: e.message
    });
    log.error ({
      title: 'order #' + sonum + ' DLS Import messageBody',
      details: messageBody
    });
  }
}

function saveBOL(response){
  var responseBody = JSON.parse(response.body);
    var bolFile = file.create({
      name: responseBody.FileName,
      fileType: file.Type.PDF,
      contents: responseBody.FileBytes,
      folder: //folderidishere,
      isOnline: false
    });

  var fileId = bolFile.save();
  return bolFile;

}

Я пытаюсь найти что-либо через документацию или SuiteAnswers относительно сохранения файла в виде вложения в заказ через SuiteScript 2.0. Любые предложения/помощь будут очень признательны!

Теги:
netsuite
suitescript2.0

1 ответ

1

Используйте метод прикрепления модуля N/record.

    var id = record.attach({
    record: {
        type: 'file',
        id: bolFile
    },
    to: {
        type: 'itemfulfillment',
        id: <internalid of item fulfillment>
    }
  • 0
    Спасибо! У меня есть один вопрос по этому поводу, есть ли лучший способ инкапсулировать идентификатор выполнения элемента по мере его создания? Я на самом деле разработчик C #, и это мой первый опыт работы с JavaScript. Будем очень благодарны за любые предложения по хорошему учебному материалу или просто советы в целом!
  • 0
    stoic.software/effective-suitescript/suitescript-overview

Ещё вопросы

Сообщество Overcoder
Наверх
Меню