ACP2E-4840: Abfrage von GraphQL-Produkten gibt Null-Mengen für vorrätige Produkte in benutzerdefinierten Lagerbeständen zurück

Mit dem Patch ACP2E-4840 wird das Problem behoben, dass das Mengenfeld in der GraphQL-Abfrage für Produkte null für Produkte zurückgibt, die auf Lager sind und für benutzerdefinierte Lagerbestände zum Verkauf verfügbar sind. Dieser Patch ist verfügbar, wenn Quality Patches Tool (QPT) 1.1.82 installiert ist. Die Patch-ID lautet ACP2E-4840. Dieses Problem wird voraussichtlich in Adobe Commerce 2.4.10 behoben.

Betroffene Produkte und Versionen

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

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.8-p4

Kompatibel mit Adobe Commerce-Versionen:

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.8 - 2.4.8-p5
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

Das Mengenfeld in der GraphQL-Abfrage „Produkte“ gibt null für Produkte zurück, die auf Lager sind und für benutzerdefinierte Lagerbestände zum Verkauf stehen.

Voraussetzungen:

MSI ist aktiviert.

Schritte zur Reproduktion:

  1. Erstellen Sie eine neue Quelle.

  2. Navigieren Sie in der Seitenleiste Admin zu Stores > Inventory > Stock.

  3. Klicken Sie auf Add New Stock.

  4. Erweitern Sie Sales Channels und wählen Sie die Websites aus, in der das Lager verfügbar ist.

  5. Erweitern Sie Sources, klicken Sie auf Assign Sources, wählen Sie die zuzuweisende Quelle aus und klicken Sie auf Done.

  6. Navigieren Sie in der Admin-Seitenleiste zu Catalog > Products und öffnen Sie ein vorhandenes Produkt im Bearbeitungsmodus.

  7. Weisen Sie im Abschnitt Sources die benutzerdefinierte Quelle zu, legen Sie Source Item Status auf In Stock fest, geben Sie einen Wert ungleich null für Qty ein und speichern Sie das Produkt.

  8. Bestätigen Sie in Catalog > Products, dass das Produkt einen Salable Quantity ungleich null für die Website anzeigt, die dem benutzerdefinierten Lager zugewiesen ist.

  9. Führen Sie die folgende products-GraphQL-Abfrage für diese SKU für die Store-Ansicht aus, die der Website zugewiesen ist, die den benutzerdefinierten Stock verwendet:

    code language-none
    query {
      products(filter: { sku: { in: ["product_dynamic_1"] } }) {
        items {
          sku
          name
          stock_status
          quantity
          max_sale_qty
        }
      }
    }
    
  10. Beobachten Sie die Antwort:

    code language-none
    {
      "data": {
        "products": {
          "items": [
            {
              "sku": "product_dynamic_1",
              "name": "Simple Product 1",
              "stock_status": "IN_STOCK",
              "quantity": null,
              "max_sale_qty": 10000
            }
          ]
        }
      }
    }
    

Erwartete Ergebnisse:

Die GraphQL-Antwort gibt einen Mengenwert ungleich null für Produkte zurück, die sich auf Lager befinden und auf der aktuellen Filiale/Website verkauft werden können.

Tatsächliche Ergebnisse:

Die GraphQL-Antwort gibt quantity = null zurück, während stock_status = IN_STOCK für Produkte ist, die vorrätig sind und im Admin verkauft werden können, wenn der Store ein benutzerdefiniertes MSI-Lager verwendet.

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