Jump to content

numéros de Facture en multiboutique BUG ? ou pas


Recommended Posts

Bonjour à tous,

 

J'ai un gros soucis. J'utilise PS 1.5.6.0 en multi boutique.

J'ai donc trois sites en production qui sont complètement séparés donc pas de problème lié à une liaison produit, client stock.

Cependant ils sont tous dans le groupe "default"

 

Voila pour ce qui est de l'environnement.

 

Le problème surviens au niveau des factures qui lorsque elle sont générés prennent le numéros suivant quelques soit le site.

 

Je m'explique:

 

Le site A passe une commande et génère la facture N°100

Le site A passe une commande et génère la facture N°101 jusque la tout va bien

Le site B passe une commande et génère la facture N°102 la ca va plus du tout

Le site C passe une commande et génère la facture N°103 idem

 

Le comportement n'est pas bon du tout puisque les trois sites sont des entité différentes et donc ont leur propre fiscalité.

 

Donc Soit j'ai mal configuré quelque chose soit il faut que je patch ce comportement quelque part.

 

Est-ce que quelqu'un à une idée ?

 

 

Link to comment
Share on other sites

Après avoir lu une réclamation de 2012 sur la forge à ce sujet je suppose que le problème ne gêne pas grand monde, puisque PS n'a pas évolué dans ce sens.

Toutefois pour ceux qui ont ce problème j'ai trouvé un moyen de le résoudre. J'espère que c'est safe mais à priori c'est bon.

Il suffit d'overrider la classe 'Order' et d'y redéfinir la méthode 'getLastInvoiceNumber()' comme ça tout le reste continue a fonctionner normalement.

 

 

class Order extends OrderCore
{
    public static function getLastInvoiceNumber()
    {
            $curent_id_shop = Context::getContext()->shop->id;
               
        return Db::getInstance()->getValue('
            SELECT MAX(`number`)
            FROM `'._DB_PREFIX_.'order_invoice` oi
                        JOIN `'._DB_PREFIX_.'orders` o ON o.`id_order` = oi.`id_order`
                        WHERE o.`id_shop` = '.$curent_id_shop
        );
    }
}

 

On peu faire la même chose en filtrant la requête sur le id_shop_group plutot que id_shop. Ainsi toute les boutiques d'un même groupe auront une facturation mutualisé différente des boutiques des autres groupes.

 

Ou encore une petite option de config dans le BO pour modifier le comportement.

 

Vu l'importance du problème et la simplicité de la solution, je me demande pourquoi ce n'est pas déjà implémenter par les dev de prestashop et donc du coup je me demande si ma solution est vraiment safe.

 

Des avis ?

Edited by panichak (see edit history)
Link to comment
Share on other sites

  • 2 months later...
  • 2 months later...
  • 1 month later...
  • 2 weeks later...

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