From 759c9a1b6ee45451335ae781b92398572bee599e Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Tue, 6 Feb 2007 14:30:34 +0000 Subject: [PATCH] =?UTF-8?q?D=E9but=20ajout=20d'un=20mod=E8le=20de=20num=E9?= =?UTF-8?q?rotation=20param=E9trable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/facture/pluton/pluton.modules.php | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/htdocs/includes/modules/facture/pluton/pluton.modules.php b/htdocs/includes/modules/facture/pluton/pluton.modules.php index b869b7b25a7..fd28d43be2c 100644 --- a/htdocs/includes/modules/facture/pluton/pluton.modules.php +++ b/htdocs/includes/modules/facture/pluton/pluton.modules.php @@ -66,7 +66,11 @@ function info() */ function getExample() { - return "FA0600001"; + global $conf; + + $prefix = $conf->global->FACTURE_NUM_PREFIX; + $numExample = $prefix."0600001"; + return $numExample; } /** \brief Renvoi prochaine valeur attribuée @@ -79,7 +83,7 @@ function info() global $db,$conf; // On défini l'année fiscale - $prefix='FA'; + $prefix = $conf->global->FACTURE_NUM_PREFIX; $current_month = date("n"); if (is_object($facture) && $facture->date) @@ -101,16 +105,17 @@ function info() } // On récupère la valeur max (réponse immédiate car champ indéxé) + $numFigure = ($conf->global->FACTURE_NUM_QUANTIFY_METER - 1); $fisc=$prefix.$yy; $fayy=''; $sql = "SELECT MAX(facnumber)"; $sql.= " FROM ".MAIN_DB_PREFIX."facture"; - $sql.= " WHERE facnumber like '${fisc}%'"; + if ($conf->global->FACTURE_NUM_RESTART_BEGIN_YEAR) $sql.= " WHERE facnumber like '${fisc}%'"; $resql=$db->query($sql); if ($resql) { $row = $db->fetch_row($resql); - if ($row) $fayy = substr($row[0],0,4); + if ($row) $fayy = substr($row[0],0,$numFigure); } // Si au moins un champ respectant le modèle a été trouvée @@ -118,7 +123,7 @@ function info() { // Recherche rapide car restreint par un like sur champ indexé $date = strftime("%Y%m", time()); - $posindice=5; + $posindice = $conf->global->FACTURE_NUM_QUANTIFY_METER; $sql = "SELECT MAX(0+SUBSTRING(facnumber,$posindice))"; $sql.= " FROM ".MAIN_DB_PREFIX."facture"; $sql.= " WHERE facnumber like '${fayy}%'"; @@ -134,9 +139,10 @@ function info() $max=0; } - $num = sprintf("%05s",$max+1); + $arg = '%0'.$conf->global->FACTURE_NUM_QUANTIFY_METER.'s'; + $num = sprintf($arg,$max+1); - return "FA$yy$num"; + return "$prefix$yy$num"; }