Jump to content

[Résolu] Modification d'une commande impossible si statut "delivered" : bouton "Ajout d'un produit" non disponible dans le BO : PS 1.7.8.9


Recommended Posts

Bonjour,

Nous souhaitons pouvoir modifier des commandes, c'est à dire, ajouter/supprimer 1 ou plusieurs produits sur des commandes.

En consultant la documentation officielle, nous avons remarqué qu'il s'agit d'une fonctionnalité native de la 1.7 : 
https://docs.prestashop-project.org/1.7-documentation/v/french/guide-utilisateur/vendre/gerer-commandes/gerer-page-commande/modifier-commande
https://github.com/PrestaShop/user-documentation-en/blob/master/user-guide/selling/managing-orders/order-page-management/editing-order.md

Problème : 

- Le bouton "Ajouter un produit" pour modifier la commande n'apparaît pas dans le back office quand il s'agit d'une commande ayant déjà une facture et ce qu'elle que soit le statut.

La demande : 

- Avez-vous une solution pour voir apparaître le bouton "Ajouter un produit" sur l'édition des commandes sur la version PS 1.7.8.9 ?

- Réalisez vous cette manipulation directement depuis la BDD ?

Nous utiliserons la solution de Prestools et verrons si nous devons passer par un module payant mais c'est toutefois dommage si cette fonctionnalité est native.

Constats:

- La fonctionnalité était déjà présente en 1.6 et censé l'être depuis la 1.7.X mais le bouton "ajouter un produit" n'est pas présent dans le BO des commandes dans la 1.7.8.X. 

- PS 1.5 : Des pistes intéressantes ont été données dans ce post ou devait être réalisé des modifications du template afin de voir apparaître le bouton "ajouter un produit".

- PS 1.7 : Cette PR évoque la nécessité de désactiver "l'impression PDF" sur les statut de commande pour rendre possible la modification d'une commande dans le cas d'une commande "Cash on Delivery".

Lors d'une commande avec paiement contre remboursement, le statut généré est Traitement en cours. Dans le BO => Paramètres de la boutique => Paramètres de commande => Onglet Statut => si vous modifiez ce statut, vous pouvez voir que :

1 . Définir la commande comme payée => est sélectionné donc => la facture est générée
2. Afficher le PDF de la livraison => est sélectionné donc => le Bon de livraison est généré => donc, il n'est pas possible d'éditer la commande.

- PS 1.7 : Une des conditions pour voir apparaître le bouton "ajouter un produit" voir supprimer et ainsi modifier une commande est que le statut de la commande que l'on souhaite modifier ait la Livraison cochée à oui dans Paramètres de la boutique => Commandes => Etats de commande.

- PS 1.7.8.9 : Par défaut, la toute première commande test de Prestashop (John DOE) -> OHSATSERP dispose bien du bouton ajouter au produit. Cela s'expliquer car cette commande de base n'a pas de facture (pas de données relatives à cette commande dans les tables :

- ps_order_invoice
- ps_order_invoice_payment
- ps_order_invoice_tax

Les recherches sur le forum :

=>Sujet autour de PS 1.6 et PS précédents et TB 

TB : How to edit the carrier of an existing order?

PS 1.5: update order - edit order

PS 1.6 : [solved]Unable to modify customer order from BackOffice

PS 1.6 Cannot Edit or Delete Product From Order

=>Sujets ayants déjà été évoqués autour de PS 1.7 : 

1.7.X How can I change an order that has been already placed?

1.7.7.8 Add product button is not displaying at BO

1.7.7.8 Cannot add product to an existing order

Les recherches côté PR :

22263 : Cette PR traite d'un problème de prix lors d'une modification d'une commande mais non de la possibilité de modifier une commande.

17230 : Cette PR traite d'un problème lors d'un commande en COD : nécessaire de décocher le l'impression PDF dans le statut des commandes.

Les solutions alternatives recensées 

- 1) Utiliser la fonctionnalité dédiée de Prestools :  approuvé et utilisée pour le moment.

- 2) Utiliser des modules payants ou la modification des commandes peuvent se faire côté BO ou FO : non testées

-> Il existe beaucoup de modules de qualité avec des fonctionnalités avancées (renvoyer une facture à jour avec les produits supprimés, ajoutés, modifier les moyens de paiements ...) -> voir addons : https://addons.prestashop.com/en/441-order-management

Solutions à la demande  :
----------------------------- Attention, la loi rappel que la modification de facture est interdit; le cas cité est un exemple d'un paiement par chèque ou un produit était manquant (Pay by check) et la commande n'était pas encore réglée --------------------

- Avez-vous une solution pour voir apparaître le bouton "Ajouter un produit" sur l'édition des commandes sur la version PS 1.7.8.9 ?

Etapes :

Modifier les fichiers suivants en fonction de son besoin pour afficher le bouton "Add to cart" quel que soit le statut :

-> /src/Adapter/Order/CommandHandler/AddProductToOrderHandler.php
-> /src/PrestaShopBundle/Resources/views/Admin/Sell/Order/Order/Blocks/View/products.html.twig

- Réalisez vous cette manipulation directement depuis la BDD ?

Oui c'est possible :

Etape 1) Pour la commande que l'on souhaite modifier (ajout d'un produit oublié par exemple), il est nécessaire de supprimer les lignes dans les tables liées à la commande concernée dans les trois tables suivantes :

- ps_order_invoice
- ps_order_invoice_payment
- ps_order_invoice_tax

Etape 2) On change le statut de cette commande et le bout "Ajout Panier" devient accessible.

Environnement :
Prestashop : 1.7.8.9
PHP 7.4

Note : Le post a été modifié avec les solutions.

 

Edited by prestaconfig
Le post a été modifié avec les solutions. (see edit history)
Link to comment
Share on other sites

  • prestaconfig changed the title to Modification d'une commande impossible : bouton "Ajout d'un produit" non disponible dans le BO : PS 1.7.8.9

En 1.6 et PhenixSuite c'est dans le tpl

{if !$order->hasBeenDelivered()}
     <button type="button" id="add_product" class="btn btn-default">
         <i class="icon-plus-sign"></i> {l s='Add a product'}
     </button>
{/if}

Personnellement je ne suis pas adepte de cette fonctionnalité si une facture a déjà été générée. En effet, Prestashop met à jour la facture (même n°) sauf que le client a déjà reçu la facture initiale avec des produits en moins.

Au niveau fiscal c'est interdit.

Link to comment
Share on other sites

  • prestaconfig changed the title to [Résolu] Modification d'une commande impossible si statut "delivered" : bouton "Ajout d'un produit" non disponible dans le BO : PS 1.7.8.9
On 7/21/2023 at 12:26 PM, Eolia said:

En 1.6 et PhenixSuite c'est dans le tpl

{if !$order->hasBeenDelivered()}
     <button type="button" id="add_product" class="btn btn-default">
         <i class="icon-plus-sign"></i> {l s='Add a product'}
     </button>
{/if}

Personnellement je ne suis pas adepte de cette fonctionnalité si une facture a déjà été générée. En effet, Prestashop met à jour la facture (même n°) sauf que le client a déjà reçu la facture initiale avec des produits en moins.

Au niveau fiscal c'est interdit.

Bonjour @Eolia,

Merci pour votre message ! J'ai réussi à trouver où était situé le bouton et pourquoi il ne s'affichait pas dans certaines conditions uniquement : c'est n'est pas un bug. J'ai modifié mon post original en conséquence. 

Agréable journée.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...