Я пытаюсь установить SalesOrder для выполнения с помощью PHP Netsuite Api, но я получаю следующую ошибку:
VALID_LINE_ITEM_REQD — у вас должна быть хотя бы одна действительная позиция для
эта сделка.
Я использую https://github.com/ryanwinchester/netsuite-php библиотека.
Пока у меня есть следующее. Я также пытался использовать методы Initialise, которые я видел в некоторых примерах, но все они, похоже, дают одну и ту же ошибку. Мы используем Advanced Inventory Management, если это поможет.
$itemFulfillment = new ItemFulfillment();
// Sales Order
$itemFulfillment->createdFrom = new RecordRef();
$itemFulfillment->createdFrom->internalId = <SALES_ORDER_ID>;
$itemFulfillment->shipStatus = ItemFulfillmentShipStatus::_shipped;
// Customer
$itemFulfillment->entity = new RecordRef();
$itemFulfillment->entity->internalId = <CUSTOMER_ID>;
// List
$fullfillmentList = new ItemFulfillmentItemList();
$fullfillmentList->replaceAll = true;
foreach($salesOrder->itemList->item as $saleItem) {
$item = new ItemFulfillmentItem();
$item->location = new RecordRef();
$item->location->internalId = 4;
$item->item = new RecordRef();
$item->item->internalId = $saleItem->item->internalId;
$item->itemIsFulfilled = true;
$item->itemReceive = true;
$item->quantity = $saleItem->quantity;
$item->orderLine = $saleItem->line;
// Department Reference
$departmentRec = new RecordRef();
$departmentRec->internalId = 5;
$item->department = $departmentRec;
$fullfillmentList->item[] = $item;
}
$itemFulfillment->itemList = $fullfillmentList;
$request = new AddRequest();
$request->record = $itemFulfillment;
$client->add($request);
Любая помощь будет отличной. 🙂
Других решений пока нет …