NetSuite获取不包含具有指定属性的项的事务

NetSuite获取不包含具有指定属性的项的事务,netsuite,Netsuite,我正在尝试创建未结待审批销售订单列表,这些订单不包含自定义字段中定义了特定值的项目。当销售订单仅包含符合此条件的项目时,我可以执行此操作。但是,当它们是两个项目,其中一个满足,而另一个不满足时,我的搜索将不再有效 我有两份销售订单。销售订单123具有地面运输方式,而销售订单321具有地面运输方式和运费运输方式的项目。我希望只退回销售订单123 我在“标准”一节中提出了这个公式: 当{item.custitem_shippingmethod}='运费'或{item.custitem_shippin

我正在尝试创建未结待审批销售订单列表,这些订单不包含自定义字段中定义了特定值的项目。当销售订单仅包含符合此条件的项目时,我可以执行此操作。但是,当它们是两个项目,其中一个满足,而另一个不满足时,我的搜索将不再有效

我有两份销售订单。销售订单123具有地面运输方式,而销售订单321具有地面运输方式和运费运输方式的项目。我希望只退回销售订单123

我在“标准”一节中提出了这个公式:

当{item.custitem_shippingmethod}='运费'或{item.custitem_shippingmethod}='免费运费'时,则1或0结束
但两份订单都被退回了。我尝试在总结标准中使用相同的公式,但也不起作用。有什么建议吗


谢谢大家!

返回的行是否具有运费值,或者您是否从同一订单中获得另一行?

您可能会使用摘要标准。它很实用,但不是最干净的搜索。您需要在结果中有相应的公式列,才能使其工作:

  • 按文档编号分组
  • 使用上述公式创建汇总类型为Sum的公式(数值)结果列

  • 创建类型为公式(数值)的汇总条件,汇总类型为Sum 并使用相同的公式,将该值设置为小于0

    这将只返回不包括装运的记录 方法

或者,您是否考虑过在保存记录时运行逻辑(workflow/suitescript)并存储复选框值,如“不包括运费”?这将使基于该标准的搜索更容易

例如,如果将ship方法存储在行中,则类似于:

// 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;
  } 
}
//设置运费方法索引
var freightMethods=['1','2']
var itemlinescont=nlapiGetLineItemCount('item');
//如果发现有一行使用了您正在寻找的一种货运方式,则标记该记录。
对于(变量i=1;i

如果只在项目记录上存储ship方法,操作起来可能会有点棘手(因为Netsuite处理项目记录类型的方式)。

您提到订单321有两行,其中一行与标准匹配。由于“Main line”设置为false,您的搜索应该返回带有匹配条件的每一行的订单321。在您的情况下,订单321是否在您的结果中返回一次?您的搜索基本上返回每个订单,其中至少有一行符合您的条件。您打算如何使用这些结果,您是只希望此保存的搜索在UI中可用,还是希望在任何脚本中使用结果?我们正在使用这些结果自动批准没有货运项目的Marketplaces销售订单。货运需要额外的步骤和与客户的确认,而地面项目则不需要。此搜索正在工作流中使用。它提供了来自同一订单的另一行。我能够用摘要标准解决问题。