[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}

MDVA-44147: GraphQL要求未傳回Requisition Lists

MDVA-44147修補程式修正GraphQL要求未傳回Requisition Lists的問題。 安裝Quality Patches Tool (QPT) 1.1.14時,即可使用此修補程式。 修補程式ID為MDVA-44147。 請注意,此問題已排程在Adobe Commerce 2.4.5中修正。

受影響的產品和版本

已為Adobe Commerce版本建立修補程式:

  • Adobe Commerce (所有部署方法) 2.4.3-p1

與Adobe Commerce版本相容:

  • Adobe Commerce (所有部署方法) 2.4.2 - 2.4.4
NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。

問題

GraphQL要求未傳回Requisition Lists。

要再現的步驟

  1. 移至​ 商店 > 設定 > 設定 > 一般 > B2B功能 ​並啟用​ Requisition List

  2. 以客戶身分登入,並將產品新增至Requisition List

  3. 建立Customer Token

    code language-graphql
    
     mutation {
       generateCustomerToken(
         email: "test@gmail.com"
         password: "xxxxxxxx"
         ) {
           token
         }
       }
    
    
  4. 使用以下查詢來擷取客戶的所有Requisition Lists。 使用值為Bearer <customer_token>的​ Authorization ​標頭。 如需詳細資訊,請參閱開發人員檔案中的客戶查詢文章。

    要求:

    code language-graphql
    
     query {
       customer {
         requisition_lists(
           pageSize: 20
           ) {
             items {
               uid
               name
               description
               items(pageSize: 20) {
                 items {
                   uid
                   product {
                     uid
                     name
                     sku
                     __typename
                   }
                   quantity
                 }
                 total_pages
               }
             }
             total_count
           }
         }
       }
    
    

    回應:

    code language-graphql
    
     {
       "data": {
         "customer": {
           "requisition_lists": {
             "items": [
             {
               "uid": "MQ==",
               "name": "Name",
               "description": "Description",
               "items": {
                 "items": [
                 {
                   "uid": "MQ==",
                   "product": {
                     "uid": "MQ==",
                     "name": "Simple 01",
                     "sku": "s00001",
                     "__typename": "SimpleProduct"
                     },
                     "quantity": 1
                   }
                   ],
                   "total_pages": 1
                 }
               }
               ],
               "total_count": 1
             }
           }
         }
       }
    
    
  5. 從傳回的清單(MQ==)複製任何專案的UID,並使用以下查詢來取得由UID篩選的清單。

    code language-graphql
    
     query {
       customer {
         requisition_lists(
           pageSize: 20,
           filter: {
             uids: {
               eq: "MQ=="
             }
           }
           ) {
             items {
               uid
               name
               description
               items(pageSize: 20) {
                 items {
                   uid
                   product {
                     uid
                     name
                     sku
                     __typename
                   }
                   quantity
                 }
                 total_pages
               }
             }
             total_count
           }
         }
       }
    
    

預期結果

傳回一個結果。

實際結果

未傳回任何結果。

套用修補程式

若要套用個別修補程式,請根據您的部署方法使用下列連結:

相關閱讀

若要進一步瞭解Quality Patches Tool,請參閱:

如需QPT中其他可用修補程式的詳細資訊,請參閱Quality Patches Tool指南中的Quality Patches Tool:搜尋修補程式

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3