0
A
回答
1
我得到了Netsuite的回覆,你無法訪問Netsuite中的訂閱對象,所以我不得不寫一點點黑客。我所做的是抓住現有成員並加載它們。成員應該擁有所有活動訂閱的數組。
然後我遍歷它們並創建一個包含訂閱名稱和內部id的數組對象。
然後,我可以使用該數組遍歷僅傳入名稱的客戶訂閱並獲取匹配的internalid。
這是我寫的代碼。如果你認爲它可以寫的更好,請隨意簡化它。
var campaigns = new Array();
try {
// NETSUITE DOES NOT EXPOSE THE CAMPAIGN SUBSCRIPTIONS
var filters = new Array();
filters[0] = new nlobjSearchFilter('internalid', null, 'is', 26); //ANON CUSTOMER
var columns = new Array();
columns[0] = new nlobjSearchColumn('internalid');
//columns[1] = new nlobjSearchColumn('campaign', null, null);
results = nlapiSearchRecord('customer', null, filters, columns);
resultsTotal = (results != null) ? results.length : 0;
if (resultsTotal > 0) {
var customerid = results[0].getId();
var customer = nlapiLoadRecord('customer', customerid, {
customform: -2
});
var mystring = JSON.stringify(customer); //CONVERT TO STRING
var data = JSON.parse(mystring); //THEN PARSE TO JSON
for (var node in data) { //FOR EACH NODE IN DATA
for (attr in data[node]) { //FOR EACH ATTRIBUTE IN THE NODE
if (node == "subscriptions") {
for (var node2 in data[node][attr]) { //FOR EACH NODE IN SUBSCRIPTIONS
if (node2 == 'subscription') { //GET SUBSCRIPTION NODES
var campaign = new Object();
var name = '';
var internalid = 0;
for (var node3 in data[node][attr][node2]) {
if (node3 == 'name') {
name = data[node][attr][node2][node3];
} else if (node3 == 'internalid') {
internalid = parseInt(data[node][attr][node2][node3]);
}
}
//nlapiLogExecution('AUDIT', name, internalid); //NAME
campaign[name] = internalid;
if (!campaigns.hasObject()) {
campaigns.push(campaign);
}
//nlapiLogExecution('AUDIT', node2, JSON.stringify(data[node][attr][node2])); //SUBSCRIPTION
}
//nlapiLogExecution('AUDIT', node2, JSON.stringify(data[node][attr][node2]));
}
//nlapiLogExecution('AUDIT', node, JSON.stringify(data[node][attr])); //SUBSCRIPTIONS
}
}
}
nlapiLogExecution('AUDIT', 'CAMPAIGNS', JSON.stringify(campaigns));
}
} catch (e) {
nlapiLogExecution('ERROR', 'Error', 'There was an error. ' + e.name + ' - ' + e.message + '.');
}
return campaigns;
相關問題
- 1. NetSuite更新客戶訂閱條目
- 2. NetSuite restlet寫入性能差
- 3. 失敗的NetSuite RESTlet認證
- 4. 通過OAuth訪問NetSuite RESTlet
- 5. 無法調試Netsuite Restlet
- 6. NetSuite公司的Restlet錯誤代碼:INVALID_RETURN_DATA_FORMAT
- 7. 如何在Netsuite中異步調用restlet?
- 8. 的NetSuite的Restlet輸出概率
- 9. 無法訪問Netsuite中的Restlet文件?
- 10. 如何從外部調用netsuite restlet?
- 11. 沒有Restlet的Netsuite oauth集成
- 12. 閱讀RESTlet請求數據
- 13. 訂閱取消訂閱()
- 14. Angular2在訂閱內訂閱
- 15. iOS應用程序訂閱 - 按月訂閱每年訂閱?
- 16. 訂閱
- 17. 訂閱
- 18. 翻閱RSS訂閱
- 19. 使用dj-stripe訂閱多個訂閱
- 20. 如何取消訂閱socket.io訂閱?
- 21. paho-mqtt訂閱支票訂閱狀態
- 22. Rxjs - 重新訂閱取消訂閱Observable
- 23. 條帶訂閱 - 更新過期訂閱
- 24. 如何取消訂閱Weak訂閱MvvmCross
- 25. 訂閱/取消訂閱VS Create/TakeUntil?
- 26. 允許Feedburner訂閱xml訂閱源
- 27. 流星訂閱覆蓋舊訂閱嗎?
- 28. 取消訂閱/訂閱活動危險?
- 29. 訂閱和取消訂閱活動
- 30. 訂閱的訂閱Skus - 許可頻道