我正在尝试创建一个未结清单批准销售订单的列表,这些订单不包含在自定义字段中定义的具有特定值的项目。当销售订单仅包含符合此条件的商品时,我可以执行此操作。但是,如果它们是两个项目而另一个相遇而另一个不相符,则我的搜索不再有效。
我有两个销售订单。销售订单 123 的运输方式为Ground,而销售订单 321 的物料包含地面运输方式和运费方式。我希望只返回销售订单 123 。
我在标准部分制作了这个公式:
CASE WHEN {item.custitem_shippingmethod} = 'Freight' Or {item.custitem_shippingmethod} = 'Free Freight' THEN 1 ELSE 0 END
但两份订单都退回了。我尝试在摘要标准中使用相同的公式但是也没有用。有什么建议吗?
Picture of Criteria in NetSuite
谢谢!
答案 0 :(得分:1)
您可以使用摘要标准。它很实用,但它不是最干净的搜索。您需要在结果中包含相应的公式列才能使其正常工作:
使用上述公式创建一个公式(数字)结果列,其摘要类型为Sum。
使用Sum类型的摘要创建类型为公式(Numeric)的摘要条件 并使用相同的公式并将值设置为小于0.
这将仅返回不包含运送的记录 方法
或者,您是否考虑过保存记录时运行逻辑(workflow / suitescript)并存储复选框值,例如"不包括运费"?它会使基于该标准的搜索更容易。
例如,如果您将发货方法存储在该行上,请执行以下操作:
// Set your freight method indexes
var freightMethods = ['1','2']
var itemLinesCount = nlapiGetLineItemCount('item');
// If a line is found with one of the freight methods you're looking for then mark the record.
for(var i = 1; i < itemLinesCount; i++)
{
var shipMethod = nlapiGetLineItemValue('item', 'custcol_shipmethod', i);
if(freightMethods.indexOf(shipMethod) !== -1)
{
nlapiSetFieldValue('custbody_includes_freight', 'T');
break;
}
}
如果仅将船舶方法存储在物品记录中,则操作起来可能有点棘手(由于Netsuite处理物品记录类型的方式)。
答案 1 :(得分:0)
返回的行是否具有运费值,或者您是从同一订单获得另一行?