Netsuite PHP无法将项目添加到新销售订单

baubqpgj  于 2023-04-10  发布在  PHP
关注(0)|答案(1)|浏览(114)

正如标题所说,我在使用Ryan Winchester(https://github.com/netsuitephp/netsuite-php)创建的NetSuite PHP API客户端时没有运气将项目添加到销售订单中。它实际上只是带有名称空间和自动加载的Netsuite PHPToolKit,所以它的工作原理是一样的。当我到达SO的项目时,我循环通过它们如下:

$items = array();
foreach ($order->basketDetails->basketItems as $item) {
    $cartItem = new SalesOrderItem();
    $cartItem->item = $itemResponse->searchResult->recordList->record[0]->internalId;
    $cartItem->quantity = $item->productQuantity;
    $cartItem->rate = "42.97";
    $items[] = $cartItem;

一旦我有了数组中的所有项目,我就把它们添加到SalesOrderItemList中:

$itemList = new SalesOrderItemList();
$itemList->item = $items;

然后,我将项目列表添加到销售订单($sale是在脚本的前面创建的:$销售= new SalesOrder();)

$sale->itemList->item = $itemList;

但是,当我尝试执行销售订单的创建时,我得到了以下错误:
[04-Apr-2023 15:11:52 UTC] PHP Fatal error:未捕获的SoapFault异常:[soapenv:服务器端发生异常] org.xml.sax.SAXException:{urn:sales_2021_1.transactions.webservices.netsuite.com}SalesOrderItemList上的项目必须属于/var/www/composer/vendor/ryanwinchester/netsuite-php/src/NetSuiteClient.php中的{urn:sales_2021_1.transactions.webservices.netsuite.com}SalesOrderItem类型:196
我不知道从这里到哪里去,因为每一个项目是它自己的SalesOrderItem对象。任何帮助将不胜感激。

afdcj2ne

afdcj2ne1#

请尝试更改:

$sale->itemList->item = $itemList;

对此:

$sale->itemList = $itemList;

相关问题