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
NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。

問題

產品GraphQL查詢中的數量欄位會針對庫存中的產品傳回Null,這些產品可在自訂存貨存貨上銷售。

必要條件

MSI已啟用。

要再現的步驟

  1. 建立新的來源。

  2. 在管理員側邊欄上,前往​Stores > Inventory > Stock

  3. 按一下​Add New Stock

  4. 展開​ Sales Channels ​並選取有可用庫存的​Websites

  5. 展開​Sources,按一下​Assign Sources,選取您要指派的來源,然後按一下​Done

  6. 在管理員側邊欄上,前往​Catalog > Products​並以編輯模式開啟現有產品。

  7. 在​ Sources ​區段中,指派自訂來源、將​ Source Item Status ​設定為​In Stock、輸入​ Qty ​的非零值,然後儲存產品。

  8. 在​Catalog > Products​中確認產品針對指派給自訂庫存的網站顯示非零​Salable Quantity

  9. 針對指派給使用自訂庫存之網站的商店檢視,針對該SKU執行下列products GraphQL查詢:

    code language-none
    query {
      products(filter: { sku: { in: ["product_dynamic_1"] } }) {
        items {
          sku
          name
          stock_status
          quantity
          max_sale_qty
        }
      }
    }
    
  10. 觀察回應:

    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

套用修補程式

若要套用個別修補程式,請根據您的部署方法使用下列連結:

相關閱讀

若要進一步瞭解Quality Patches Tool,請參閱:

recommendation-more-help
commerce-operations-help-tools