ACP2E-4799: GraphQL-Abfrage requisition_lists gibt falsche total_count mit Paginierung zurück

Mit dem Patch ACP2E-4799 wird das Problem behoben, bei dem die requisition_lists GraphQL-Abfrage einen falschen total_count zurückgibt, der nur die Anzahl der Elemente auf der aktuellen Seite anstelle der Gesamtzahl der Anforderungslistenentitäten widerspiegelt, die den Abfragekriterien entsprechen. Dieser Patch ist verfügbar, wenn Quality Patches Tool (QPT) 1.1.82 installiert ist. Die Patch-ID lautet ACP2E-4799. Dieses Problem wird voraussichtlich in Adobe Commerce B2B 1.5.4 behoben.

Betroffene Produkte und Versionen

Der Patch wird für die Adobe Commerce-Version erstellt:

  • Adobe Commerce (alle Bereitstellungsmethoden) B2B 1.5.2-p4

Kompatibel mit Adobe Commerce-Versionen:

  • Adobe Commerce (alle Bereitstellungsmethoden) B2B >=1.5.0 <1.5.3
NOTE
Der Patch könnte mit neuen Quality Patches Tool-Versionen auch für andere Versionen gelten. Um zu überprüfen, ob der Patch mit Ihrer Adobe Commerce-Version kompatibel ist, aktualisieren Sie das magento/quality-patches auf die neueste Version und überprüfen Sie die Kompatibilität auf der Seite Quality Patches Tool: Nach Patches suchen. Verwenden Sie die Patch-ID als Suchbegriff, um den Patch zu finden.

Problem

Wenn Kunden Anforderungslisten mit Paginierung abfragen, spiegelt das total_count nicht die vollständige Anzahl der passenden Anforderungslisten wider. Stattdessen wird nur die Anzahl der für die aktuelle Seite zurückgegebenen Elemente angezeigt, wodurch die Paginierungsmetadaten ungenau sind.

Voraussetzungen:

Anforderungslisten sind für Adobe Commerce B2B aktiviert.

Schritte zur Reproduktion:

  1. Gehen Sie in der Admin zu Stores > Einstellungen > Konfiguration.

  2. Wählen Sie im linken Bedienfeld unter Allgemein die Option B2B-Funktionen.

  3. Legen Sie Enable Requisition List auf Yes fest und wählen Sie Save Config aus.

  4. Melden Sie sich bei der Storefront als Kunde an.

  5. Wählen Sie “My Requisition Lists” und erstellen Sie sechs Anforderungslisten.

  6. Stellen Sie sicher, dass der Kunde über genau sechs Anforderungslisten verfügt und dass jeder Listenname ABC enthält, sodass alle sechs Listen mit der gefilterten Abfrage übereinstimmen.

  7. Führen Sie die folgende GraphQL-Abfrage aus, wobei pageSize auf zwei und currentPage auf eins gesetzt ist:

    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. Führen Sie diese GraphQL-Abfrage aus:

    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
          }
        }
      }
    }
    

Erwartete Ergebnisse:

  • Die requisition_lists Abfrage gibt total_count zurück, die der Gesamtzahl der Anforderungslisten des Kunden entspricht, unabhängig von pageSize und currentPage.
  • Die Paginierungsdaten bleiben konsistent mit dem vollständigen übereinstimmenden Ergebnissatz.

Tatsächliche Ergebnisse:

total_count Gibt nur die Anzahl der Elemente auf der aktuellen Seite zurück, z. B. zwei statt sechs.

Patch anwenden

Verwenden Sie je nach Bereitstellungsmethode die folgenden Links, um einzelne Patches anzuwenden:

Verwandtes Lesen

Weitere Informationen zu Quality Patches Tool finden Sie unter:

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