diff --git a/htdocs/includes/modules/commande/mod_commande_marbre.php b/htdocs/includes/modules/commande/mod_commande_marbre.php
index 8932fb79745..9edc1505dc3 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 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;
- }
+ /** \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;
- return true;
- }
+ $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 15a9e855a96..b9bf75bee60 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 38903821134..90bbd34eed1 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";
- }
+ return $langs->trans('PacificNumRefModelDesc1',$this->prefix);
+ }
- /** \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
- */
+ /** \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 7ac759b1090..72b40cd9776 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 9daa986e8b9..d9b9e55e419 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 2076ed46c90..32a57b4c921 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 9f9c1e8e916..bff653783f1 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 '%s' has a value not compatible to use Dolibarr (must have value '%s').
+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 05924aa1890..f866d7a3ad3 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 53b5e6c7f30..80a5d585b84 100644
--- a/htdocs/langs/fr_FR/errors.lang
+++ b/htdocs/langs/fr_FR/errors.lang
@@ -70,4 +70,5 @@ WarningsOnXLines=Alertes sur %s 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 '%s' a une valeur non compatible pour une utilisation de Dolibarr (doit avoir la valeur '%s').
\ No newline at end of file
+ErrorDatabaseParameterWrong=Le paramètre de configuration de la base de donnée '%s' a une valeur non compatible pour une utilisation de Dolibarr (doit avoir la valeur '%s').
+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.