diff --git a/htdocs/includes/modules/commande/mod_commande_marbre.php b/htdocs/includes/modules/commande/mod_commande_marbre.php index 8932fb79745c77cf967d8d9305a80ac12a01bc10..9edc1505dc3a107cbcca5dff35e31f3c3d74c780 100644 --- a/htdocs/includes/modules/commande/mod_commande_marbre.php +++ b/htdocs/includes/modules/commande/mod_commande_marbre.php @@ -19,123 +19,125 @@ */ /** - \file htdocs/includes/modules/commande/mod_commande_marbre.php - \ingroup commande - \brief Fichier contenant la classe du modele de num�rotation de reference de commande Marbre - \version $Id$ -*/ + \file htdocs/includes/modules/commande/mod_commande_marbre.php + \ingroup commande + \brief Fichier contenant la classe du modele de num�rotation de reference de commande Marbre + \version $Id$ + */ require_once(DOL_DOCUMENT_ROOT ."/includes/modules/commande/modules_commande.php"); /** \class mod_commande_marbre - \brief Classe du modele de numerotation de reference de commande Marbre -*/ + \brief Classe du modele de numerotation de reference de commande Marbre + */ class mod_commande_marbre extends ModeleNumRefCommandes { var $version='dolibarr'; // 'development', 'experimental', 'dolibarr' var $prefix='CO'; - var $error=''; - var $nom='Marbre'; - - - /** \brief Renvoi la description du modele de numerotation - * \return string Texte descripif - */ - function info() - { + var $error=''; + var $nom='Marbre'; + + + /** \brief Renvoi la description du modele de numerotation + * \return string Texte descripif + */ + function info() + { global $langs; return $langs->trans("MarbreNumRefDesc",$this->prefix); - } - - - /** \brief Renvoi un exemple de numerotation - * \return string Example - */ - function getExample() - { - return $this->prefix."0501-0001"; - } - - - /** \brief Test si les numeros deje en vigueur dans la base ne provoquent pas de - * de conflits qui empechera cette numerotation de fonctionner. - * \return boolean false si conflit, true si ok - */ - function canBeActivated() - { - global $conf; - - $coyymm=''; - - $sql = "SELECT MAX(ref)"; - $sql.= " FROM ".MAIN_DB_PREFIX."commande"; - $sql.= " WHERE ref like '".$this->prefix."%'"; - $sql.= " AND entity = ".$conf->entity; - - $resql=$db->query($sql); - if ($resql) - { - $row = $db->fetch_row($resql); - if ($row) $coyymm = substr($row[0],0,6); - } - if ($coyymm && ! preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i',$coyymm)) - { - $this->error='Une commande commencant par $coyymm existe en base et est incompatible avec cette numerotation. Supprimer la ou renommer la pour activer ce module.'; - return false; - } - - return true; - } + } + + + /** \brief Renvoi un exemple de numerotation + * \return string Example + */ + function getExample() + { + return $this->prefix."0501-0001"; + } + + + /** \brief Test si les numeros deje en vigueur dans la base ne provoquent pas de + * de conflits qui empechera cette numerotation de fonctionner. + * \return boolean false si conflit, true si ok + */ + function canBeActivated() + { + global $conf; + + $coyymm=''; + + $posindice=8; + $sql = "SELECT MAX(ref) as max"; + $sql.= " FROM ".MAIN_DB_PREFIX."commande"; + $sql.= " WHERE ref LIKE '".$this->prefix."____-%'"; + $sql.= " AND entity = ".$conf->entity; + + $resql=$db->query($sql); + if ($resql) + { + $row = $db->fetch_row($resql); + if ($row) $coyymm = substr($row[0],0,6); + } + if ($coyymm && ! preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i',$coyymm)) + { + $langs->load("errors"); + $this->error=$langs->trans('ErrorNumRefModel'); + return false; + } + + return true; + } /** \brief Return next value - * \param objsoc Objet third party - * \param commande Object order - * \return string Value if OK, 0 if KO - */ - function getNextValue($objsoc,$commande) - { - global $db,$conf; - - // D'abord on recupere la valeur max (reponse immediate car champ indexe) - $posindice=8; - $sql = "SELECT MAX(SUBSTRING(ref,".$posindice.")) as max"; - $sql.= " FROM ".MAIN_DB_PREFIX."commande"; - $sql.= " WHERE ref like '".$this->prefix."%'"; - $sql.= " AND entity = ".$conf->entity; - - $resql=$db->query($sql); - if ($resql) - { - $obj = $db->fetch_object($resql); - if ($obj) $max = intval($obj->max); - else $max=0; - } - else - { - dol_syslog("mod_commande_marbre::getNextValue sql=".$sql); - return -1; - } - - //$date=time(); - $date=$commande->date; - $yymm = strftime("%y%m",$date); - $num = sprintf("%04s",$max+1); - - dol_syslog("mod_commande_marbre::getNextValue return ".$this->prefix.$yymm."-".$num); - return $this->prefix.$yymm."-".$num; - } + * \param objsoc Objet third party + * \param commande Object order + * \return string Value if OK, 0 if KO + */ + function getNextValue($objsoc,$commande) + { + global $db,$conf; + + // D'abord on recupere la valeur max + $posindice=8; + $sql = "SELECT MAX(SUBSTRING(ref FROM ".$posindice.")) as max"; + $sql.= " FROM ".MAIN_DB_PREFIX."commande"; + $sql.= " WHERE ref like '".$this->prefix."____-%'"; + $sql.= " AND entity = ".$conf->entity; + + $resql=$db->query($sql); + if ($resql) + { + $obj = $db->fetch_object($resql); + if ($obj) $max = intval($obj->max); + else $max=0; + } + else + { + dol_syslog("mod_commande_marbre::getNextValue sql=".$sql); + return -1; + } + + //$date=time(); + $date=$commande->date; + $yymm = strftime("%y%m",$date); + $num = sprintf("%04s",$max+1); + + dol_syslog("mod_commande_marbre::getNextValue return ".$this->prefix.$yymm."-".$num); + return $this->prefix.$yymm."-".$num; + } /** \brief Return next free value - * \param objsoc Object third party - * \param objforref Object for number to search - * \return string Next free value - */ - function commande_get_num($objsoc,$objforref) - { - return $this->getNextValue($objsoc,$objforref); - } - + * \param objsoc Object third party + * \param objforref Object for number to search + * \return string Next free value + */ + function commande_get_num($objsoc,$objforref) + { + return $this->getNextValue($objsoc,$objforref); + } + } ?> diff --git a/htdocs/includes/modules/facture/mod_facture_terre.php b/htdocs/includes/modules/facture/mod_facture_terre.php index 15a9e855a96e618b750f3d5aea6ca62c603345bc..b9bf75bee60bb344d5f1fd0b9f9c46ae73324006 100644 --- a/htdocs/includes/modules/facture/mod_facture_terre.php +++ b/htdocs/includes/modules/facture/mod_facture_terre.php @@ -57,7 +57,7 @@ class mod_facture_terre extends ModeleNumRefFactures } /** \brief Test si les numeros deja en vigueur dans la base ne provoquent pas de - * de conflits qui empechera cette num�rotation de fonctionner. + * de conflits qui empechera cette numerotation de fonctionner. * \return boolean false si conflit, true si ok */ function canBeActivated() @@ -69,9 +69,9 @@ class mod_facture_terre extends ModeleNumRefFactures // Check invoice num $fayymm=''; - $sql = "SELECT MAX(facnumber)"; + $sql = "SELECT MAX(facnumber) as max"; $sql.= " FROM ".MAIN_DB_PREFIX."facture"; - $sql.= " WHERE facnumber like '".$this->prefixinvoice."%'"; + $sql.= " WHERE facnumber LIKE '".$this->prefixinvoice."____-%'"; $sql.= " AND entity = ".$conf->entity; $resql=$db->query($sql); @@ -82,7 +82,8 @@ class mod_facture_terre extends ModeleNumRefFactures } if ($fayymm && ! preg_match('/'.$this->prefixinvoice.'[0-9][0-9][0-9][0-9]/i',$fayymm)) { - $this->error=$langs->trans('TerreNumRefModelError'); + $langs->load("errors"); + $this->error=$langs->trans('ErrorNumRefModel'); return false; } @@ -91,7 +92,7 @@ class mod_facture_terre extends ModeleNumRefFactures $sql = "SELECT MAX(facnumber)"; $sql.= " FROM ".MAIN_DB_PREFIX."facture"; - $sql.= " WHERE facnumber like '".$this->prefixcreditnote."%'"; + $sql.= " WHERE facnumber LIKE '".$this->prefixcreditnote."____-%'"; $sql.= " AND entity = ".$conf->entity; $resql=$db->query($sql); @@ -121,12 +122,11 @@ class mod_facture_terre extends ModeleNumRefFactures if ($facture->type == 2) $prefix=$this->prefixcreditnote; else $prefix=$this->prefixinvoice; - // D'abord on recupere la valeur max (reponse immediate car champ ind�x�) + // D'abord on recupere la valeur max $posindice=8; - - $sql = "SELECT MAX(SUBSTRING(facnumber,".$posindice.")) as max"; + $sql = "SELECT MAX(SUBSTRING(facnumber FROM ".$posindice.")) as max"; // This is standard SQL $sql.= " FROM ".MAIN_DB_PREFIX."facture"; - $sql.= " WHERE facnumber like '".$prefix."%'"; + $sql.= " WHERE facnumber LIKE '".$prefix."____-%'"; $sql.= " AND entity = ".$conf->entity; $resql=$db->query($sql); diff --git a/htdocs/includes/modules/fichinter/mod_pacific.php b/htdocs/includes/modules/fichinter/mod_pacific.php index 38903821134142d8f325136cec7db6760a53d7c0..90bbd34eed1bd4af68c92c7ae2e7237a2a0e2972 100644 --- a/htdocs/includes/modules/fichinter/mod_pacific.php +++ b/htdocs/includes/modules/fichinter/mod_pacific.php @@ -19,69 +19,69 @@ */ /** - \file htdocs/includes/modules/fichinter/mod_pacific.php - \ingroup fiche intervention - \brief Fichier contenant la classe du modele de numerotation de reference de fiche intervention Pacific - \version $Id$ -*/ + \file htdocs/includes/modules/fichinter/mod_pacific.php + \ingroup fiche intervention + \brief Fichier contenant la classe du modele de numerotation de reference de fiche intervention Pacific + \version $Id$ + */ require_once(DOL_DOCUMENT_ROOT ."/includes/modules/fichinter/modules_fichinter.php"); /** - \class mod_pacific - \brief Classe du moderotation de reference de fiche intervention Pacific -*/ - + * \class mod_pacific + * \brief Classe du moderotation de reference de fiche intervention Pacific + */ class mod_pacific extends ModeleNumRefFicheinter { var $prefix='FI'; var $error=''; - - + + /** \brief Constructeur - */ + */ function mod_pacific() { $this->nom = "pacific"; } - /** \brief Renvoi la description du modele de numerotation - * \return string Texte descripif - */ - function info() - { - global $langs; + /** \brief Renvoi la description du modele de numerotation + * \return string Texte descripif + */ + function info() + { + global $langs; $langs->load("bills"); - - return $langs->trans('PacificNumRefModelDesc1',$this->prefix); - } - - /** \brief Renvoi un exemple de numerotation - * \return string Example - */ - function getExample() - { - return $this->prefix."0501-0001"; - } - - /** \brief Test si les numeros deja en vigueur dans la base ne provoquent pas de - * de conflits qui empechera cette numerotation de fonctionner. - * \return boolean false si conflit, true si ok - */ + + return $langs->trans('PacificNumRefModelDesc1',$this->prefix); + } + + /** \brief Renvoi un exemple de numerotation + * \return string Example + */ + function getExample() + { + return $this->prefix."0501-0001"; + } + + /** \brief Test si les numeros deja en vigueur dans la base ne provoquent pas de + * de conflits qui empechera cette numerotation de fonctionner. + * \return boolean false si conflit, true si ok + */ function canBeActivated() { global $langs,$conf; - + $langs->load("bills"); - + $fayymm=''; - + $sql = "SELECT MAX(ref)"; $sql.= " FROM ".MAIN_DB_PREFIX."fichinter"; + $sql.= " WHERE ref like '".$this->prefix."____-%'"; $sql.= " WHERE entity = ".$conf->entity; - + $resql=$db->query($sql); if ($resql) { @@ -94,54 +94,54 @@ class mod_pacific extends ModeleNumRefFicheinter } else { - $this->error=$langs->trans('PacificNumRefModelError'); + $langs->load("errors"); + $this->error=$langs->trans('ErrorNumRefModel'); return false; } } /** \brief Renvoi prochaine valeur attribuee - * \param objsoc Objet societe - * \param ficheinter Object ficheinter - * \return string Valeur - */ - function getNextValue($objsoc=0,$ficheinter='') + * \param objsoc Objet societe + * \param ficheinter Object ficheinter + * \return string Valeur + */ + function getNextValue($objsoc=0,$object='') { global $db,$conf; - + // D'abord on recupere la valeur max (reponse immediate car champ indexe) - $posindice=8; - - $sql = "SELECT MAX(SUBSTRING(ref,".$posindice.")) as max"; - $sql.= " FROM ".MAIN_DB_PREFIX."fichinter"; - $sql.= " WHERE ref like '".$this->prefix."%'"; + $posindice=8; + $sql = "SELECT MAX(SUBSTRING(ref FROM ".$posindice.")) as max"; + $sql.= " FROM ".MAIN_DB_PREFIX."fichinter"; + $sql.= " WHERE ref LIKE '".$this->prefix."____-%'"; $sql.= " AND entity = ".$conf->entity; - + $resql=$db->query($sql); - if ($resql) - { - $obj = $db->fetch_object($resql); - if ($obj) $max = intval($obj->max); - else $max=0; - } - - //$date=time(); - $date=$ficheinter->date; - $yymm = strftime("%y%m",$date); - $num = sprintf("%04s",$max+1); - - return $this->prefix.$yymm."-".$num; - } - + if ($resql) + { + $obj = $db->fetch_object($resql); + if ($obj) $max = intval($obj->max); + else $max=0; + } + + //$date=time(); + $date=$object->date; + $yymm = strftime("%y%m",$date); + $num = sprintf("%04s",$max+1); + + return $this->prefix.$yymm."-".$num; + } + /** \brief Return next free value - * \param objsoc Object third party - * \param objforref Object for number to search - * \return string Next free value - */ - function getNumRef($objsoc,$objforref) - { - return $this->getNextValue($objsoc,$objforref); - } - + * \param objsoc Object third party + * \param objforref Object for number to search + * \return string Next free value + */ + function getNumRef($objsoc,$objforref) + { + return $this->getNextValue($objsoc,$objforref); + } + } ?> diff --git a/htdocs/includes/modules/project/mod_project_simple.php b/htdocs/includes/modules/project/mod_project_simple.php index 7ac759b10904787f5aa8d66ac7e8de022348d960..72b40cd97762fff19334fd03b8ed10dfa7ff4232 100644 --- a/htdocs/includes/modules/project/mod_project_simple.php +++ b/htdocs/includes/modules/project/mod_project_simple.php @@ -59,6 +59,38 @@ class mod_project_simple extends ModeleNumRefProjects } + /** \brief Test si les numeros deja en vigueur dans la base ne provoquent pas de + * de conflits qui empechera cette numerotation de fonctionner. + * \return boolean false si conflit, true si ok + */ + function canBeActivated() + { + global $conf; + + $coyymm=''; + + $sql = "SELECT MAX(ref) as max"; + $sql.= " FROM ".MAIN_DB_PREFIX."projet"; + $sql.= " WHERE ref LIKE '".$this->prefix."____-%'"; + $sql.= " AND entity = ".$conf->entity; + $resql=$db->query($sql); + if ($resql) + { + $row = $db->fetch_row($resql); + if ($row) $coyymm = substr($row[0],0,6); + } + if (! $coyymm || preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i',$coyymm)) + { + return true; + } + else + { + $langs->load("errors"); + $this->error=$langs->trans('ErrorNumRefModel'); + return false; + } + } + /** * \brief Return next value @@ -72,9 +104,9 @@ class mod_project_simple extends ModeleNumRefProjects // D'abord on recupere la valeur max (reponse immediate car champ indexe) $posindice=8; - $sql = "SELECT MAX(SUBSTRING(ref,".$posindice.")) as max"; + $sql = "SELECT MAX(SUBSTRING(ref FROM ".$posindice.")) as max"; $sql.= " FROM ".MAIN_DB_PREFIX."projet"; - $sql.= " WHERE ref like '".$this->prefix."%'"; + $sql.= " WHERE ref like '".$this->prefix."____-%'"; $sql.= " AND entity = ".$conf->entity; $resql=$db->query($sql); diff --git a/htdocs/includes/modules/propale/mod_propale_marbre.php b/htdocs/includes/modules/propale/mod_propale_marbre.php index 9daa986e8b9cbb6d8b86ee5f8b1026b6fef6855f..d9b9e55e419b0d83e2d29a478834d6485951de36 100644 --- a/htdocs/includes/modules/propale/mod_propale_marbre.php +++ b/htdocs/includes/modules/propale/mod_propale_marbre.php @@ -68,9 +68,10 @@ class mod_propale_marbre extends ModeleNumRefPropales $pryymm=''; - $sql = "SELECT MAX(ref)"; + $sql = "SELECT MAX(ref) as max"; $sql.= " FROM ".MAIN_DB_PREFIX."propal"; - $sql.= " WHERE entity = ".$conf->entity; + $sql.= " WHERE ref LIKE '".$this->prefix."____-%'"; + $sql.= " AND entity = ".$conf->entity; $resql=$db->query($sql); if ($resql) @@ -78,13 +79,15 @@ class mod_propale_marbre extends ModeleNumRefPropales $row = $db->fetch_row($resql); if ($row) $pryymm = substr($row[0],0,6); } - if (! $pryymm || preg_match('/PR[0-9][0-9][0-9][0-9]/i',$pryymm)) + + if (! $pryymm || preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i',$pryymm)) { return true; } else { - $this->error='Une propal commencant par $pryymm existe en base et est incompatible avec cette numerotation. Supprimer la ou renommer la pour activer ce module.'; + $langs->load("errors"); + $this->error=$langs->trans('ErrorNumRefModel'); return false; } } @@ -98,12 +101,11 @@ class mod_propale_marbre extends ModeleNumRefPropales { global $db,$conf; - // D'abord on recupere la valeur max (reponse immediate car champ indexe) + // D'abord on recupere la valeur max $posindice=8; - // TODO le 0+ cree une erreur sous pgsql mais est utile sous mysql si utilisation de différent module dans le passé - $sql = "SELECT MAX(0+SUBSTRING(ref FROM ".$posindice.")) as max"; + $sql = "SELECT MAX(SUBSTRING(ref FROM ".$posindice.")) as max"; // This is standard SQL $sql.= " FROM ".MAIN_DB_PREFIX."propal"; - $sql.= " WHERE ref LIKE '".$this->prefix."%'"; + $sql.= " WHERE ref LIKE '".$this->prefix."____-%'"; $sql.= " AND entity = ".$conf->entity; $resql=$db->query($sql); diff --git a/htdocs/includes/modules/supplier_order/mod_commande_fournisseur_muguet.php b/htdocs/includes/modules/supplier_order/mod_commande_fournisseur_muguet.php index 2076ed46c9088759d2a621b5ba77e8d8913e4802..32a57b4c921af34270625dd23b42468a4d7e0957 100644 --- a/htdocs/includes/modules/supplier_order/mod_commande_fournisseur_muguet.php +++ b/htdocs/includes/modules/supplier_order/mod_commande_fournisseur_muguet.php @@ -29,16 +29,16 @@ require_once(DOL_DOCUMENT_ROOT ."/includes/modules/supplier_order/modules_comman /** \class mod_commande_fournisseur_muguet - \brief Classe du modele de numerotation de reference de commande fournisseur Muguet -*/ + * \brief Classe du modele de numerotation de reference de commande fournisseur Muguet + */ class mod_commande_fournisseur_muguet extends ModeleNumRefSuppliersOrders { var $version='dolibarr'; // 'development', 'experimental', 'dolibarr' var $error = ''; var $nom = 'Muguet'; var $prefix='CF'; - - + + /** \brief Renvoi la description du modele de numerotation * \return string Texte descripif */ @@ -64,12 +64,13 @@ class mod_commande_fournisseur_muguet extends ModeleNumRefSuppliersOrders function canBeActivated() { global $conf; - + $coyymm=''; - - $sql = "SELECT MAX(ref)"; + + $sql = "SELECT MAX(ref) as max"; $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur"; - $sql.= " WHERE entity = ".$conf->entity; + $sql.= " WHERE ref LIKE '".$this->prefix."____-%'"; + $sql.= " AND entity = ".$conf->entity; $resql=$db->query($sql); if ($resql) { @@ -82,8 +83,9 @@ class mod_commande_fournisseur_muguet extends ModeleNumRefSuppliersOrders } else { - $this->error='Une commande commencant par $coyymm existe en base et est incompatible avec cette numerotation. Supprimer la ou renommer la pour activer ce module.'; - return false; + $langs->load("errors"); + $this->error=$langs->trans('ErrorNumRefModel'); + return false; } } @@ -96,13 +98,13 @@ class mod_commande_fournisseur_muguet extends ModeleNumRefSuppliersOrders { global $db,$conf; - // D'abord on recupere la valeur max (reponse immediate car champ indexe) + // D'abord on recupere la valeur max $posindice=8; - $sql = "SELECT MAX(SUBSTRING(ref,".$posindice.")) as max"; + $sql = "SELECT MAX(SUBSTRING(ref FROM ".$posindice.")) as max"; $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur"; - $sql.= " WHERE ref like '".$this->prefix."%'"; + $sql.= " WHERE ref like '".$this->prefix."____-%'"; $sql.= " AND entity = ".$conf->entity; - + $resql=$db->query($sql); if ($resql) { @@ -110,12 +112,12 @@ class mod_commande_fournisseur_muguet extends ModeleNumRefSuppliersOrders if ($obj) $max = intval($obj->max); else $max=0; } - + //$date=time(); $date=$object->date_commande; $yymm = strftime("%y%m",$date); $num = sprintf("%04s",$max+1); - + return $this->prefix.$yymm."-".$num; } diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang index 9f9c1e8e91648bc72c925069c0489b8c621e6edc..bff653783f169fd3999e9e166c156a115e993261 100644 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -70,3 +70,5 @@ ErrorFileIsInfectedWithAVirus=The antivirus program was not able to validate the ErrorSpecialCharNotAllowedForField=Special characters are not allowed for field "%s" WarningNoDocumentModelActivated=No model, for document generation, has been activated. A model will be choosed by default until you check your module setup. ErrorDatabaseParameterWrong=Database setup parameter '<b>%s</b>' has a value not compatible to use Dolibarr (must have value '<b>%s</b>'). +ErrorNumRefModel=A reference exists into database (%s) and is not compatible with this numbering rule. Remove record or renamed reference to activate this module. + diff --git a/htdocs/langs/fr_FR/bills.lang b/htdocs/langs/fr_FR/bills.lang index 05924aa1890fba33c1ef3af13c6b37c5e4a79319..f866d7a3ad3a1d67b221614e12674d8816ad0cb4 100644 --- a/htdocs/langs/fr_FR/bills.lang +++ b/htdocs/langs/fr_FR/bills.lang @@ -402,4 +402,3 @@ PDFTourteauDescription=Modèle de facture sans remise # NumRef Modules TerreNumRefModelDesc1=Renvoie le numéro sous la forme %syymm-nnnn pour les factures et %syymm-nnnn pour les avoirs où yy est l'année, mm le mois et nnnn un compteur séquentiel sans rupture et sans remise à 0 -TerreNumRefModelError=Une facture commençant par $syymm existe en base et est incompatible avec cette numérotation. Supprimez la ou renommez la pour activer ce module. diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang index 53b5e6c7f30e7f93cb2fba954c51c878cb2d552f..80a5d585b84095ad48ba369e2a0faae68d3d8c4f 100644 --- a/htdocs/langs/fr_FR/errors.lang +++ b/htdocs/langs/fr_FR/errors.lang @@ -70,4 +70,5 @@ WarningsOnXLines=Alertes sur <b>%s</b> lignes sources ErrorFileIsInfectedWithAVirus=L'antivirus n'a pas pu valider ce fichier (il est probablement infecté par un virus) ! ErrorSpecialCharNotAllowedForField=Les caractères spéciaux ne sont pas admis pour le champ "%s" WarningNoDocumentModelActivated=Aucun modèle, pour la génération de document, n'a été activé. Un modèle sera pris par défaut en attendant la correction de configuration du module. -ErrorDatabaseParameterWrong=Le paramètre de configuration de la base de donnée '<b>%s</b>' a une valeur non compatible pour une utilisation de Dolibarr (doit avoir la valeur '<b>%s</b>'). \ No newline at end of file +ErrorDatabaseParameterWrong=Le paramètre de configuration de la base de donnée '<b>%s</b>' a une valeur non compatible pour une utilisation de Dolibarr (doit avoir la valeur '<b>%s</b>'). +ErrorNumRefModel=Une référence existe en base (%s) et est incompatible avec cette numérotation. Supprimez la ligne ou renommez la référence pour activer ce module.