Я работаю над проектом, в котором мне нужно импортировать данные о запасах в Magento один раз в час из внешней системы. У меня есть скрипт для импорта товара через SQL, и он прекрасно работает:
INSERT INTO `cataloginventory_stock_item`
(`product_id`, `stock_id`, `qty`, `is_in_stock`, `manage_stock`, `use_config_manage_stock`) VALUES (?, ?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE
`qty` = VALUES(`qty`), `is_in_stock` = VALUES(`is_in_stock`)
INSERT INTO `inventory_source_item`
(`source_code`, `sku`, `quantity`, `status`) VALUES (?, ?, ?, ?)
ON DUPLICATE KEY UPDATE
`quantity` = VALUES(`quantity`), `status` = VALUES(`status`)
Однако, с момента появления новой системы управления запасами Magento 2.3, мы сейчас работаем в проблему, потому что теперь ведется журнал в таблице inventory_reservation
, который используется при подсчете количества имеющихся запасов.
Я не уверен, что является лучшей практикой здесь, потому что мне нужно, чтобы стоимость акций управлялась из эта внешняя система, которая также получает поток размещенных заказов и соответствующим образом корректирует запас, но Magento также делает это так, чтобы каждый запас заказа вычитался дважды.
Является ли это лучшим вариантом, если каждый раз просто очищать таблицу inventory_reservation Я запускаю импорт, поэтому Magento просто думает, что на складе есть эта сумма, или мне не хватает чего-то действительно очевидного здесь, в M2.3?