ACP2E-4840: GraphQL產品查詢針對自訂存貨存貨上的庫存產品傳回null數量
ACP2E-4840修補程式修正產品GraphQL查詢中的數量欄位,針對有庫存且可在自訂存貨上銷售的產品傳回null的問題。 安裝Quality Patches Tool (QPT) 1.1.82時,即可使用此修補程式。 修補程式ID為ACP2E-4840。 請注意,此問題已排程在Adobe Commerce 2.4.10中修正。
受影響的產品和版本
已為Adobe Commerce版本建立修補程式:
- Adobe Commerce (所有部署方法) 2.4.8-p4
與Adobe Commerce版本相容:
- Adobe Commerce (所有部署方法) 2.4.8 - 2.4.8-p5
magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。問題
產品GraphQL查詢中的數量欄位會針對庫存中的產品傳回Null,這些產品可在自訂存貨存貨上銷售。
必要條件:
MSI已啟用。
要再現的步驟:
-
建立新的來源。
-
在管理員側邊欄上,前往Stores > Inventory > Stock。
-
按一下Add New Stock。
-
展開 Sales Channels 並選取有可用庫存的Websites。
-
展開Sources,按一下Assign Sources,選取您要指派的來源,然後按一下Done。
-
在管理員側邊欄上,前往Catalog > Products並以編輯模式開啟現有產品。
-
在 Sources 區段中,指派自訂來源、將 Source Item Status 設定為In Stock、輸入 Qty 的非零值,然後儲存產品。
-
在Catalog > Products中確認產品針對指派給自訂庫存的網站顯示非零Salable Quantity。
-
針對指派給使用自訂庫存之網站的商店檢視,針對該SKU執行下列
productsGraphQL查詢:code language-none query { products(filter: { sku: { in: ["product_dynamic_1"] } }) { items { sku name stock_status quantity max_sale_qty } } } -
觀察回應:
code language-none { "data": { "products": { "items": [ { "sku": "product_dynamic_1", "name": "Simple Product 1", "stock_status": "IN_STOCK", "quantity": null, "max_sale_qty": 10000 } ] } } }
預期結果:
GraphQL回應會針對目前商店/網站上已有庫存且可銷售的產品傳回非Null數量值。
實際結果:
當商店使用自訂MSI庫存時,對於有庫存且在管理員中可銷售的產品,GraphQL回應會傳回quantity = null,而stock_status = IN_STOCK。
套用修補程式
若要套用個別修補程式,請根據您的部署方法使用下列連結:
- Adobe Commerce或Magento Open Source內部部署: Quality Patches Tool指南中的Quality Patches Tool >使用狀況
- 雲端基礎結構上的Adobe Commerce:雲端基礎結構上的Commerce指南中的升級和修補程式>套用修補程式
相關閱讀
若要進一步瞭解Quality Patches Tool,請參閱: