我想在NetSuite中创建一个脚本,需要客户提供一些历史信息。事实上,我需要的信息是知道用户是否购买了物品。 为此,我需要以某种方式访问该客户的历史。
巴勃罗。
答案 0 :(得分:0)
您可以将已保存的搜索nlapiLoadSearch
或nlapiCreateSearch
用于invoices
,按客户过滤,还可以报告发票项目(或仅报告特定项目)。使用nlapiCreateSearch
可能很难使用,因此我建议您使用用户界面构建已保存的搜索,然后使用nlapiLoadSeach(type, id)
这将为您提供一系列购买物品的发票/客户。
答案 1 :(得分:0)
尝试包含此功能并传递客户的internalID和item 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
}