Modèles de numérotation des devis - Nom complet

Bonjour à tous,

J’ai une question concernant le modèle de numérotation des devis, j’ai besoin de voir apparaître le code client complet dans la numérotation, j’ai donc l’option {ccccc} qui s’offre à mois mais elle pose deux inconvénients :

  • le nombre de lettres est limité, dans le cas ci-dessus, si mon code client est « vincent&dupont », je vais voir apparaître « Devis_vince »
  • si je prévois, et je mets autant de « c » qu’il y a de lettres dans le code client le plus long de mes clients, alors je me retrouve avec des # pour combler les caractères en trop, par exemple Devis_MARTIN&FILS#######

Pourquoi est-ce qu’il n’est pas possible de pouvoir choisir simplement « code client » ni plus, ni moins… Est-ce que quelqu’un a déjà tenté?

Merci

Bonjour

concernant la numérotation des documents propositions commerciales, commandes, expéditions…
la procédure concernée est « get_next_value » se situe dans :htdocs/core/lib/functions2.php…

 // Extract value for third party mask counter
    if (preg_match('/\{(c+)(0*)\}/i',$mask,$regClientRef))
    {
        $maskrefclient=$regClientRef[1].$regClientRef[2];
        $maskrefclient_maskclientcode=$regClientRef[1];
        $maskrefclient_maskcounter=$regClientRef[2];
        $maskrefclient_maskoffset=0; //default value of maskrefclient_counter offset
        $maskrefclient_clientcode=substr($valueforccc,0,dol_strlen($maskrefclient_maskclientcode));//get n first characters of client code where n is length in mask
        $maskrefclient_clientcode=str_pad($maskrefclient_clientcode,dol_strlen($maskrefclient_maskclientcode),"#",STR_PAD_RIGHT);//padding maskrefclient_clientcode for having exactly n characters in maskrefclient_clientcode

en commentant l’appel à la fonction « str_pad », vous pouvez éviter d’obtenir les « # » en question

Bons développements et bonne continuation

1 « J'aime »

Merci beaucoup pcbleu,

Je n’ai pas reçu la notifications je viens seulement de voir la réponse, et ça fonctionne!

Très sympa!