如何在 Netsuite 中创建保存的搜索,方法是在 SuiteScript 2.0 中使用左外部联接连接两条记录
How to create saved search in netsuite by joining two records using left outer join in SuiteScript 2.0
我想通过在"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]
]
});
}
提前致谢
不幸的是,
NetSuite目前无法做到这一点。
您将不得不满足于编写一个函数,该函数接收两组结果并相应地组合它们。如果您使用任何数组实用程序库(如 lodash),则可以使用 _.groupBy
之类的东西来简化组合。
相关文章:
- 如何在从外部连接时将外部文件包含到node-js项目中
- Javascript,闭包中的返回函数如何与外部函数连接
- Node和Socket.io…阻止外部客户端连接
- 查看使用外部化连接配置文件的 birt 报告
- 具有redis连接的外部数据库
- joomla:使用joomladb函数在joomla外部建立数据库连接
- 使用Angular连接到外部API
- 如何从控制台将LightTable动态连接到外部浏览器
- 如何将此js代码连接到外部工作表并连接到html
- 推迟执行连接到控制事件的Javascript,以支持外部jQuery函数
- 无法使用jQuery按钮链接连接外部HTML文件
- 可以't从套接字连接外部定义的方法发出
- 连接到外部服务器的HTML5应用程序
- 网页是否可以检测到连接的外部显示器
- Openshift和外部mysql数据库与node-mysql(错误:连接ECONNREFUSED)
- 外部链接包含facebook连接功能
- 为什么我不能连接到外部链接.js ?(使用Xcode插件phonegap)
- jQuery可排序-将放置在外部的项目移动到连接列表
- 如何在 Netsuite 中创建保存的搜索,方法是在 SuiteScript 2.0 中使用左外部联接连接两条记录
- 合并两个backbone.js集合(外部连接)