我的代码在文档存储库中正确创建了一个文件,并将其附加到NetSuite中的记录。但是,当文件类型应为PDF时,其类型为“其他二进制文件”。我读过,对于PDF,我们必须以64为基数进行编码,但是即使这样,它也不会生成PDF。有人看到问题吗?

var fileobj = nlapiCreateFile(docname, doctype, doccontent)
        fileobj.setName(docname)
        fileobj.setFolder(folderid)
        fileobj.setIsOnline(true)
        fileobj.setEncoding('UTF-8')
        var fileid = nlapiSubmitFile(fileobj)


传入的数据:

{
  "filecontent" : "test",
  "filename" : "PO Doc Test",
  "filetype" : "PDF",
  "folderid" : 521,
  "recordtype": "purchaseorder",
  "recordid": 13832
}

最佳答案

您将必须使用BFO生成PDF。这是一个简单的示例,该示例生成一个带有字符串“ test”的PDF:

function createPDFFile(docname, folderid)
{
    var xml = "<?xml version=\"1.0\"?>\n<!DOCTYPE pdf PUBLIC \"-//big.faceless.org//report\" \"report-1.1.dtd\">\n<pdf>\n<body font-size=\"18\">test</body>\n</pdf>";

    var fileobj= nlapiXMLToPDF(xml);

    fileobj.setName(docname);
    fileobj.setFolder(folderid);
    fileobj.setIsOnline(true);
    fileobj.setEncoding('UTF-8');

    var fileid = nlapiSubmitFile(fileobj);
}

10-02 12:58