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に0以外の値を入力して、製品を保存します。
-
Catalog > Productsで、製品がカスタム在庫に割り当てられたweb サイトに対してゼロ以外の Salable Quantity を表示していることを確認します。
-
カスタム在庫を使用するweb サイトに割り当てられたストアビューに対して、その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の応答では、在庫があり、現在の店舗/web サイトで販売可能な商品について、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について詳しくは、次を参照してください。
- Quality Patches Tool: ツール ガイドの品質パッチ のセルフサービス ツール