我有一个包含子列表的记录,该子列表中的每个项目都是具有另一个子列表的记录。我想要的是,对于每个itemA获取每个itemA子列表的所有子列表。喜欢这个
Bill of Lading
->FulfillmentA
->Item123
->Item124
->Item125
->FulfillmentB
->Item224
->Item226
->Item227
我创建了一个已保存的搜索,但搜索返回重复的值,还有空的,我读到主线,所以我使用了它,但是当_I这样做时,一些记录丢失了。
主线为假
new nlobjSearchFilter('mainline', null, 'is', 'F')
主线为True
new nlobjSearchFilter('mainline', null, 'is', 'T')
以下是完整代码:
var lines= record.getLineItemCount('recmachcustrecord_id_billoflading');
var afulfill = [];
for(var i = 1; i <= lines; i++){
afulfill.push(record.getLineItemValue('recmachcustrecord_id_billoflading', 'custrecord_fulfillment', i));
}
if(afulfill != null && afulfill.length>0){
var filters = [
new nlobjSearchFilter('internalid', null, 'anyof', afulfill),
new nlobjSearchFilter('mainline', null, 'is', 'T'),
];
var columns = [new nlobjSearchColumn('item')];
var searchresult = nlapiSearchRecord('itemfulfillment', null, filters, columns);
}
for(var i = 0; i < searchresult.length; i++){
var search = searchresult[ i ];
htmlCode += "<p>" + JSON.stringify(search) + "</p>";
}
答案 0 :(得分:4)
当我只想要事务的item
行时,我通常使用以下过滤器构建搜索:
Main Line is false
COGS Line is false
Shipping Line is false
Tax Line is false
正如您所看到的,在交易结果中显示的子列表远远多于项目子列表,因此您需要过滤掉其他(税,运费,COGS)。您还可以添加类似Item is not empty
的过滤器,以了解它对结果的影响。