如何“部分”履行销售订单?

时间:2012-07-01 10:51:57

标签: netsuite

我尝试以多种方式创建itemFulfillment条记录,但无论我做什么,销售订单总是“完全”完成(无论是否所有项目都已实现。)

如果销售订单中只有“部分”商品已经发货,我们只需将这些商品设置为满足,这样就可以对相应的采购订单进行结算,并将跟踪发送给客户。当我们仅尝试履行这些项目时,销售订单总是以满足所有项目的方式结束。这给我们带来了许多问题。

我尝试过的事情:

  • 从头开始创建新项目实现(不使用初始化)

  • 使用initialize创建新项目履行(以获取对现有IF记录的引用)

  • 仅添加已完成的订单项

  • 添加所有订单项,明确设置quantityRemaining = quantity(尚未履行项目的位置),并为已履行的项目设置quantityRemaining = 0

  • 使用ReplaceAll = true尝试变体,然后使用ReplaceAll = false再次尝试变体。

在每种情况下,SalesOrder中的每个项目都标记为完全符合(每个项目都设置为已完成。)

如果有人能够“部分”履行销售订单,您能否知道该怎么做?

4 个答案:

答案 0 :(得分:2)

我今天通过以下方式实现了这项工作:

  1. ReplaceAll设为false
  2. 避免设置quantityRemaning值(在获取对项目实现的引用之后)
  3. 将数量设置为发货数量(确保将quantitySpecified设置为true)
  4. 如果您不熟悉处理itemFulfillment记录,请确保将“行”设置为销售订单中的相应行。如果您初始化记录,则会自动完成此操作。

    请参阅使用初始化here创建itemFulfillment记录的示例(NetSuite网站上提供的PDF文件)。

    然后,您只需要上述三个步骤即可“部分”完成销售订单。

答案 1 :(得分:1)

按照上面的答案,虽然在2016.1端点的规范中找不到p4 triggers,也没有在初始化的履行对象中找到,所以省略了它并且工作正常。

另一件需要考虑的事情是,如果您的quantitySpecified项目上有多个商品位置且初始化了商品,则需要删除不同的所有商品地点比您目前正在履行的地点。否则,您将收到有关从多个位置执行的错误消息,与使用UI时相同。我们通过将数量默认为0并仅为当前正在实现的实际货件添加数量来实现此目的。

答案 2 :(得分:1)

  1. 将销售订单转换为itemfulfillment
  2. 完成所需的订单项,设置数量等
  3. 将履行状态设置为shipped
  4. 保存成就
  5. 现在应该部分满足销售订单

答案 3 :(得分:0)

尝试用yourRecObj.setLineItemValue('item", "quantity", 1, "0")代替yourRecObj.setLineItemValue('item", "quantity", 1, 0)