ACP2E-4799: GraphQL クエリ requisition_listsがページネーションで正しくないtotal_countを返す

ACP2E-4799 パッチは、requisition_lists GraphQL クエリが、クエリ条件に一致する要件リストエンティティの合計数ではなく、現在のページの項目数のみを反映する誤ったtotal_count値を返す問題を修正します。 このパッチは、Quality Patches Tool (QPT) 1.1.82がインストールされている場合に利用できます。 パッチ IDはACP2E-4799です。 この問題は、Adobe Commerce B2B 1.5.4で修正される予定です。

影響を受ける製品とバージョン

パッチはAdobe Commerceのバージョン​用に作成されました

  • Adobe Commerce(すべてのデプロイメント方法) B2B 1.5.2-p4

Adobe Commerceのバージョンとの互換性:

  • Adobe Commerce(すべてのデプロイメント方法) B2B >=1.5.0 <1.5.3
NOTE
このパッチは、新しいQuality Patches Tool リリースを含む他のバージョンに適用される可能性があります。 パッチがAdobe Commerceのバージョンと互換性があるかどうかを確認するには、magento/quality-patches パッケージを最新バージョンに更新し、Quality Patches Tool:パッチの検索ページ ​で互換性を確認します。 パッチ IDを検索キーワードとして使用して、パッチを検索します。

イシュー

顧客がページネーション付きの購買リストをクエリする場合、total_count フィールドには、一致する購買リストの総数が反映されません。 代わりに、現在のページに対して返されるアイテムの数のみをレポートします。これにより、ページネーションのメタデータが不正確になります。

前提条件:

Adobe Commerce B2Bでは、リクエストリストが有効になっています。

複製する手順:

  1. 管理者で、Stores > 設定 > 設定​に移動します。

  2. 一般​の下の左側のパネルで、B2B機能​を選択します。

  3. Enable Requisition List​を​ Yes ​に設定し、Save Config​を選択します。

  4. 顧客としてストアフロントにログインします。

  5. My Requisition Lists​を選択し、6つの購買リストを作成します。

  6. 顧客が正確に6つの購買リストを持ち、各リスト名にABCが含まれていることを確認し、6つのリストがすべてフィルターされたクエリと一致するようにします。

  7. pageSizeが2に、currentPageが1に設定された次のGraphQL クエリを実行します。

    code language-graphql
    query {
      customer {
        requisition_lists(
          pageSize: 2
          currentPage: 1
        ) {
          items {
            uid
            name
          }
          total_count
          page_info {
            current_page
            page_size
            total_pages
          }
        }
      }
    }
    
  8. 次のGraphQL クエリを実行します。

    code language-graphql
    query {
      customer {
        requisition_lists(
          filter: { name: { match: "%ABC%" } }
          pageSize: 2
          currentPage: 1
        ) {
          items {
            uid
            name
          }
          total_count
          page_info {
            current_page
            page_size
            total_pages
          }
        }
      }
    }
    

期待される結果:

  • requisition_lists クエリは、pageSizecurrentPageとは独立して、顧客が所有する購買リストの合計数に等しいtotal_countを返します。
  • ページネーション データは、完全に一致する結果セットと一致したままになります。

実際の結果:

total_countは、現在のページの項目数のみを返します。例えば、6個ではなく2個です。

パッチを適用する

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

関連トピックス

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

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