MDVA-36572: nuova prenotazione scorte creata dopo l'aggiornamento della nota di credito
Prodotti e versioni interessati
La patch è stata creata per la versione di Adobe Commerce:
Adobe Commerce sull’infrastruttura cloud 2.4.1
Compatibile con le versioni di Adobe Commerce:
Adobe Commerce (tutti i tipi di distribuzione) 2.3.5-2.4.2-p1
magento/quality-patches
alla versione più recente e verificare la compatibilità nella pagina Quality Patches Tool: Cerca patch. Utilizza l’ID patch come parola chiave di ricerca per individuare la patch.Problema
L'osservatore per l'aggiornamento della prenotazione della nota di credito viene attivato ogni volta che la nota di credito viene aggiornata. In base al contratto con OA è stata modificata la logica di aggiornamento della prenotazione in modo che venga attivata solo al momento della creazione della nota di credito. La possibilità di modificare le note di accredito rispetto all’API sarà esaminata dall’OP anche nell’ambito di ticket separati.
Passaggi da riprodurre:
-
Crea account cliente.
-
Crea un prodotto semplice.
-
Creare un nuovo ordine, una nuova fattura e una nuova nota di accredito per l'ordine.
-
Creare una nuova integrazione.
-
Verifica tabella inventory_booking:
code language-sql select * from inventory_reservation; +----------------+----------+----------+----------+-------------------------------------------------------------------------------------------------------------+ | reservation_id | stock_id | sku | quantity | metadata | +----------------+----------+----------+----------+-------------------------------------------------------------------------------------------------------------+ | 1 | 1 | simple_1 | -1.0000 | {"event_type":"order_placed","object_type":"order","object_id":"","object_increment_id":"000000001"} | | 2 | 1 | simple_1 | 1.0000 | {"event_type":"creditmemo_created","object_type":"order","object_id":"1","object_increment_id":"000000001"} | +----------------+----------+----------+----------+-------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec)
-
Invia richiesta di GET a:
../rest/default/V1/creditmemo/3
-
Copia risposta (esempio):
code language-json { "adjustment": 0, "adjustment_negative": 0, "adjustment_positive": 0, "base_adjustment": 0, "base_adjustment_negative": 0, "base_adjustment_positive": 0, "base_currency_code": "USD", "base_discount_amount": 0, "base_grand_total": 105, "base_discount_tax_compensation_amount": 0, "base_shipping_amount": 5, "base_shipping_incl_tax": 5, "base_shipping_tax_amount": 0, "base_subtotal": 100, "base_subtotal_incl_tax": 100, "base_tax_amount": 0, "base_to_global_rate": 1, "base_to_order_rate": 1, "billing_address_id": 2, "created_at": "2021-04-05 23:43:45", "discount_amount": 0, "entity_id": 1, "global_currency_code": "USD", "grand_total": 105, "discount_tax_compensation_amount": 0, "increment_id": "000000001", "order_currency_code": "USD", "order_id": 1, "shipping_address_id": 1, "shipping_amount": 5, "shipping_incl_tax": 5, "shipping_tax_amount": 0, "state": 2, "store_currency_code": "USD", "store_id": 1, "store_to_base_rate": 0, "store_to_order_rate": 0, "subtotal": 100, "subtotal_incl_tax": 100, "tax_amount": 0, "updated_at": "2021-04-05 23:43:45", "items": [ { "base_cost": null, "base_discount_tax_compensation_amount": 0, "base_price": 100, "base_price_incl_tax": 100, "base_row_total": 100, "base_row_total_incl_tax": 100, "base_tax_amount": 0, "base_weee_tax_row_disposition": 0, "entity_id": 1, "discount_tax_compensation_amount": 0, "name": "simple_1", "order_item_id": 1, "parent_id": 1, "price": 100, "price_incl_tax": 100, "product_id": 1, "qty": 1, "row_total": 100, "row_total_incl_tax": 100, "sku": "simple_1", "tax_amount": 0, "weee_tax_applied": "[]", "weee_tax_applied_row_amount": 0, "weee_tax_row_disposition": 0 } ], "comments": [] }
-
Invia richiesta POST a:
../rest/default/V1/creditmemo
code language-json { "entity": --paste full response from previous step here-- }
note note NOTE Payload di questo tipo utilizzato solo per semplificare la riproduzione: il cliente ottiene lo stesso problema dopo l’aggiornamento del proprio attributo personalizzato -
Verifica tabella inventory_booking:
Risultati effettivi:
select * from inventory_reservation;
+----------------+----------+----------+----------+-------------------------------------------------------------------------------------------------------------+
| reservation_id | stock_id | sku | quantity | metadata |
+----------------+----------+----------+----------+-------------------------------------------------------------------------------------------------------------+
| 1 | 1 | simple_1 | -1.0000 | {"event_type":"order_placed","object_type":"order","object_id":"","object_increment_id":"000000001"} |
| 2 | 1 | simple_1 | 1.0000 | {"event_type":"creditmemo_created","object_type":"order","object_id":"1","object_increment_id":"000000001"} |
| 3 | 1 | simple_1 | 1.0000 | {"event_type":"creditmemo_created","object_type":"order","object_id":"1","object_increment_id":"000000001"} |
+----------------+----------+----------+----------+-------------------------------------------------------------------------------------------------------------+
3 rows in set (0.00 sec)
Risultati previsti:
Non viene creata alcuna seconda prenotazione per la stessa nota di accredito.
Applicare la patch
Per applicare singole patch, utilizzare i collegamenti seguenti a seconda del tipo di distribuzione:
- Adobe Commerce o Magento Open Source on-premise: Guida all'aggiornamento software > Applicazione di patch nella documentazione per gli sviluppatori.
- Adobe Commerce sull'infrastruttura cloud: Aggiornamenti e patch > Applica patch nella documentazione per gli sviluppatori.
Lettura correlata
Per ulteriori informazioni sullo strumento Patch di qualità, vedere:
Per informazioni sulle altre patch disponibili in QPT, consulta la sezione Patch disponibili in QPT.