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​に0以外の値を入力して、製品を保存します。

  8. Catalog > Products​で、製品がカスタム在庫に割り当てられたweb サイトに対してゼロ以外の​ Salable Quantity ​を表示していることを確認します。

  9. カスタム在庫を使用するweb サイトに割り当てられたストアビューに対して、その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の応答では、在庫があり、現在の店舗/web サイトで販売可能な商品について、null以外の数量の値が返されます。

実際の結果:

ストアがカスタム MSI在庫を使用する場合、GraphQLの応答はquantity = nullを返しますが、stock_status = IN_STOCKは在庫があり、管理画面で販売可能な商品に対して返されます。

パッチを適用する

個別のパッチを適用するには、デプロイメント方法に応じて次のリンクを使用します。

関連トピックス

Quality Patches Toolについて詳しくは、次を参照してください。

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