在 NetSuite 中将 Drop Ship PO 添加到现有销售订单
Adding Drop Ship PO to Existing Sales Order in NetSuite
我需要针对 NetSuite 中已经存在的销售订单创建直接发货采购订单,并且已经针对它创建了一个或多个直接发货 PO。现在,通常通过 UI 您只需单击项目行上的 "Drop Ship" link 就可以了,但这是通过 SuiteScript 以编程方式完成的。我以为我几年前就知道了,但那是几年前的事了,从那以后就再也没有出现过,我已经不记得当时我可能在处理什么文件了。
系统不允许将订单恢复到 "Pending Approval" 状态,所以我不能只是改变状态来强制系统创建新的 PO。我也试过以下但没有成功:
soRecord.setCurrentLineItemValue("item", "createpo", "DropShip");
soRecord.setCurrentLineItemValue("item", "povendor", vendorId);
除了将新项目行添加到销售订单之外,没有任何反应。我还尝试使用适当的供应商创建采购订单并将其附加到销售订单上的项目行,但它也没有效果:
soRecord.setCurrentLineItemValue("item", "createdpo", poId);
有什么我想念的吗?还是我一直在做傻事?
这些字段是只读的。这是我用的
var po = nlapiCreateRecord('purchaseorder', {recordmode:"dynamic", soid:<internal id of salesorder>,poentity:<preferred vendor of item>});
我们遇到了一个问题,即我们的自动投放船 PO 在 SO 创建时停止生成。在部署到 SO 的 afterSubmit UE 中,在项目行上收集一系列供应商,然后过滤以删除重复项。然后将此逻辑添加到 for 循环中,其中 i < 过滤供应商数组的长度:
var createDSPO = record.create({
type: record.Type.PURCHASE_ORDER,
defaultValues: {
soid: <SO internal id>,
shipgroup: 1,
dropship: true,
custid: <SO customer internal ID>,
entity: poVendorArray[i],
poentity: poVendorArray[i]
}
});
createDSPO.save();
仅供参考,如果您检查 SO 记录中的“Drop Ship”link,您就会明白我这样做的原因。您也许可以想出另一种方法来做到这一点。
我需要针对 NetSuite 中已经存在的销售订单创建直接发货采购订单,并且已经针对它创建了一个或多个直接发货 PO。现在,通常通过 UI 您只需单击项目行上的 "Drop Ship" link 就可以了,但这是通过 SuiteScript 以编程方式完成的。我以为我几年前就知道了,但那是几年前的事了,从那以后就再也没有出现过,我已经不记得当时我可能在处理什么文件了。
系统不允许将订单恢复到 "Pending Approval" 状态,所以我不能只是改变状态来强制系统创建新的 PO。我也试过以下但没有成功:
soRecord.setCurrentLineItemValue("item", "createpo", "DropShip");
soRecord.setCurrentLineItemValue("item", "povendor", vendorId);
除了将新项目行添加到销售订单之外,没有任何反应。我还尝试使用适当的供应商创建采购订单并将其附加到销售订单上的项目行,但它也没有效果:
soRecord.setCurrentLineItemValue("item", "createdpo", poId);
有什么我想念的吗?还是我一直在做傻事?
这些字段是只读的。这是我用的
var po = nlapiCreateRecord('purchaseorder', {recordmode:"dynamic", soid:<internal id of salesorder>,poentity:<preferred vendor of item>});
我们遇到了一个问题,即我们的自动投放船 PO 在 SO 创建时停止生成。在部署到 SO 的 afterSubmit UE 中,在项目行上收集一系列供应商,然后过滤以删除重复项。然后将此逻辑添加到 for 循环中,其中 i < 过滤供应商数组的长度:
var createDSPO = record.create({
type: record.Type.PURCHASE_ORDER,
defaultValues: {
soid: <SO internal id>,
shipgroup: 1,
dropship: true,
custid: <SO customer internal ID>,
entity: poVendorArray[i],
poentity: poVendorArray[i]
}
});
createDSPO.save();
仅供参考,如果您检查 SO 记录中的“Drop Ship”link,您就会明白我这样做的原因。您也许可以想出另一种方法来做到这一点。