| ' . $langs->trans("Account") . ' | ';
print '' . $langs->trans("Label") . ' | ';
-print '' . $langs->trans("JanuaryMin") . ' | ';
-print '' . $langs->trans("FebruaryMin") . ' | ';
-print '' . $langs->trans("MarchMin") . ' | ';
-print '' . $langs->trans("AprilMin") . ' | ';
-print '' . $langs->trans("MayMin") . ' | ';
-print '' . $langs->trans("JuneMin") . ' | ';
-print '' . $langs->trans("JulyMin") . ' | ';
-print '' . $langs->trans("AugustMin") . ' | ';
-print '' . $langs->trans("SeptemberMin") . ' | ';
-print '' . $langs->trans("OctoberMin") . ' | ';
-print '' . $langs->trans("NovemberMin") . ' | ';
-print '' . $langs->trans("DecemberMin") . ' | ';
+for($i = 1; $i <= 12; $i ++) {
+ print '' . $langs->trans('MonthShort' . str_pad($i, 2, '0', STR_PAD_LEFT)) . ' | ';
+}
print '' . $langs->trans("Total") . ' |
';
-
-//TODO : Cannot work with PGSQL !, Change that with php treatment rather than big SQL query
-$sql = "SELECT IF(aa.account_number IS NULL, 'Non pointe', aa.account_number) AS 'code comptable',";
-$sql .= " IF(aa.label IS NULL, 'Non pointe', aa.label) AS 'Intitulé',";
-$sql .= " ROUND(SUM(IF(MONTH(f.datef)=1,fd.total_ht,0)),2) AS 'Janvier',";
-$sql .= " ROUND(SUM(IF(MONTH(f.datef)=2,fd.total_ht,0)),2) AS 'Fevrier',";
-$sql .= " ROUND(SUM(IF(MONTH(f.datef)=3,fd.total_ht,0)),2) AS 'Mars',";
-$sql .= " ROUND(SUM(IF(MONTH(f.datef)=4,fd.total_ht,0)),2) AS 'Avril',";
-$sql .= " ROUND(SUM(IF(MONTH(f.datef)=5,fd.total_ht,0)),2) AS 'Mai',";
-$sql .= " ROUND(SUM(IF(MONTH(f.datef)=6,fd.total_ht,0)),2) AS 'Juin',";
-$sql .= " ROUND(SUM(IF(MONTH(f.datef)=7,fd.total_ht,0)),2) AS 'Juillet',";
-$sql .= " ROUND(SUM(IF(MONTH(f.datef)=8,fd.total_ht,0)),2) AS 'Aout',";
-$sql .= " ROUND(SUM(IF(MONTH(f.datef)=9,fd.total_ht,0)),2) AS 'Septembre',";
-$sql .= " ROUND(SUM(IF(MONTH(f.datef)=10,fd.total_ht,0)),2) AS 'Octobre',";
-$sql .= " ROUND(SUM(IF(MONTH(f.datef)=11,fd.total_ht,0)),2) AS 'Novembre',";
-$sql .= " ROUND(SUM(IF(MONTH(f.datef)=12,fd.total_ht,0)),2) AS 'Decembre',";
-$sql .= " ROUND(SUM(fd.total_ht),2) as 'Total'";
+$sql = "SELECT " . $db->ifsql('aa.account_number IS NULL', "'".$langs->trans('NotMatch')."'", 'aa.account_number') . " AS codecomptable,";
+$sql .= " " . $db->ifsql('aa.label IS NULL', "'".$langs->trans('NotMatch')."'", 'aa.label') . " AS intitule,";
+for($i = 1; $i <= 12; $i ++) {
+ $sql .= " SUM(" . $db->ifsql('MONTH(f.datef)=' . $i, 'fd.total_ht', '0') . ") AS month" . str_pad($i, 2, '0', STR_PAD_LEFT) . ",";
+}
+$sql .= " SUM(fd.total_ht) as total";
$sql .= " FROM " . MAIN_DB_PREFIX . "facturedet as fd";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "facture as f ON f.rowid = fd.fk_facture";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as aa ON aa.rowid = fd.fk_code_ventilation";
@@ -211,7 +191,7 @@ if (! empty($conf->multicompany->enabled)) {
$sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")";
}
-$sql .= " GROUP BY fd.fk_code_ventilation";
+$sql .= " GROUP BY fd.fk_code_ventilation,aa.account_number,aa.label";
dol_syslog("htdocs/accountancy/customer/index.php sql=" . $sql, LOG_DEBUG);
$resql = $db->query($sql);
@@ -224,17 +204,9 @@ if ($resql) {
$var = ! $var;
print '