Magento 2. Après une nouvelle installation, le nouvel ID de commande sera 100000001, 100000002 et ainsi de suite.
Quelle est la bonne façon de changer cet identifiant d'incrémentation pour qu'il soit plus élevé? Par exemple, 155555552, 155555553 et ainsi de suite. Une fois changé, il sera beaucoup mieux.
Dans Magento 1.9 Pour modifier l'ID par défaut des commandes, des factures ou des expéditions, nous avons simplement dû modifier les valeurs de la base de données dans "eav_entity_store".
Magento 2 a l'air si différent ...
Je sais qu'il existe des plugins qui proposent de le faire, mais je veux savoir comment le faire manuellement.
increment_id
comme il est censé le faire.Réponses:
la source
Accédez à votre base de données depuis phpmyadmin,
Ici, _1 est utilisé pour l'ID de magasin après le nom de la table.
Default Frontend store id is 1.
si vous avez plusieurs magasins, vous devez définir une requête pour chaque magasin avec un nom de table comme sequence_order_2 jusqu'à sequence_order _. *Entrez la requête ci-dessous pour la table sequence_order_1 utilisée pour le magasin par défaut. Si vous avez plusieurs magasins, vous devez définir le nom de la table selon l'ID du magasin dans la requête ci-dessous.
Ceci n'est utilisé que pour les commandes passées depuis le frontend.
sequence_order_1 est utilisé pour la gestion des identifiants de commande dans magento 2.
ALTER TABLE sequence_order_1 AUTO_INCREMENT=155555551;
Le prochain identifiant de commande commence à 155555551.
La requête ci-dessous est définie pour FACTURE , si vous souhaitez modifier l'ID de facture
ALTER TABLE sequence_invoice_1 AUTO_INCREMENT=155555551;
Pour expédition
ALTER TABLE sequence_shipment_1 AUTO_INCREMENT=155555551;
la source
Ce qui était auparavant dans
eav_entity_store
est maintenant couvert danssales_sequence_profile
etsales_sequence_meta
. Le tableausequence_order_1
est rempli lorsque les commandes sont passées.la source
Le format du nouvel identifiant de commande est défini par défaut par une constante dans
Magento \ SalesSequence \ Model \ Sequence:
const DEFAULT_PATTERN = "% s% '. 09d% s";
C'est le modèle de la fonction sprintf () qui crée un nouvel identifiant. Pour supprimer les zéros non significatifs, vous devez passer votre modèle au constructeur comme ceci:
ou étendez la classe Sequence et modifiez-la selon vos besoins
la source
Bien que toutes les réponses ci-dessus soient correctes entièrement / partiellement, j'ai pensé à écrire la réponse car cela serait utile pour les futurs lecteurs. Cette réponse répondra à deux questions:
1) Comment changer le numéro de séquence de la commande?
2) Comment ajouter un préfixe ou un suffixe à un numéro de commande?
Avant d'apporter des modifications aveugles dans la base de données, vous devez comprendre quelle table de séquence est associée à quoi. Vous pouvez vérifier cela à partir du tableau
sales_sequence_meta
Exécutez la requête
select * from sales_sequence_meta;
chaque magasin aura une table de séquence associée à ce magasin. Notez le nom du tableau, à savoir: commande, facture, crédit ou expédition.Une fois cela fait, allez dans le tableau par exemple si vous souhaitez modifier le numéro de commande goto table
sequence_order_1
et changer laAUTO_INCREMENT
valeuralter table sequence_order_1 AUTO_INCREMENT=617;
C'est tout ce qu'il faut pour sauter la séquence des ordres.
Maintenant, en allant plus loin si vous creusez plus et avez une exigence où vous souhaitez ajouter un préfixe / suffixe à l'ordre, suivez les étapes ci-dessous:
Aller au tableau
sales_sequence_profile
et vérifier les donnéesselect * from sales_sequence_profile;
Vous observerez la colonne
prefix
et le «suffixe». Au départ, ce seraitNULL
. Vous pouvez y ajouter la valeur du préfixe et du suffixe pour la pertinencemeta_id
que vous pouvez mapper à partir du tableausales_sequence_meta
Cela changera le préfixe / suffixe de la commande pour toutes les commandes.
J'espère que cela aide tout le monde !! À votre santé !!
la source
Nouvelle installation:
si vous utilisez Magento 2.2.0+ et que vous exécutez une nouvelle installation avec le multi-magasin activé (ceci est activé par défaut), vous pouvez simplement exécuter les requêtes suivantes avant de passer des commandes sur le site:
Veuillez noter que ce
303
n'est que le numéro que je choisis pour notre site car notre ancienne plate-forme s'est arrêtée au numéro de commande 300 et je voulais une sorte de cohérence. Notez également que vous n'avez besoin d'aucune des requêtes se terminant par_1
si vous avez activé le mode de stockage unique.Installation existante:
si vous utilisez déjà Magento 2.2.0+ (ou mis à niveau vers celui-ci) et que vous souhaitez simplement augmenter les chiffres, ne pas modifier le remplissage ou ajouter des caractères, vérifiez simplement la valeur AUTO_INCREMENT actuelle dans les tableaux suivants (en supposant plusieurs sites) ):
Et modifiez-les en utilisant les requêtes alter indiquées ci-dessus mais assurez-vous que la nouvelle valeur que vous utilisez est supérieure à la valeur que vous obtenez en vérifiant la valeur AUTO_INCREMENT actuelle.
Si vous allez jouer avec le rembourrage ou ajouter un modèle personnalisé, vous devez voir les autres réponses ici et consulter les tableaux suivants:
Mise à jour: magasins multiples?
Pour ceux qui ne connaissent pas les magasins multiples, il s'agit d'une fonctionnalité qui vous permet d'exécuter des magasins complètement distincts à partir de la même installation Magento. Une raison courante de le faire est de prendre en charge d'autres langues. Dans le back-end, c'est pourquoi vous pouvez choisir la vue de magasin que vous regardez (si le multi-magasin est activé) lors de la mise à jour de la configuration et en faisant d'autres choses par exemple.
Pour cette raison, Magento ajoutera un trait de soulignement et un numéro à la fin de certains tableaux pour garder une trace des différentes vues du magasin. Vous remarquerez que les requêtes que j'ai fournies semblent être des tables en double, mais elles se terminent par des nombres différents, 0 ou 1 dans ce cas. Si vous aviez plusieurs magasins / vues, ces nombres continueraient simplement à augmenter, _2 ou _3 par exemple. Cela vous permet de gérer différemment les identifiants de chaque magasin. Votre modification du système d'identification dans une vue (magasin) ne doit pas nécessairement être la même dans une autre.
Il est hors de portée pour cet article, mais ce même système de numérotation s'applique aux autres tables de la base de données, ce qui vous permet de traiter et d'affecter chaque vue de magasin différemment. Vous pourriez avoir un thème complètement différent par magasin par exemple.
la source
Changer la séquence Pour changer le remplissage du numéro de commande, éditez Sequence.php (je crois qu'il y a une meilleure façon via un di.xml)
Modifier cette ligne
Remplacez le "9" par le rembourrage souhaité
Exemple
Changer le préfixe
Pour que tout reste facile, ajoutez Fooman au même numéro de facture de commande
la source
Modifier l'ID d'incrément de commande
Pour un autre magasin, suivez la même étape
Cela changera le numéro de commande pour les plusieurs magasins
la source
Pour ajuster les numéros de facture via PHPMYADMIN
INSÉRER DANS
sequence_order_1
(sequence_value
) VALEURS ('2000');2000 sera le nouveau numéro de départ
la source
Vous pouvez apporter des modifications au numéro de commande directement dans la base de données Magento 2 par cette astuce
Tout d'abord, vous devez ouvrir votre base de données PHP Admin. Recherchez et ouvrez ensuite la table «sales_sequence_profile».
Après cela, vous pouvez modifier le numéro de commande par défaut sur votre site Web Magento 2:
une. ID d'incrément d'ordre de modification
b. Modifier le préfixe du numéro de commande
c. Modifier le suffixe du numéro de commande
ré. Changer la valeur de départ du numéro de commande
e. Changer la longueur du tampon
Je vois le tutoriel complet dans cet article: Guide complet du tutoriel pour changer le numéro de commande dans Magento 2
la source
Pour supprimer définitivement (ou modifier) les zéros supplémentaires, vous ne devez pas remplacer les fichiers principaux. Dans votre,
app/etc/di.xml
ajoutez ce qui suit et modifiez la"%s%'.09d%s"
valeur en conséquence (dans cet exemple, deux 00 sont remplis):Les modifications de la base de données pour les numéros de commande et de facture sont parfaitement décrites dans la réponse de Rakesh Jesadiya.
la source