Suitescript 保存的搜索返回重复值
Suitescript saved search returning duplicate values
我有一个包含子列表的记录,该子列表的每个项目都是一个包含另一个子列表的记录。我想要的是,对于每个 itemA 获取每个 itemA 子列表的所有子列表。像这样
Bill of Lading
->FulfillmentA
->Item123
->Item124
->Item125
->FulfillmentB
->Item224
->Item226
->Item227
我创建了一个已保存的搜索,但搜索 returns 重复值,以及空值,我阅读了有关主线的信息,所以我使用了它,但是当我这样做时,一些记录丢失了。
主线错误
new nlobjSearchFilter('mainline', null, 'is', 'F')
Screenshot 1
有主线 True
new nlobjSearchFilter('mainline', null, 'is', 'T')
Screenshot 2
完整代码如下:
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>";
}
当我只想要交易的 item
行时,我通常使用以下过滤器构建搜索:
Main Line is false
COGS Line is false
Shipping Line is false
Tax Line is false
如您所见,交易结果中显示的子列表远不止商品子列表,因此您需要过滤掉其他子列表(税金、运费、COGS)。您还可以添加 Item is not empty
之类的过滤器,以查看这对您的结果有何影响。
我有一个包含子列表的记录,该子列表的每个项目都是一个包含另一个子列表的记录。我想要的是,对于每个 itemA 获取每个 itemA 子列表的所有子列表。像这样
Bill of Lading
->FulfillmentA
->Item123
->Item124
->Item125
->FulfillmentB
->Item224
->Item226
->Item227
我创建了一个已保存的搜索,但搜索 returns 重复值,以及空值,我阅读了有关主线的信息,所以我使用了它,但是当我这样做时,一些记录丢失了。
主线错误
new nlobjSearchFilter('mainline', null, 'is', 'F')
Screenshot 1
有主线 True
new nlobjSearchFilter('mainline', null, 'is', 'T')
Screenshot 2
完整代码如下:
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>";
}
当我只想要交易的 item
行时,我通常使用以下过滤器构建搜索:
Main Line is false
COGS Line is false
Shipping Line is false
Tax Line is false
如您所见,交易结果中显示的子列表远不止商品子列表,因此您需要过滤掉其他子列表(税金、运费、COGS)。您还可以添加 Item is not empty
之类的过滤器,以查看这对您的结果有何影响。