* 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 * 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; } $year_current = $_GET["year"]; if (! $year_current) { $year_current = strftime("%Y", time()); } $modecompta = $conf->compta->mode; if ($_GET["modecompta"]) $modecompta=$_GET["modecompta"]; print_titre("Résultat comptable, résumé annuel"); print '
'; print "Ce rapport présente la balance entre les recettes et les dépenses facturées aux clients ou fournisseurs. Les dépenses de charges ne sont pas incluses.
\n"; if ($modecompta=="CREANCES-DETTES") { print 'Il se base sur la date de validation des factures et inclut les factures dues, qu\'elles soient payées ou non'; print ' (Voir le rapport recettes-dépenses pour n\'inclure que les factures effectivement payées).
'; print '
'; } else { print 'Il se base sur la date de validation des factures et n\'inclut que les factures effectivement payées'; print ' (Voir le rapport en créances-dettes pour inclure les factures non encore payée).
'; print '
'; } /* * Factures clients */ $sql = "SELECT sum(f.total) as amount_ht, sum(f.total_ttc) as amount_ttc, date_format(f.datef,'%Y-%m') as dm"; $sql .= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture as f"; $sql .= " WHERE f.fk_soc = s.idp AND f.fk_statut = 1"; if ($_GET["year"]) { $sql .= " AND f.datef between '".$_GET["year"]."-01-01 00:00:00' and '".$_GET["year"]."-12-31 23:59:59'"; } if ($socidp) { $sql .= " AND f.fk_soc = $socidp"; } if ($modecompta != 'CREANCES-DETTES') { $sql .= " AND f.paye = 1"; } $sql .= " GROUP BY dm DESC"; if ($db->query($sql)) { $num = $db->num_rows(); $i = 0; while ($i < $num) { $row = $db->fetch_object($i); $encaiss[$row->dm] = $row->amount_ht; $encaiss_ttc[$row->dm] = $row->amount_ttc; $i++; } } else { dolibarr_print_error($db); } /* * Frais, factures fournisseurs. */ $sql = "SELECT sum(f.total_ht) as amount_ht, sum(f.total_ttc) as amount_ttc, date_format(f.datef,'%Y-%m') as dm"; $sql .= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture_fourn as f"; $sql .= " WHERE f.fk_soc = s.idp AND f.fk_statut = 1"; if ($_GET["year"]) { $sql .= " AND f.datef between '".$_GET["year"]."-01-01 00:00:00' and '".$_GET["year"]."-12-31 23:59:59'"; } if ($socidp) { $sql .= " AND f.fk_soc = $socidp"; } if ($modecompta != 'CREANCES-DETTES') { $sql .= " AND f.paye = 1"; } $sql .= " GROUP BY dm DESC"; if ($db->query($sql)) { $num = $db->num_rows(); $i = 0; while ($i < $num) { $row = $db->fetch_object($i); $decaiss[$row->dm] = $row->amount_ht; $decaiss_ttc[$row->dm] = $row->amount_ttc; $i++; } } else { dolibarr_print_error($db); } /* * Charges sociales */ print ''; print ''; 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 ''; $var=True; for ($mois = 1 ; $mois < 13 ; $mois++) { $var=!$var; print ''; print ""; for ($annee = $year_start ; $annee <= $year_end ; $annee++) { print '"; print '"; } print ''; } $var=!$var; print ""; for ($annee = $year_start ; $annee <= $year_end ; $annee++) { print ''; } print "\n"; print "
'.$langs->trans("Month").''.$annee.'
RecettesDépenses
".strftime("%B",mktime(1,1,1,$mois,1,$annee))." '; $case = strftime("%Y-%m",mktime(1,1,1,$mois,1,$annee)); if ($encaiss[$case]>0) { print price($encaiss[$case]); $totentrees[$annee]+=$encaiss[$case]; } print " '; $case = strftime("%Y-%m",mktime(1,1,1,$mois,1,$annee)); if ($decaiss[$case]>0) { print price($decaiss[$case]); $totsorties[$annee]+=$decaiss[$case]; } print "
Total annuel'.price($totentrees[$annee]).''.price($totsorties[$annee]).'
"; $db->close(); llxFooter("Dernière modification $Date$ révision $Revision$"); ?>