diff --git a/htdocs/compta/bank/releve.php b/htdocs/compta/bank/releve.php index 902495bc6aa98b8714ec475351578a857a13adcc..2fa9436d3664fb5b4b4aa1c3242ffe5e2828a59a 100644 --- a/htdocs/compta/bank/releve.php +++ b/htdocs/compta/bank/releve.php @@ -146,9 +146,14 @@ if (empty($num)) print '<table class="noborder" width="100%">'; print '<tr class="liste_titre">'; - print '<td>'.$langs->trans("AccountStatement").'</td></tr>'; + print '<td>'.$langs->trans("AccountStatement").'</td>'; + print '<td>'.$langs->trans("InitialBankBalance").'</td>'; + print '<td>'.$langs->trans("EndBankBalance").'</td>'; + print '</tr>'; + + $balancestart=array(); + $content=array(); - //while ($i < min($numrows,$conf->liste_limit)) // retrait de la limite tant qu'il n'y a pas de pagination while ($i < min($numrows,$conf->liste_limit)) { $objp = $db->fetch_object($result); @@ -159,7 +164,37 @@ if (empty($num)) } else { - print '<tr '.$bc[$var].'><td><a href="releve.php?num='.$objp->numr.'&account='.$acct->id.'">'.$objp->numr.'</a></td></tr>'."\n"; + print '<tr '.$bc[$var].'><td><a href="releve.php?num='.$objp->numr.'&account='.$acct->id.'">'.$objp->numr.'</a></td>'; + + // Calculate start amount + $sql = "SELECT sum(b.amount) as amount"; + $sql.= " FROM ".MAIN_DB_PREFIX."bank as b"; + $sql.= " WHERE b.num_releve < '".$db->escape($objp->numr)."'"; + $sql.= " AND b.fk_account = ".$acct->id; + $resql=$db->query($sql); + if ($resql) + { + $obj=$db->fetch_object($resql); + $balancestart[$objp->numr] = $obj->amount; + $db->free($resql); + } + print '<td>'.price($balancestart[$objp->numr],'',$langs,1,-1,-1,$conf->currency).'</td>'; + + // Calculate end amount + $sql = "SELECT sum(b.amount) as amount"; + $sql.= " FROM ".MAIN_DB_PREFIX."bank as b"; + $sql.= " WHERE b.num_releve = '".$db->escape($objp->numr)."'"; + $sql.= " AND b.fk_account = ".$acct->id; + $resql=$db->query($sql); + if ($resql) + { + $obj=$db->fetch_object($resql); + $content[$objp->numr] = $obj->amount; + $db->free($resql); + } + print '<td>'.price(($balancestart[$objp->numr]+$content[$objp->numr]),'',$langs,1,-1,-1,$conf->currency).'</td>'; + + print '</tr>'."\n"; } $i++; } @@ -179,6 +214,7 @@ else */ $ve=$_GET["ve"]; + // Define number of receipt to show (current, previous or next one ?) $found=false; if ($_GET["rel"] == 'prev') { diff --git a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql index 60d0e0660daea4853e97a88b88a8403759f517fb..a96888b517390da64e844c2d71c6efb8f63c92fd 100755 --- a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql +++ b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql @@ -19,6 +19,9 @@ -- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup); +ALTER TABLE llx_bank ADD INDEX idx_bank_num_releve(num_releve); + + --create table for price expressions and add column in product supplier create table llx_c_price_expression ( diff --git a/htdocs/install/mysql/tables/llx_bank.key.sql b/htdocs/install/mysql/tables/llx_bank.key.sql index cab5f20023484ffa5d1d9f23a4b022be2cc9bc27..8eb2e963a32bd2b3149bc0c8f396507150969165 100644 --- a/htdocs/install/mysql/tables/llx_bank.key.sql +++ b/htdocs/install/mysql/tables/llx_bank.key.sql @@ -20,5 +20,7 @@ ALTER TABLE llx_bank ADD INDEX idx_bank_datev(datev); ALTER TABLE llx_bank ADD INDEX idx_bank_dateo(dateo); ALTER TABLE llx_bank ADD INDEX idx_bank_fk_account(fk_account); ALTER TABLE llx_bank ADD INDEX idx_bank_rappro(rappro); +ALTER TABLE llx_bank ADD INDEX idx_bank_num_releve(num_releve); +