2017-05-01 65 views
2

嗨和二我不是一个痛苦,我得到了发送声明的帮助,并完美的工作,但我需要发送发票,但我找不到像我这样做的方法声明。我找到了使用模板文件的参考资料,然后您必须将文件存储在内阁中。我必须在那里附上电子邮件,你认为最好的办法是什么?SuiteScript 2电子邮件发票

这是另一个链接,他给出了一个非常有用的关于发送语句的完整答案。我应该同时向他询问发票,但我没有想到,道歉。

SuiteScript 2 can send pdf statements

增加了额外的信息 好,我试过,但我得到一个错误,因为我使用他们的模板,就没有意义了。 “error.SuiteScriptError”,“name”:“USER_ERROR”,“message”:“解析XML时出错:对实体\”c \“的引用必须以';'分隔符“,

require(['N/render', 'N/file', 'N/record'], 
function(render, file, record) { 
function renderRecordToPdfWithTemplate() { 

var renderer = render.create(); 
renderer.setTemplateByScriptId("STDTMPLCUSTINVC"); 
var xml = renderer.renderAsString(); 

renderer.addRecord(record.Type.INVOICE, record.create({ 
type: record.Type.INVOICE, 
id:415619 
})); 
var invoicePdf = renderer.renderAsPdf(); 

var foo = this; 

} 
renderRecordToPdfWithTemplate(); 
}); 

感谢这个

回答

2

好吧任何帮助,我发现它的感谢,如果有人一直在寻找这对我来说。这非常简单,但像NetSuite一样,你必须找到它。 :) entityid是发票内部其余很容易,然后只是传递文件对象的电子邮件。

require([ 'N/render', 'N/file', 'N/record' ], 
function(render, file, record) { 
function renderRecordToPdfWithTemplate() { 


var transactionFile = render.transaction({ 
    entityId: 415619, 
    printMode: render.PrintMode.PDF 
}); 

var foo = this; 

} 

renderRecordToPdfWithTemplate(); 
}); 

再次感谢

+0

只是好奇。你能够只用require来使用该脚本,而不是define? – W3BGUY

+1

在调试器中,当你必须做的时候,它看不到定义。就像NetSuite,LOL一样,始终不一致。 – jk121960

+0

好吧,我以为你真的是这样做的...... :)我知道你可以;但是,我认为你必须有一个仍然调用它的定义(当不使用调试器时)。嘿,至少NetSuite保持有趣...大声笑。代码工作一天,然后返回下一个随机错误...:D – W3BGUY

相关问题