diff --git a/htdocs/compta/resultat/clientfourn.php b/htdocs/compta/resultat/clientfourn.php index e2db6d5d0c4..e3c2f6193de 100644 --- a/htdocs/compta/resultat/clientfourn.php +++ b/htdocs/compta/resultat/clientfourn.php @@ -44,20 +44,20 @@ print '
'; 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 $langs->trans("RulesResultDue"); + 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 $langs->trans("RulesResultInOut"); + print '(Voir le rapport en créances-dettes pour inclure les factures non encore payée).
'; print '
'; } print ''; print ''; -print ''; +print ''; print ""; print ""; print "\n"; @@ -66,47 +66,51 @@ print "\n"; /* * Factures clients */ -$sql = "SELECT s.nom, s.idp, sum(f.total) as amount_ht, sum(f.total_ttc) as amount_ttc"; -$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 ($year) { - $sql .= " AND f.datef between '$year-01-01 00:00:00' and '$year-12-31 23:59:59'"; -} -if ($modecompta != 'CREANCES-DETTES') { - $sql .= " AND f.paye = 1"; -} -$sql .= " GROUP BY s.nom ASC"; +if ($conf->compta->mode == 'CREANCES-DETTES') { + $sql = "SELECT s.nom, s.idp, sum(f.total) as amount_ht, sum(f.total_ttc) as amount_ttc"; + $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'"; + } +} else { + $sql = "SELECT 'Fournisseurs' as nom, '0' as idp, sum(p.amount) as amount_ttc, date_format(p.datep,'%Y-%m') as dm"; + $sql .= " FROM ".MAIN_DB_PREFIX."paiement as p "; + $sql .= "left join ".MAIN_DB_PREFIX."facture as f "; + $sql .= "on f.rowid = p.fk_facture"; + if ($_GET["year"]) { + $sql .= " AND p.datep between '".$_GET["year"]."-01-01 00:00:00' and '".$_GET["year"]."-12-31 23:59:59'"; + } +} +$sql .= " GROUP BY nom ASC"; print ''; $result = $db->query($sql); if ($result) { - $num = $db->num_rows(); - - $i = 0; - - if ($num > 0) { - $var=True; - while ($i < $num) { - $objp = $db->fetch_object($result); - $var=!$var; + $num = $db->num_rows($result); + $i = 0; + $var=true; + while ($i < $num) + { + $objp = $db->fetch_object($result); + $var=!$var; - print ""; - print "\n"; - - print "\n"; - print "\n"; - - $total_ht = $total_ht + $objp->amount_ht; - $total_ttc = $total_ttc + $objp->amount_ttc; - print "\n"; - $i++; + print ""; + print "\n"; + + print "\n"; + print "\n"; + + $total_ht = $total_ht + $objp->amount_ht; + $total_ttc = $total_ttc + $objp->amount_ttc; + print "\n"; + $i++; } - } - $db->free(); + $db->free($result); } else { - dolibarr_print_error($db); + dolibarr_print_error($db); } print ''; print ''; @@ -116,26 +120,31 @@ print ''; /* * Frais, factures fournisseurs. */ - -$sql = "SELECT s.nom, s.idp, sum(f.total_ht) as amount_ht, sum(f.total_ttc) as amount_ttc"; -$sql .= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture_fourn as f"; -$sql .= " WHERE f.fk_soc = s.idp"; -if ($year) { - $sql .= " AND f.datef between '$year-01-01 00:00:00' and '$year-12-31 23:59:59'"; +if ($conf->compta->mode == 'CREANCES-DETTES') { + $sql = "SELECT s.nom, s.idp, 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'"; + } +} else { + $sql = "SELECT 'Fournisseurs' as nom, '0' as idp, sum(p.amount) as amount_ttc, date_format(p.datep,'%Y-%m') as dm"; + $sql .= " FROM ".MAIN_DB_PREFIX."paiementfourn as p "; + $sql .= "left join ".MAIN_DB_PREFIX."facture_fourn as f "; + $sql .= "on f.rowid = p.fk_facture_fourn"; + if ($_GET["year"]) { + $sql .= " AND p.datep between '".$_GET["year"]."-01-01 00:00:00' and '".$_GET["year"]."-12-31 23:59:59'"; + } } -if ($modecompta != 'CREANCES-DETTES') { - $sql .= " AND f.paye = 1"; -} -$sql .= " GROUP BY s.nom ASC, s.idp"; +$sql .= " GROUP BY nom ASC, idp"; print ''; $subtotal_ht = 0; $subtotal_ttc = 0; $result = $db->query($sql); if ($result) { - $num = $db->num_rows(); + $num = $db->num_rows($result); $i = 0; - if ($num > 0) { $var=True; while ($i < $num) { @@ -156,7 +165,7 @@ if ($result) { $i++; } } - $db->free(); + $db->free($result); } else { dolibarr_print_error($db); } diff --git a/htdocs/compta/resultat/index.php b/htdocs/compta/resultat/index.php index fff913f6ee1..04f560f4176 100644 --- a/htdocs/compta/resultat/index.php +++ b/htdocs/compta/resultat/index.php @@ -54,98 +54,105 @@ $modecompta = $conf->compta->mode; if ($_GET["modecompta"]) $modecompta=$_GET["modecompta"]; -$title="Résultat comptable, résumé annuel"; +$title="Résultat comptable (HT), résumé annuel"; $lien=($year_start?"".img_previous()."".img_next()."":""); print_fiche_titre($title,$lien); 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"; +// Affiche règles de calcul +print "Ce rapport présente la balance entre les recettes et les dépenses facturées aux clients ou fournisseurs:
\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 $langs->trans("RulesResultDue"); + 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 $langs->trans("RulesResultInOut"); + 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 ($conf->compta->mode == 'CREANCES-DETTES') { + $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"; +} else { + $sql = "SELECT sum(p.amount) as amount_ttc, date_format(p.datep,'%Y-%m') as dm"; + $sql .= " FROM ".MAIN_DB_PREFIX."paiement as p "; + $sql .= "left join ".MAIN_DB_PREFIX."facture as f "; + $sql .= "on f.rowid = p.fk_facture"; } if ($socidp) { $sql .= " AND f.fk_soc = $socidp"; } -if ($modecompta != 'CREANCES-DETTES') { - $sql .= " AND f.paye = 1"; -} $sql .= " GROUP BY dm DESC"; + $result=$db->query($sql); if ($result) { - $num = $db->num_rows($result); - $i = 0; - while ($i < $num) + $num = $db->num_rows($result); + $i = 0; + while ($i < $num) { - $row = $db->fetch_object($result); - $encaiss[$row->dm] = $row->amount_ht; - $encaiss_ttc[$row->dm] = $row->amount_ttc; - $i++; + $row = $db->fetch_object($result); + $encaiss[$row->dm] = $row->amount_ht; + $encaiss_ttc[$row->dm] = $row->amount_ttc; + $i++; } + $db->free($result); } else { dolibarr_print_error($db); } -$db->free($result); + /* * 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 ($conf->compta->mode == 'CREANCES-DETTES') { + $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"; +} else { + $sql = "SELECT sum(p.amount) as amount_ttc, date_format(p.datep,'%Y-%m') as dm"; + $sql .= " FROM ".MAIN_DB_PREFIX."paiementfourn as p "; + $sql .= "left join ".MAIN_DB_PREFIX."facture_fourn as f "; + $sql .= "on f.rowid = p.fk_facture_fourn"; } if ($socidp) { $sql .= " AND f.fk_soc = $socidp"; } -if ($modecompta != 'CREANCES-DETTES') { - $sql .= " AND f.paye = 1"; -} $sql .= " GROUP BY dm DESC"; $result=$db->query($sql); if ($result) { - $num = $db->num_rows($result); - $i = 0; - while ($i < $num) + $num = $db->num_rows($result); + $i = 0; + while ($i < $num) { - $row = $db->fetch_object($result); - $decaiss[$row->dm] = $row->amount_ht; - $decaiss_ttc[$row->dm] = $row->amount_ttc; - $i++; + $row = $db->fetch_object($result); + $decaiss[$row->dm] = $row->amount_ht; + $decaiss_ttc[$row->dm] = $row->amount_ttc; + $i++; } + $db->free($result); } else { dolibarr_print_error($db); } -$db->free($result); + + /* - * Tableau + * Affiche tableau */ print '
 Elément '.$langs->trans("Element").'".$langs->trans("AmountHT")."".$langs->trans("AmountTTC")."
Facturation clients
 ".$langs->trans("Factures")." idp\">$objp->nom".price($objp->amount_ht)."".price($objp->amount_ttc)."
 ".$langs->trans("Factures")." idp\">$objp->nom".price($objp->amount_ht)."".price($objp->amount_ttc)."
'.price($total_ht).'
Facturation fournisseurs
'; diff --git a/htdocs/compta/stats/index.php b/htdocs/compta/stats/index.php index f30ea664840..666e6b84542 100644 --- a/htdocs/compta/stats/index.php +++ b/htdocs/compta/stats/index.php @@ -50,21 +50,37 @@ if ($user->societe_id > 0) $socidp = $user->societe_id; } -$mode='recettes'; -if ($conf->compta->mode == 'CREANCES-DETTES') { $mode='creances'; } +$modecompta = $conf->compta->mode; +if ($_GET["modecompta"]) $modecompta=$_GET["modecompta"]; -if ($mode=='creances') { - $title="Chiffre d'affaire (".$conf->monnaie." HT, ".$mode.")"; +if ($modecompta=='CREANCES-DETTES') { + $title="Chiffre d'affaire (".$conf->monnaie." HT)"; } else { - $title="Chiffre d'affaire (".$conf->monnaie." TTC, ".$mode.")"; + $title="Chiffre d'affaire (".$conf->monnaie." TTC)"; } $lien=($year_start?"".img_previous()."".img_next()."":""); print_fiche_titre($title,$lien); + +// Affiche règles de calcul +print "Ce rapport présente le CA:
\n"; +if ($modecompta=="CREANCES-DETTES") +{ + print $langs->trans("RulesCADue"); + print '(Voir le rapport recettes-dépenses pour n\'inclure que les factures effectivement payées).
'; + print '
'; +} +else { + print $langs->trans("RulesCAIn"); + print '(Voir le rapport en créances-dettes pour inclure les factures non encore payée).
'; + print '
'; +} + print '
'; + if ($conf->compta->mode == 'CREANCES-DETTES') { - $sql = "SELECT sum(f.total) as amount , date_format(f.datef,'%Y-%m') as dm"; + $sql = "SELECT sum(f.total) as amount, sum(f.total_ttc) as amount_ttc, date_format(f.datef,'%Y-%m') as dm"; $sql .= " FROM ".MAIN_DB_PREFIX."facture as f"; $sql .= " WHERE f.fk_statut = 1"; $sql .= " AND f.paye = 1"; @@ -78,24 +94,28 @@ if ($conf->compta->mode == 'CREANCES-DETTES') { $sql .= "left join ".MAIN_DB_PREFIX."facture as f "; $sql .= "on f.rowid = p.fk_facture"; } - if ($socidp) { $sql .= " AND f.fk_soc = $socidp"; } $sql .= " GROUP BY dm DESC"; + $result = $db->query($sql); if ($result) { - $num = $db->num_rows(); - $i = 0; - while ($i < $num) + $num = $db->num_rows($result); + $i = 0; + while ($i < $num) { - $row = $db->fetch_row($i); - $cum[$row[1]] = $row[0]; - $i++; + $obj = $db->fetch_object($result); + $cum[$obj->dm] = $obj->amount; + $i++; } + $db->free($result); +} +else { + dolibarr_print_error($db); } print '
'; diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 33fc4e26221..98088f54080 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -20,4 +20,8 @@ VATSummary=VAT Summary VATPayed=VAT payed SocialContributions=Social contributions AccountancyTreasuryArea=Accountancy/Treasury area -NewPayment=New payment \ No newline at end of file +NewPayment=New payment +RulesResultDue=- Les dépenses de charges ne sont pas incluses.
- Il se base sur la date de validation des factures.
- Il inclut les factures dues, qu'elles soient payées ou non
+RulesResultInOut=- Les dépenses de charges ne sont pas incluses.
- Il se base sur les paiements des factures effectivement réalisés
+RulesCADue=- Il se base sur la date de validation des factures.
- Il se base sur les factures dues, qu'elles soient payées ou non
+RulesCAIn=- Il se base sur la date des paiements de factures
- Il se base sur les paiements des factures effectivement réalisés
diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index b781eb14808..6167a085335 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -22,3 +22,7 @@ SocialContributions=Charges sociales AccountancyTreasuryArea=Espace Compta/Tréso NewPayment=Nouveau paiement ListPayment=Liste des paiements +RulesResultDue=- Les dépenses de charges ne sont pas incluses.
- Il se base sur la date de validation des factures.
- Il inclut les factures dues, qu'elles soient payées ou non
+RulesResultInOut=- Les dépenses de charges ne sont pas incluses.
- Il se base sur les paiements des factures effectivement réalisés
+RulesCADue=- Il se base sur la date de validation des factures.
- Il se base sur les factures dues, qu'elles soient payées ou non
+RulesCAIn=- Il se base sur la date des paiements de factures
- Il se base sur les paiements des factures effectivement réalisés