我想在NetSuite中創建一個需要客戶一些歷史信息的腳本。事實上,我需要的信息是知道用戶是否購買了物品。 爲此,我需要以某種方式訪問此客戶的歷史記錄。如何使用NetSuite中的腳本檢查特定客戶的歷史信息?
Pablo。
我想在NetSuite中創建一個需要客戶一些歷史信息的腳本。事實上,我需要的信息是知道用戶是否購買了物品。 爲此,我需要以某種方式訪問此客戶的歷史記錄。如何使用NetSuite中的腳本檢查特定客戶的歷史信息?
Pablo。
嘗試加入這個功能並通過客戶的internalID和項目internalID
function hasPurchasedBefore(customerInternalID, itemInternalID){
var results = [];
var filters = [];
var columns = [];
filters.push(new nlobjSearchFilter('internalidnumber', 'customermain', 'equalto', [customerInternalID]))
filters.push(new nlobjSearchFilter('anylineitem', null, 'anyof', [itemInternalID]));
filters.push(new nlobjSearchFilter('type', null, 'anyof', ['CustInvc']));
columns.push(new nlobjSearchColumn('internalid', null, 'GROUP'));
results = nlapiSearchRecord('transaction', null, filters, columns);
if (results && results.length){
return true;
}
return false;
}
例子:
var record = nlapiLoadRecord(nlapiGetRecordType(),nlapiGetRecordId());
var customerInternalID = record.getFieldValue('entity');
var itemInternalID = record.getLineItemValue('item', 'item', 1); //Gets line 1 item Internal ID
if(hasPurchasedBefore(customerInternalID, itemInternalID)) {
//Has bought something before
}
您可以使用已保存的搜索nlapiLoadSearch
或nlapiCreateSearch
代替invoices
,由客戶過濾,還可以報告發票項目(或只是特定項目)。使用nlapiCreateSearch
可能會非常棘手使用,所以我建議建立使用UI保存的搜索,然後使用nlapiLoadSeach(type, id)
這會給你發票/購買了你的產品的客戶的數組加載它。
如果您恰當地使用在客戶記錄_Stage_字段,然後,有一個客戶的任何記錄_Customer_的_Stage_應該購買了一些東西。如果你沒有這樣使用Stage字段,那麼這看起來不像是一個難以建立的搜索。 您對「用戶購買物品」的定義是什麼?是否爲此客戶提供銷售訂單?發票?現金出售? – erictgrubaugh