From f5fc8258e7a8236218efa1a8efcbe3bb081b1c79 Mon Sep 17 00:00:00 2001 From: opensides Date: Sun, 24 Oct 2004 00:08:42 +0000 Subject: [PATCH] =?UTF-8?q?format=20de=20facture=20mars=20cr=E9e=20par=20C?= =?UTF-8?q?hristophe=20Combelles=20change=20de=20mercure=20en=20mars=20car?= =?UTF-8?q?=20mercure=20existe=20deja?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/facture/mars/mars.modules.php | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 htdocs/includes/modules/facture/mars/mars.modules.php diff --git a/htdocs/includes/modules/facture/mars/mars.modules.php b/htdocs/includes/modules/facture/mars/mars.modules.php new file mode 100644 index 00000000000..abb28aaadb9 --- /dev/null +++ b/htdocs/includes/modules/facture/mars/mars.modules.php @@ -0,0 +1,97 @@ + + * Copyright (C) 2004 Laurent Destailleur + * Copyright (C) 2004 Christophe Combelles + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * or see http://www.gnu.org/ + * + * $Id$ + * $Source$ + * + */ + +/*! \file htdocs/includes/modules/facture/mars/mars.modules.php + \ingroup facture + \brief Fichier contenant la classe du modèle de numérotation de référence de facture Mars + \version $Revision$ +*/ + + +/*! \class mod_facture_mars + \brief Classe du modèle de numérotation de référence de facture Mars +*/ +class mod_facture_mars extends ModeleNumRefFactures +{ + + /*! \brief Renvoi la description du modele de numérotation + * \return string Texte descripif + */ + function info() + { + + $texte = ' + Numéro de facture sous la forme, PREF-10-2004-005, qui correspond à la 5ème facture d\'octobre 2004 pour la société dont le préfixe commercial est PREF. Le nombre final est formatté sur 3 chiffres ou plus.'; + + if (defined("FACTURE_MARS_DELTA")) + { + $texte .= "est défini et vaut : ".FACTURE_MARS_DELTA; + } + else + { + $texte .= "n'est pas défini"; + } + return $texte; + + } + + /*! \brief Renvoi un exemple de numérotation + * \return string Example + */ + function getExample() + { + return "PREF-10-2004-005"; + } + + /*! \brief Renvoie la référence de facture suivante non utilisée + * \param objsoc Objet société + * \return string Texte descriptif + */ + function getNumRef($objsoc=0) + { + global $db; + # define the beginning of the invoice number + $invnum=$objsoc->prefix_comm . "-" .strftime("%m-%Y", time()) . "-"; + # get the nb of invoices beginning with $invnum + $sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."facture WHERE fk_statut > 0 AND facnumber LIKE '".$invnum."%'"; + if ( $db->query($sql) ) + { + $row = $db->fetch_row(0); + $num = $row[0]+1; + } + # append a number of at least 3 digits on $invnum + if ( $num >= 0 AND $num <=9 ) + { + $num = "00".$num; + } + else if ( $num >= 10 AND $num <=99 ) + { + $num = "0".$num; + } + return $invnum.$num; + } +} + +?>