я хочу создать поиск путем объединения двух записей с помощью левого внешнего соединения в «SuiteScript версии 2.0»Как создать сохраненный поиск в NetSuite путем объединения двух записей с помощью левого внешнего соединения в SuiteScript 2.0
первый рекорд это стандартная запись (счет-фактура), а вторая запись - это пользовательская запись (контракт), в которой оба отчета имеют общие поля, а именно: класс и тип транзакции, владелец.
поляСчет записи являются транзакции столбцов поля (класс, тип сделки, владелец) контракта записи Поля являются пользовательские поля (класс, сделка, владелец)
я создал поиск для счета-фактуры записи и основанный на результатах поиска в записи счета, я создал поиск в записи контракта. мой код дает правильные результаты, но вопрос «возможно ли создать поиск двух разных записей, используя левое внешнее соединение в версии SuiteScript 2.0?»
//Create Search on Standard Invoice Record
var mySearch = search.create({
type: 'invoice',
columns: ['internalId', 'item', 'line', 'custcol_class', 'custcol_transaction_type', 'custcol_owner', 'amount'],
filters: ['trandate', 'after', '12/15/2015']
});
//Executing the First 100 records on the search result
var searchResult = mySearch.run().getRange(0, 100);
log.debug('Search Length', searchResult.length);
for (var i = 0; i < searchResult.length; i++) {
var lineId = searchResult[i].getValue({
name: 'line'
});
var item = searchResult[i].getValue({
name: 'item'
});
var contractClass = searchResult[i].getValue({
name: 'custcol_class'
});
var transactionType = searchResult[i].getValue({
name: 'custcol_transaction_type'
});
var owner = searchResult[i].getValue({
name: 'custcol_owner'
});
var invoice_id = searchResult[i].getValue({
name: 'internalId'
});
var invoice_amt = searchResult[i].getValue({
name: 'amount'
});
log.debug('Values', 'contractClass:' + contractClass + '-transactionType:' + transactionType + '-owner:' + owner);
if (contractClass != '' && owner != '' && transactionType != '') {
log.debug('create commision', 'item' + item + '-lineId:' + lineId + '-contractClass:' + contractClass + '-transactionType:' + transactionType + '-owner:' + owner);
createCommission(contractClass, transactionType, owner, invoice_id, invoice_amt);
}
}
}
function createCommission(contractClass, transactionType, owner, invoiceId, invoice_amt) {
log.debug('Entry', 'createCommission Initiated');
log.debug('invoice amount..', invoice_amt);
//Creating search on Custom Record Contract
var mySearch = search.create({
type: 'customrecord_contract',
columns: ['internalId', 'custrecord_rec_class', 'custrecord_vendor_fees_formula'],
filters: [
['custrecord_rec_class', 'anyof', contractClass], 'AND', ['custrecor_rec_transaction_type', 'anyof', transactionType], 'AND', ['custrecord__rec_owner', 'anyof', owner], 'AND', ['custrecord__vendor_fees_formula', 'anyof', INRAM_RS_V1]
]
});
}
Заранее спасибо