diff --git a/htdocs/compta/bank/bilanmens.php b/htdocs/compta/bank/bilanmens.php new file mode 100644 index 00000000000..f1a65874744 --- /dev/null +++ b/htdocs/compta/bank/bilanmens.php @@ -0,0 +1,154 @@ + + * + * 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. + * + * $Id$ + * $Source$ + * + */ +require("./pre.inc.php"); + +/* + * + */ + +llxHeader(); + +/* + * Sécurité accés client + */ +if ($user->societe_id > 0) +{ + $socidp = $user->societe_id; +} + +print_titre("Bilan mensuel Entrées/Sorties pour ce compte bancaire"); + + +# Le bilan est basé sur lx_bank (car doit inclure les transactions sans facture) +# plutot que sur llx_paiement + llx_paiementfourn + +$sql = "SELECT sum(f.amount), date_format(f.dateo,'%Y-%m') as dm"; +$sql .= " FROM llx_bank as f"; +$sql .= " WHERE f.amount >= 0"; +if ($account) { $sql .= " AND fk_account = $account"; } +$sql .= " GROUP BY dm"; + +if ($db->query($sql)) +{ + $num = $db->num_rows(); + $i = 0; + while ($i < $num) + { + $row = $db->fetch_row($i); + $encaiss[$row[1]] = $row[0]; + $i++; + } +} else { + print "Erreur: SQL $sql"; +} + +$sql = "SELECT sum(f.amount), date_format(f.dateo,'%Y-%m') as dm"; +$sql .= " FROM llx_bank as f"; +$sql .= " WHERE f.amount <= 0"; +if ($account) { $sql .= " AND fk_account = $account"; } +$sql .= " GROUP BY dm"; + +if ($db->query($sql)) +{ + $num = $db->num_rows(); + $i = 0; + while ($i < $num) + { + $row = $db->fetch_row($i); + $decaiss[$row[1]] = -$row[0]; + $i++; + } +} else { + print "Erreur: SQL $sql"; +} + + +print ''; +print ''; + +$year_current = strftime("%Y",time()); + +if ($year_current < (MAIN_START_YEAR + 2)) +{ + $year_start = MAIN_START_YEAR; + $year_end = (MAIN_START_YEAR + 2); +} +else +{ + $year_start = $year_current - 2; + $year_end = $year_current; +} + +for ($annee = $year_start ; $annee <= $year_end ; $annee++) +{ + print ''; +} +print ''; +print ''; +for ($annee = $year_start ; $annee <= $year_end ; $annee++) +{ + print ''; +} +print ''; + +for ($mois = 1 ; $mois < 13 ; $mois++) +{ + print ''; + print ""; + for ($annee = $year_start ; $annee <= $year_end ; $annee++) + { + print '"; + + print '"; + } + + print ''; +} + +print ""; +for ($annee = $year_start ; $annee <= $year_end ; $annee++) +{ + print ''; +} +print "\n"; + +print "
Mois'.$annee.'
DébitsCrédits
".strftime("%B",mktime(1,1,1,$mois,1,2000))." '; + $case = strftime("%Y-%m",mktime(1,1,1,$mois,1,$annee)); + if ($decaiss[$case]>0) + { + print price($decaiss[$case]); + $totsorties[$annee]+=$decaiss[$case]; + } + print " '; + $case = strftime("%Y-%m",mktime(1,1,1,$mois,1,$annee)); + if ($encaiss[$case]>0) + { + print price($encaiss[$case]); + $totentrees[$annee]+=$encaiss[$case]; + } + print "
Total annuel'.$totsorties[$annee].''.$totentrees[$annee].'
"; + +$db->close(); + +llxFooter("Dernière modification $Date$ révision $Revision$"); + +?> diff --git a/htdocs/compta/bank/pre.inc.php b/htdocs/compta/bank/pre.inc.php index 9518b9d6089..e7ab5fa9f31 100644 --- a/htdocs/compta/bank/pre.inc.php +++ b/htdocs/compta/bank/pre.inc.php @@ -1,6 +1,7 @@ - * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2003 Jean-Louis Bergamo + * 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 @@ -37,9 +38,6 @@ function llxHeader($head = "") $menu = new Menu(); - $menu->add("index.php","Comptes"); - $menu->add_submenu("search.php","Recherche"); - $sql = "SELECT rowid, label FROM ".MAIN_DB_PREFIX."bank_account where clos = 0 AND courant = 1"; $result = $db->query($sql); @@ -54,6 +52,7 @@ function llxHeader($head = "") $objp = $db->fetch_object($i); $menu->add("account.php?account=" . $objp->rowid, $objp->label); $menu->add_submenu("releve.php?account=" . $objp->rowid ,"Relevés"); + $menu->add_submenu("bilanmens.php?account=" . $objp->rowid ,"Bilan mensuel E/S"); $i++; } } @@ -61,6 +60,7 @@ function llxHeader($head = "") $menu->add("index.php","Banque"); + $menu->add_submenu("search.php","Recherche écriture"); $menu->add_submenu("budget.php","Budgets"); $menu->add_submenu("bilan.php","Bilan");