努力将响应文件另存为pdf并将其直接附加到项目实现中

时间:2018-10-26 19:37:15

标签: javascript netsuite suitescript2.0

我目前正在从事一个工作项目,在这个项目中,我与物流公司的团队合作,整合了我们的货运服务。当前工作流为 (顺便说一下,这是一个用户事件脚本) 的方式是,在项目履行期间,装运所需的信息收集在自定义选项卡中。我们有一个Suitelet充当报价选择器,因此,当单击我们创建的“获取报价”按钮时,我们将获得一个包含各种承运人费率的价目表。 直到提交完成,数据才发送到他们的系统,并且在这种情况下,我们将相关数据转换为提单,这是返回的对象。 目前,我们已将返回的pdf设置为保存到文件柜中的特定文件夹,但是该文件未与交易记录直接关联。 我正在尝试使用“ mediaitem”字段通过通信选项卡内的文件子选项卡将pdf直接附加到记录。我尝试将附件接收的文件夹设置为目标,而不是我们在文件柜中创建的自定义“货运BOL”作为目标,但这并未将其附加到实际记录中。 以下是我们的导入代码 (为了避免共享确切的代码,我已对其进行了更改) 的摘要,当前将“ BOL” pdf文件保存到我们的文件柜中:

        ***//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将文件另存为订单附件的任何信息。任何建议/帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

使用N /记录模块的附加方法。

    var id = record.attach({
    record: {
        type: 'file',
        id: bolFile
    },
    to: {
        type: 'itemfulfillment',
        id: <internalid of item fulfillment>
    }