Modifier en masse les codes clients et fournisseurs suite à changement masque

Bonjour à tous,

J’ai eu une modification de mon masque pour les codes tiers sur le modèle Monkey, surement lors d’une mise à jour de la V10 vers novembre dernier car je n’y ai pas touché. Le masque est passé de :
CUyymm-nnnn (Exemple : CU1911-0001)

à

CUyymm-nnnnn (Exemple : CU1911-00001)
Idem en fournisseurs avec le préfixe SU.

Comme je ne m’en suis pas rendu compte tout de suite et que de nombreux clients ont été créés, je vous demande s’il est possible de modifier ces codes facilement sans à chaque fois entrer dans chaque fiche, cliquer sur « modifier », rajouter un 0 par exemple puis enregistrer, changer de tiers…

Merci d’avance pour votre réponse.

Latapoune

Bonjour :smiley:

c’est possible via phpmyadmin, avec la requête sql comme ce qui suit - un test préalable avec une requête sql select préalable permettra de s’assurer que tout est ok !!!

vous pouvez me contacter à l’adresse suivante petitcamionbleu_at_free.fr

Bonne continuation

Bonsoir @pcbleu ! :grinning:

Merci pour la requête ! :+1: Ça a bien marché pour les clients (et les fournisseurs en modifiant la requête bien sûr).
Maintenant je viens de me rendre compte que les comptes comptables ont le même problème. Cette fois on a par exemple pour un fournisseur :
401SUaammnnnn par exemple 401SU19110083 qui doit devenir 401SU191100083 .
Quelle serait la requête ? Merci d’avance !

Latapoune

Bonsoir :smiley:

ça devrait le faire, avec cette commande dans phpmyadmin

Bonne continuation

Bonjour @pcbleu !

Merci pour cette requête !
Est-ce que tu pourrais me l’expliquer si tu as le temps ? Par exemple, pourquoi dans la première requête, tu avais mis SU%-% entre guillemets simples et dans la deuxième %SU% entre guillemets doubles ? Pourquoi la place des % changent ? Etc…
Je suis curieux !

En tout cas, ça a très bien marché sur mon Dolibarr de test, tout est ok côté tiers : puis-je lancer les requêtes sur mon Dolibarr de prod sans d’autres vérif ?

Merci beaucoup, en espérant que cela serve à d’autres !
Bon week-end ! :smile:

Latapoune

Bonjour @Latapoune :smiley:

il faut et il suffit de connaitre SQL …
bien vu pour la remarque entre single et double quotes, ce sont tous les deux les délimiteurs de chaîne de caractères, le mieux c’est d’utiliser systématiquement le même séparateur dans une même requête - :smile: on peut améliorer de subtiles détails tous les jours
le % permet de matcher avec tout groupe de caractères, de ce fait son utilisation dépend de ce qu’on cherche à contrôler; substr et regexp permettent le contrôle de la partie numérique des différents codes…

bien vu aussi le fait de faire des tests avant d’utiliser la requête sur le serveur de production, ou tout au moins de réaliser une sauvegarde avant tout changement dans la bse de données exploitée

Bonne continuation :smile:

Bonjour @pcbleu !

Merci pour tes explications ! Ce qui m’impressionne, c’est que tu parais écrire un code SQL comme si c’était ta langue maternelle ! :smile: :grin:
C’est vrai, il suffit de connaitre SQL, mais ça m’impressionne !

Et merci encore pour les requêtes !

Bonne continuation à toi aussi !

Bonjour à tous,

Je reviens sur ce sujet pour modifier en masse une champ d’une colonne dans lequel je vais modifier le format dans la table llx_fichinter (la colonne ref de la fiche intervention)

J’ai un masque écrit de cette façon FI{yy}{mm}-{000@99}. je vais le transformer en ajoutant le login du user (1 lettre et l’ID). Le masque sera donc FI{yy}{mm}-{uuu}-{000@99}. je ne veux pas perdre mes anciennes numérotations

j’ai la colonne du fk_user_author qui contient l’ID du user. je tente d’écrire une requête pour phpmyadmin pour insérer mon code {uuu} mais je ne sais pas construire celle ci

Il faut que je teste fk_user_author si = 3 alors le code sera A03, si = 4 alors le code sera C04, si = 20 alors le code sera M20 … (j’ai 6 créateurs de fiche d’intervention, la lettre est la 1ére lettre du login)

Cela n’altérera pas les liens qui se sont crées (fiche avec commande client ou projet …) ?
j’ai fait à la main quelques lignes cela ne semble pas modifier les liens et je fais des tests sur une machine test avant de le faire sur celle de prod

@picbleu c’est possible ?

Tu peux m’aider ou qui pourrait ?

Merci d’avance

Bonjour à tous

Ok j ai pu renommer en masse ma numérotation avec une requête dans phpmyadmin. Je n avais jamais utilisé l outil, très pratique

Merci à tous