diff --git a/htdocs/compta/stats/cabyprodserv.php b/htdocs/compta/stats/cabyprodserv.php
index 3ae699709af..ec9e0ea0a58 100644
--- a/htdocs/compta/stats/cabyprodserv.php
+++ b/htdocs/compta/stats/cabyprodserv.php
@@ -173,7 +173,7 @@ $catotal=0;
if ($modecompta == 'CREANCES-DETTES') {
$sql = "SELECT DISTINCT p.rowid as rowid, p.ref as ref, p.label as label,";
- $sql.= " sum(DISTINCT l.total_ht) as amount, sum(DISTINCT l.total_ttc) as amount_ttc";
+ $sql.= " sum(l.total_ht) as amount, sum(l.total_ttc) as amount_ttc";
$sql.= " FROM ".MAIN_DB_PREFIX."product as p";
$sql.= " JOIN ".MAIN_DB_PREFIX."facturedet as l";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture as f ON l.fk_facture = f.rowid";
diff --git a/htdocs/compta/stats/casoc.php b/htdocs/compta/stats/casoc.php
index 63ca148e5c3..214ce25e625 100644
--- a/htdocs/compta/stats/casoc.php
+++ b/htdocs/compta/stats/casoc.php
@@ -177,7 +177,7 @@ report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportl
$catotal=0;
if ($modecompta == 'CREANCES-DETTES') {
$sql = "SELECT DISTINCT s.rowid as socid, s.nom as name,";
- $sql.= " sum(DISTINCT f.total) as amount, sum(DISTINCT f.total_ttc) as amount_ttc";
+ $sql.= " sum(f.total) as amount, sum(f.total_ttc) as amount_ttc";
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
$sql.= " JOIN ".MAIN_DB_PREFIX."facture as f";
if ($selected_cat === -2) {
@@ -227,6 +227,7 @@ $sql.= " AND f.entity = ".$conf->entity;
if ($socid) $sql.= " AND f.fk_soc = ".$socid;
$sql.= " GROUP BY s.rowid, s.nom";
$sql.= " ORDER BY s.rowid";
+echo $sql;
$result = $db->query($sql);
if ($result) {
@@ -406,13 +407,13 @@ if (count($amount)) {
print '
';
if ($modecompta != 'CREANCES-DETTES') {
if ($key > 0) {
- print '';
+ print '';
} else {
- print '';
+ print '';
}
} else {
if ($key > 0) {
- print '';
+ print '';
} else {
print '';
}
diff --git a/htdocs/compta/stats/index.php b/htdocs/compta/stats/index.php
index 209cdba9563..bf31220ddaf 100644
--- a/htdocs/compta/stats/index.php
+++ b/htdocs/compta/stats/index.php
@@ -118,6 +118,7 @@ if ($result)
while ($i < $num)
{
$obj = $db->fetch_object($result);
+ $cum_ht[$obj->dm] = !empty($obj->amount) ? $obj->amount : 0;
$cum[$obj->dm] = $obj->amount_ttc;
if ($obj->amount_ttc)
{
@@ -180,7 +181,8 @@ print '| | ';
for ($annee = $year_start ; $annee <= $year_end ; $annee++)
{
- print '';
+ if ($modecompta == 'CREANCES-DETTES') print ' | ';
+ else print ' | ';
print '';
print $annee;
if ($conf->global->SOCIETE_FISCAL_MONTH_START > 1) print '-'.($annee+1);
@@ -192,6 +194,7 @@ print ' | ';
print '| '.$langs->trans("Month").' | ';
for ($annee = $year_start ; $annee <= $year_end ; $annee++)
{
+ if ($modecompta == 'CREANCES-DETTES') print ''.$langs->trans("AmountHT").' | ';
print ''.$langs->trans("AmountTTC").' | ';
print ''.$langs->trans("Delta").' | ';
if ($annee != $year_end) print ' | ';
@@ -224,6 +227,22 @@ for ($mois = 1+$nb_mois_decalage ; $mois <= 12+$nb_mois_decalage ; $mois++)
$case = dol_print_date(dol_mktime(1,1,1,$mois_modulo,1,$annee_decalage),"%Y-%m");
$caseprev = dol_print_date(dol_mktime(1,1,1,$mois_modulo,1,$annee_decalage-1),"%Y-%m");
+ if ($modecompta == 'CREANCES-DETTES') {
+ // Valeur CA du mois w/o VAT
+ print '';
+ if ($cum_ht[$case])
+ {
+ $now_show_delta=1; // On a trouve le premier mois de la premiere annee generant du chiffre.
+ print ''.price($cum_ht[$case],1).'';
+ }
+ else
+ {
+ if ($minyearmonth < $case && $case <= max($maxyearmonth,$nowyearmonth)) { print '0'; }
+ else { print ' '; }
+ }
+ print " | ";
+ }
+
// Valeur CA du mois
print '';
if ($cum[$case])
@@ -273,6 +292,7 @@ for ($mois = 1+$nb_mois_decalage ; $mois <= 12+$nb_mois_decalage ; $mois++)
print ' | ';
}
+ $total_ht[$annee]+=!empty($cum_ht[$case]) ? $cum_ht[$case] : 0;;
$total[$annee]+=$cum[$case];
if ($annee_decalage != $year_end) print ' | ';
}
@@ -349,6 +369,18 @@ for ($mois = 1+$nb_mois_decalage ; $mois <= 12+$nb_mois_decalage ; $mois++)
print ' | '.$langs->trans("Total").' | ';
for ($annee = $year_start ; $annee <= $year_end ; $annee++)
{
+ if ($modecompta == 'CREANCES-DETTES') {
+ // Montant total HT
+ if ($total_ht[$annee] || ($annee >= $minyear && $annee <= max($nowyear,$maxyear)))
+ {
+ print ''.($total_ht[$annee]?price($total_ht[$annee]):"0")." | ";
+ }
+ else
+ {
+ print ' | ';
+ }
+ }
+
// Montant total
if ($total[$annee] || ($annee >= $minyear && $annee <= max($nowyear,$maxyear)))
{
diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php
index 4ec715e0d58..c77606d75bc 100644
--- a/htdocs/core/class/html.formfile.class.php
+++ b/htdocs/core/class/html.formfile.class.php
@@ -952,4 +952,4 @@ class FormFile
}
-?>
\ No newline at end of file
+?>
diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php
index 246c3231012..1d97c737188 100644
--- a/htdocs/fourn/class/fournisseur.facture.class.php
+++ b/htdocs/fourn/class/fournisseur.facture.class.php
@@ -617,6 +617,13 @@ class FactureFournisseur extends CommonInvoice
else {
$error++;
}
+
+ if (! $error)
+ {
+ // Delete linked object
+ $res = $this->deleteObjectLinked();
+ if ($res < 0) $error++;
+ }
if (! $error)
{
|