Netsuite Item Выполнение Недействительные позиции - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь установить 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);

Любая помощь будет отличной.:)

1 Ответ

0 голосов
/ 05 декабря 2018
  • убедитесь, что товар находится в инвентаре
  • убедитесь, что товар доступен вашей дочерней компании
  • убедитесь, что вы правильно вводите списки, если применимо
  • dump $ saleItem, чтобы увидеть что в нем, чтобы убедиться, что замечание имеет значение null
...