我在Netsuite中创建了一个使用1.0版API的Scheduled SuiteScript。目标是让脚本每天运行一次,使用可编写脚本的电子邮件模板向我们的第一次客户发送包含其姓名(或公司名称)和其他预先格式化内容的电子邮件。
一旦启动并运行,我们计划使用其他功能扩展它,但这是我们希望在添加其他代码之前运行的基础。
错误消息是:
SSS_MERGER_ERROR_OCCURRED - 发生合并错误:合并期间遇到意外错误。
一切顺利,直到实际使用.merge()。我已添加以下代码:
function thankyouletter() {
var searchresults = nlapiSearchRecord(null, 'customsearch127'); // minus: , filters
if (searchresults == null) {
response.write('Var searchresults is null.');
return;
} else {
nlapiLogExecution('DEBUG', 'START - Found search results', 'Starting iteration');
for (var i = 0; searchresults != null && i < searchresults.length; i++) {
var searchresult = searchresults[i];
var searchCols = searchresult.getAllColumns();
var internalid = searchresult.getId(); // Will be used after testing is finished
var emailMerger = nlapiCreateEmailMerger(38);
emailMerger.setEntity('customer', 24886); // Set for Testing
var mergeResult = emailMerger.merge(); // Fails and errors here
var emailSubject = mergeResult.getSubject();
var emailBody = mergeResult.getBody();
nlapiSendEmail(nlapiGetUser(), customerid, emailSubject, emailBody, null, null, null, null);
nlapiLogExecution('DEBUG', 'Merge Troubleshooting', 'Just after SendEmail');
}
}
var usageRemaining = context.getRemainingUsage();
nlapiLogExecution('DEBUG', 'usage left => ' + usageRemaining);
nlapiLogExecution('DEBUG', 'Script Finished.', 'Mission Complete');
}
为了便于阅读,我删除了一些nlapiLogExecution行。如果有任何疑问或需要其他信息,请告诉我,我会添加/修复它。
我已经挖掘了大量Netsuite的文档,SuiteAnswers和试图找到解决方案的网页搜索,但错误信息非常模糊。
非常感谢任何帮助!谢谢。
答案 0 :(得分:0)
经过进一步研究,我发现Freemarker模板有语法错误,导致错误。