В настоящее время я работаю над проектом работы, в котором я работал с командой нашей логистической компании, чтобы интегрировать наши грузовые услуги. То, как работает рабочий процесс (это, кстати, скрипт пользовательского события), заключается в том, что информация, необходимая для отправки, собирается на пользовательской вкладке во время выполнения элемента. У нас есть 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. Любые предложения/помощь будут очень признательны!
Используйте метод прикрепления модуля N/record.
var id = record.attach({
record: {
type: 'file',
id: bolFile
},
to: {
type: 'itemfulfillment',
id: <internalid of item fulfillment>
}