1

我正在尝试通过 PHP Toolkit 使用 SuiteTalk 添加具有“项目组”类型项目的销售订单。

当项目是其他类型时,例如“库存项目,非库存项目”,添加订单没有问题。

当项目是“项目组”类型时,我收到以下错误:

代码:INVALID_KEY_OR_REF 消息:项目 NNNNNN 的价格参考键 1 无效。类型:错误

其中 NNNNN 是连接到此项目组的子库存项目的内部 ID

以下是我设置 SalesOrderItem 的方式:

$nsItem = new SalesOrderItem();

$nsItem->item = new RecordRef();
$nsItem->item->internalId = $orderItem->product->foreignId;
$nsItem->item->type = $orderItem->product->itemType;
$nsItem->item->typeSpecified = true;

$nsItem->price = new RecordRef();
$nsItem->price->type = "priceLevel";
$nsItem->price->internalId = "-1"; // the default custom price level
$nsItem->rate = $orderItem->amounts->price;

$nsItem->quantity = $orderItem->qty;

有什么想法吗?

更新:

我做了一个解决方法 - 我正在检查每个销售订单项目的类型,如果它是“项目组”,我将使用该组中的项目填充销售订单。它有点慢但有效。

4

1 回答 1

0

如果遇到此错误,您会注意到导致错误的项目 ID发票/销售订单抬头级别指定的项目不同。这里的问题是“基本价格”(或任何价格水平是内部 ID 1)未在项目组的该组件项目上定义。

如果您指定“基本价格”,此错误将消失!

于 2017-10-25T19:58:50.723 回答