";
print ' ';
print_titre("Options fiscales de facturation de la TVA");
-print '
';
+print '
';
print '";
print "
";
+
+/*
+ * Autres constantes
+ */
+print ' ';
+print_titre("Autres constantes relatives aux factures");
+
+print '
';
+print '
';
+print '
Nom
';
+print '
Valeur
';
+print '
Type
';
+print '
Note
';
+print "
Action
";
+print "
\n";
+
+
+# Affiche lignes des constantes
+$form = new Form($db);
+$exclude="'FACTURE_ADDON','FACTURE_ADDON_PDF','FACTURE_CHQ_NUMBER','FACTURE_RIB_NUMBER','FACTURE_TVAOPTION'"; # Lignes exclues car affichées précédemment
+
+$sql = "SELECT rowid, name, value, type, note FROM llx_const ";
+$sql.= "WHERE name like 'FAC%' ";
+$sql.= "AND name not in ($exclude)";
+$sql.= "ORDER BY name ASC";
+$result = $db->query($sql);
+
+if ($result)
+{
+ $num = $db->num_rows();
+ $i = 0;
+ $var=True;
+
+ while ($i < $num)
+ {
+ $obj = $db->fetch_object( $i);
+ $var=!$var;
+
+ print '';
+ $i++;
+ }
+}
+
+print "
\n";
+
+print " \n";
+
+$db->close();
+
llxFooter("Dernière modification $Date$ révision $Revision$");
?>
diff --git a/htdocs/includes/modules/facture/modules_facture.php b/htdocs/includes/modules/facture/modules_facture.php
index 1cbb42adf04..734f995939a 100644
--- a/htdocs/includes/modules/facture/modules_facture.php
+++ b/htdocs/includes/modules/facture/modules_facture.php
@@ -58,6 +58,12 @@ function jupiter_get_num_explain()
Système de numérotation mensuel sous la forme F20030715, qui correspond à la 15ème facture du mois de Juillet 2003';
}
+
+/*!
+ \brief Crée un facture sur disque en fonction du modèle de FACTURE_ADDON_PDF
+ \param db objet base de donnée
+ \param facid id de la facture à créer
+*/
function facture_pdf_create($db, $facid)
{
@@ -79,7 +85,7 @@ function facture_pdf_create($db, $facid)
}
else
{
- print "Erreur";
+ print $obj->error();
return 0;
}
}
diff --git a/htdocs/includes/modules/facture/pdf_adytek.modules.php b/htdocs/includes/modules/facture/pdf_adytek.modules.php
index 2e3024ccc55..6ef52f48f39 100644
--- a/htdocs/includes/modules/facture/pdf_adytek.modules.php
+++ b/htdocs/includes/modules/facture/pdf_adytek.modules.php
@@ -1,5 +1,6 @@
+ * Copyright (C) 2004 Laurent Destailleur
*
* 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
@@ -29,6 +30,16 @@ Class pdf_adytek extends FPDF{
$this->description = "Modèle de facture avec remise et infos réglement à la mode de chez nous";
}
+
+ /*!
+ \brief Renvoi le dernier message d'erreur de création de facture
+ */
+ Function error()
+ {
+ return $this->error;
+ }
+
+
Function write_pdf_file($facid)
{
global $user;
@@ -46,7 +57,8 @@ Class pdf_adytek extends FPDF{
umask(0);
if (! mkdir($dir, 0755))
{
- print "Impossible de créer $dir !";
+ $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ return 0;
}
}
@@ -197,12 +209,14 @@ Class pdf_adytek extends FPDF{
}
else
{
- print "Erreur : le répertoire $dir n'existe pas !";
+ $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ return 0;
}
}
else
{
- print "FAC_OUTPUTDIR non définit !";
+ $this->error="Erreur: FAC_OUTPUTDIR non défini !";
+ return 0;
}
}
/*
diff --git a/htdocs/includes/modules/facture/pdf_bernique.modules.php b/htdocs/includes/modules/facture/pdf_bernique.modules.php
index 45a22b91f2b..f53cb20b6bf 100644
--- a/htdocs/includes/modules/facture/pdf_bernique.modules.php
+++ b/htdocs/includes/modules/facture/pdf_bernique.modules.php
@@ -1,5 +1,6 @@
+ * Copyright (C) 2004 Laurent Destailleur
*
* 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
@@ -29,6 +30,16 @@ Class pdf_bernique {
$this->description = "Modèle pour les factures avec plusieurs taux de tva, inclus aussi le numéro de TVA Intracommunautaire";
}
+
+ /*!
+ \brief Renvoi le dernier message d'erreur de création de facture
+ */
+ Function error()
+ {
+ return $this->error;
+ }
+
+
Function write_pdf_file($facid)
{
global $user;
@@ -46,7 +57,8 @@ Class pdf_bernique {
umask(0);
if (! mkdir($dir, 0755))
{
- print "Impossible de créer $dir !";
+ $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ return 0;
}
}
@@ -162,12 +174,14 @@ Class pdf_bernique {
}
else
{
- print "Erreur : le répertoire $dir n'existe pas !";
+ $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ return 0;
}
}
else
{
- print "FAC_OUTPUTDIR non définit !";
+ $this->error="Erreur: FAC_OUTPUTDIR non défini !";
+ return 0;
}
}
/*
diff --git a/htdocs/includes/modules/facture/pdf_bigorneau.modules.php b/htdocs/includes/modules/facture/pdf_bigorneau.modules.php
index 1253551d841..a9e4205e52e 100644
--- a/htdocs/includes/modules/facture/pdf_bigorneau.modules.php
+++ b/htdocs/includes/modules/facture/pdf_bigorneau.modules.php
@@ -1,5 +1,6 @@
+ * Copyright (C) 2004 Laurent Destailleur
*
* 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
@@ -30,6 +31,15 @@ Class pdf_bigorneau {
}
+ /*!
+ \brief Renvoi le dernier message d'erreur de création de facture
+ */
+ Function error()
+ {
+ return $this->error;
+ }
+
+
Function write_pdf_file($facid)
{
global $user;
@@ -47,7 +57,8 @@ Class pdf_bigorneau {
umask(0);
if (! mkdir($dir, 0755))
{
- print "Impossible de créer $dir !";
+ $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ return 0;
}
}
@@ -201,12 +212,14 @@ Class pdf_bigorneau {
}
else
{
- print "Erreur : le répertoire $dir n'existe pas !";
+ $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ return 0;
}
}
else
{
- print "FAC_OUTPUTDIR non définit !";
+ $this->error="Erreur: FAC_OUTPUTDIR non défini !";
+ return 0;
}
}
/*
diff --git a/htdocs/includes/modules/facture/pdf_bulot.modules.php b/htdocs/includes/modules/facture/pdf_bulot.modules.php
index 3c995dda82d..2ba131e2370 100644
--- a/htdocs/includes/modules/facture/pdf_bulot.modules.php
+++ b/htdocs/includes/modules/facture/pdf_bulot.modules.php
@@ -1,5 +1,6 @@
+ * Copyright (C) 2004 Laurent Destailleur
*
* 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
@@ -29,6 +30,16 @@ Class pdf_bulot {
$this->description = "Modèle de facture avec remise et infos réglement";
}
+
+ /*!
+ \brief Renvoi le dernier message d'erreur de création de facture
+ */
+ Function error()
+ {
+ return $this->error;
+ }
+
+
Function write_pdf_file($facid)
{
global $user;
@@ -46,7 +57,8 @@ Class pdf_bulot {
umask(0);
if (! mkdir($dir, 0755))
{
- print "Impossible de créer $dir !";
+ $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ return 0;
}
}
@@ -166,12 +178,14 @@ Class pdf_bulot {
}
else
{
- print "Erreur : le répertoire $dir n'existe pas !";
+ $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ return 0;
}
}
else
{
- print "FAC_OUTPUTDIR non définit !";
+ $this->error="Erreur: FAC_OUTPUTDIR non défini !";
+ return 0;
}
}
/*
diff --git a/htdocs/includes/modules/facture/pdf_crabe.modules.php b/htdocs/includes/modules/facture/pdf_crabe.modules.php
index 6799c8c5f5d..615b69ed3ec 100644
--- a/htdocs/includes/modules/facture/pdf_crabe.modules.php
+++ b/htdocs/includes/modules/facture/pdf_crabe.modules.php
@@ -21,13 +21,47 @@
*
*/
+
+/*! \file pdf_crabe.modules.php
+ \brief Classe permettant de générer lune facture au modèle Crabe
+ \author Laurent Destailleur
+ \version $Revision$
+*/
+
Class pdf_crabe {
+ var $error='';
+
+ /*!
+ \brief Constructeur
+ \param db objet base de donnée
+ */
Function pdf_crabe($db=0)
{
$this->db = $db;
$this->description = "Modèle de facture classique (Gère l'option fiscale de facturation TVA et le choix du mode de règlement à afficher)";
}
+
+ /*!
+ \brief Renvoi le dernier message d'erreur de création de facture
+ */
+ Function error()
+ {
+ return $this->error;
+ }
+
+
+ /*!
+ \brief Fonction générant la facture sur le disque
+ \param facid id de la facture à générer
+ \remarks Variables utilisées
+ \remarks FAC_OUTPUTDIR
+ \remarks FACTURE_CODEPRODUITSERVICE
+ \remarks FACTURE_CHQ_NUMBER
+ \remarks FACTURE_RIB_NUMBER
+ \remarks FAC_OUTPUTDIR
+ \return 1=ok, 0=ko
+ */
Function write_pdf_file($facid)
{
global $user;
@@ -44,7 +78,8 @@ Class pdf_crabe {
umask(0);
if (! mkdir($dir, 0755))
{
- print "Erreur: Impossible de créer $dir !";
+ $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ return 0;
}
}
@@ -212,13 +247,16 @@ Class pdf_crabe {
}
else
{
- print "Erreur : le répertoire $dir n'existe pas !";
+ $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ return 0;
}
}
else
{
- print "Erreur: FAC_OUTPUTDIR non défini !";
+ $this->error="Erreur: FAC_OUTPUTDIR non défini !";
+ return 0;
}
+ $this->error="Erreur: Erreur inconnue";
return 0; // Erreur par defaut
}
@@ -302,8 +340,8 @@ Class pdf_crabe {
}
else
{
- print "Erreur : ".$this->db->error()." ".$sql;
- return -1;
+ $this->error="Echec requete SQL";
+ return 0;
}
}
diff --git a/htdocs/includes/modules/facture/pdf_tourteau.modules.php b/htdocs/includes/modules/facture/pdf_tourteau.modules.php
index 0a2c561a55f..afe56949bc4 100644
--- a/htdocs/includes/modules/facture/pdf_tourteau.modules.php
+++ b/htdocs/includes/modules/facture/pdf_tourteau.modules.php
@@ -1,5 +1,6 @@
+ * Copyright (C) 2004 Laurent Destailleur
*
* 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
@@ -29,6 +30,14 @@ Class pdf_tourteau {
$this->description = "Modèle de facture sans remise";
}
+ /*!
+ \brief Renvoi le dernier message d'erreur de création de facture
+ */
+ Function error()
+ {
+ return $this->error;
+ }
+
Function write_pdf_file($facid)
{
@@ -47,7 +56,8 @@ Class pdf_tourteau {
umask(0);
if (! mkdir($dir, 0755))
{
- print "Impossible de créer $dir !";
+ $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ return 0;
}
}
@@ -253,12 +263,14 @@ Class pdf_tourteau {
}
else
{
- print "Erreur : le répertoire $dir n'existe pas !";
+ $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ return 0;
}
}
else
{
- print "FAC_OUTPUTDIR non définit !";
+ $this->error="Erreur: FAC_OUTPUTDIR non défini !";
+ return 0;
}
}
/*
diff --git a/htdocs/lib/functions.inc.php b/htdocs/lib/functions.inc.php
index 4292f68a8d1..262bc1562bd 100644
--- a/htdocs/lib/functions.inc.php
+++ b/htdocs/lib/functions.inc.php
@@ -122,13 +122,13 @@ function dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $not
/*!
\brief effacement d'une constante dans la base de données
\param db base de données
- \param name nom de la constante
+ \param name nom ou rowid de la constante
\remarks retourne 0 pour raté, 1 pour réussi
*/
function dolibarr_del_const($db, $name)
{
- $sql = "DELETE FROM llx_const WHERE name='$name'";
+ $sql = "DELETE FROM llx_const WHERE name='$name' or rowid='$name'";
if ($db->query($sql))
{