From dc0c1a2c858e1805f4d333168334c178e78bb1a2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 25 Mar 2013 12:20:24 +0100 Subject: [PATCH] Fix: [ bug #729 ] incorrect unpaid invoice list --- htdocs/compta/facture/impayees.php | 55 ++++++++++++++++++------------ 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/htdocs/compta/facture/impayees.php b/htdocs/compta/facture/impayees.php index 5918a036807..327c56132f5 100644 --- a/htdocs/compta/facture/impayees.php +++ b/htdocs/compta/facture/impayees.php @@ -197,9 +197,9 @@ if (! $sortorder) $sortorder="ASC"; $limit = $conf->liste_limit; $sql = "SELECT s.nom, s.rowid as socid"; -$sql.= ", f.facnumber, f.increment, f.total as total_ht, f.tva as total_tva, f.total_ttc"; +$sql.= ", f.rowid as facid, f.facnumber, f.increment, f.total as total_ht, f.tva as total_tva, f.total_ttc, f.localtax1, f.localtax2"; $sql.= ", f.datef as df, f.date_lim_reglement as datelimite"; -$sql.= ", f.paye as paye, f.rowid as facid, f.fk_statut, f.type"; +$sql.= ", f.paye as paye, f.fk_statut, f.type"; $sql.= ", sum(pf.amount) as am"; if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", sc.fk_soc, sc.fk_user "; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; @@ -226,7 +226,7 @@ if ($search_ref) $sql .= " AND f.facnumber LIKE '%".$search_ref."%'"; if ($search_societe) $sql .= " AND s.nom LIKE '%".$search_societe."%'"; if ($search_montant_ht) $sql .= " AND f.total = '".$search_montant_ht."'"; if ($search_montant_ttc) $sql .= " AND f.total_ttc = '".$search_montant_ttc."'"; -if (GETPOST('sf_ref')) $sql .= " AND f.facnumber LIKE '%".GETPOST('sf_ref') . "%'"; +if (GETPOST('sf_ref')) $sql .= " AND f.facnumber LIKE '%".$db->escape(GETPOST('sf_ref'))."%'"; $sql.= " GROUP BY f.facnumber,f.increment,f.total,f.total_ttc,f.datef, f.date_lim_reglement,f.paye, f.rowid, f.fk_statut, f.type,s.nom, s.rowid"; if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", sc.fk_soc, sc.fk_user "; $sql.= " ORDER BY "; @@ -280,10 +280,10 @@ if ($resql) print_liste_field_titre($langs->trans("DateDue"),$_SERVER["PHP_SELF"],"f.date_lim_reglement","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"f.total","",$param,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("AmountVAT"),$_SERVER["PHP_SELF"],"f.tva","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Taxes"),$_SERVER["PHP_SELF"],"f.tva","",$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("AmountTTC"),$_SERVER["PHP_SELF"],"f.total_ttc","",$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Received"),$_SERVER["PHP_SELF"],"am","",$param,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Rest"),$_SERVER["PHP_SELF"],"am","",$param,'align="right"',$sortfield,$sortorder); + //print_liste_field_titre($langs->trans("Remain"),$_SERVER["PHP_SELF"],"am","",$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"fk_statut,paye,am","",$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Merge"),$_SERVER["PHP_SELF"],"","",$param,'align="center"',$sortfield,$sortorder); print "\n"; @@ -296,11 +296,11 @@ if ($resql) print ''; print ' '; print ' '; - print ''; - print ''; + print ''; + print ''; print ' '; - print ''; - print ''; + print ''; + print ''; print ''; print ''; print ''; @@ -341,7 +341,7 @@ if ($resql) print ''; // Ref - print ''; @@ -366,13 +366,24 @@ if ($resql) print ''; - print ''; - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; + + // Remain to receive + //print ''; - // Affiche statut de la facture + // Status of invoice print ''; @@ -387,19 +398,19 @@ if ($resql) print "\n"; $total_ht+=$objp->total_ht; - $total_tva+=$objp->total_tva; + $total_tva+=($objp->total_tva + $tx1 + $tx2); $total_ttc+=$objp->total_ttc; - $total_paid+=$objp->am; + $total_paid+=$objp->am + $cn; $i++; } print ''; print ''; - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; print ''; print ''; print '';
'; + print ''; print $facturestatic->getNomUrl(1); print ''.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($objp->nom,28).''.price($objp->total_ht).' '.$langs->getCurrencySymbol($conf->currency).''.price($objp->total_tva).' '.$langs->getCurrencySymbol($conf->currency).''.price($objp->total_ttc).' '.$langs->getCurrencySymbol($conf->currency).''.(! empty($objp->am)?price($objp->am).' '.$langs->getCurrencySymbol($conf->currency):' ').''.(! empty($objp->am)?price($objp->total_ttc-$objp->am).' '.$langs->getCurrencySymbol($conf->currency):' ').''.price($objp->total_ht).''.price($objp->total_tva); + $tx1=price2num($objp->localtax1); + $tx2=price2num($objp->localtax2); + if (! empty($tx1) || ! empty($tx2)) print '+'.price($tx1 + $objp->tx2); + print ''.price($objp->total_ttc).''; + $cn=$facturestatic->getSumCreditNotesUsed(); + if (! empty($objp->am)) print price($objp->am); + if (! empty($objp->am) && ! empty($cn)) print '+'; + if (! empty($cn)) print price($cn); + print ''.((! empty($objp->am) || ! empty($cn))?price($objp->total_ttc-$objp->am-$cn):' ').''; print $facturestatic->LibStatut($objp->paye,$objp->fk_statut,5,$objp->am); print '
'.$langs->trans("Total").''.price($total_ht).' '.$langs->getCurrencySymbol($conf->currency).''.price($total_tva).' '.$langs->getCurrencySymbol($conf->currency).''.price($total_ttc).' '.$langs->getCurrencySymbol($conf->currency).''.price($total_paid).' '.$langs->getCurrencySymbol($conf->currency).''.price($total_ht).''.price($total_tva).''.price($total_ttc).''.price($total_paid).'