2017-05-30 46 views
0

我在使用1.0版本的API的Netsuite中創建一個Scheduled SuiteScript。我們的目標是讓腳本每天運行一次,以便使用Scriptable電子郵件模板向我們的第一次客戶發送包含其名稱(或公司名稱)和其他預格式化內容的電子郵件。Netsuite電子郵件合併錯誤(SSS_MERGER_ERROR_OCCURRED)

一旦啓動並運行,我們計劃將其擴展爲額外的功能,但這是我們希望在添加其他代碼之前運行的基礎。

的錯誤信息是:

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

經過進一步研究,我發現Freemarker模板有一個語法錯誤,並且導致錯誤。