Добавление группы товаров в заказ клиента в Netsuite с использованием SuiteTalk и PHP
Я пытаюсь добавить заказы на продажу для товаров типа "Группа товаров", используя SuiteTalk через PHP Toolkit.
Если товар относится к другим типам, например, "Товарно-материальные запасы, Товарно-материальные запасы", заказы добавляются без проблем.
Когда элемент имеет тип "Группа элементов", я получаю следующую ошибку:
Код: INVALID_KEY_OR_REF Сообщение: недействительный ссылочный код 1 цены для позиции NNNNNN. Тип: ОШИБКА
Где NNNNN - внутренний идентификатор дочернего инвентарного запаса, подключенного к этой группе товарных единиц
Вот как я устанавливаю свой 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;
Какие-нибудь мысли?
ОБНОВИТЬ:
Я сделал обходной путь - я проверяю каждую позицию заказа на продажу по ее типу, и если это "Группа товаров", я заполняю заказ на продажу товарами из этой группы. Это немного медленнее, но работает.
1 ответ
Если вы столкнетесь с этой ошибкой, вы заметите, что идентификатор элемента, который вызывает ошибку, не является тем же элементом, который указан на уровне заголовка счета-фактуры / заказа на продажу. Проблема здесь - "Базовая цена" (или любой другой уровень цен, внутренний идентификатор 1
) не определено для этого элемента компонента группы элементов.
Если указать "Базовую цену", эта ошибка исчезнет!