2
0
forked from Wavyzz/dolibarr

Simplification du systme de rapprochement. L'utilisateur doit consciemment saisir le nom du relev sur lequel le rapprochement est faire.

Cela vite les erreurs de rapprochement fait sur les mauvais relev. La dmarche de saisie obligatoire du relev rend du coup le besoin de saisir "oui" inutile.
This commit is contained in:
Laurent Destailleur
2004-10-09 13:53:14 +00:00
parent e80be0485e
commit 509f0a2eee

View File

@@ -19,6 +19,13 @@
* $Id$
* $Source$
*/
/*! \file htdocs/compta/bank/rappro.php
\ingroup banque
\brief Page de rapprochement bancaire
\version $Revision$
*/
require("./pre.inc.php");
$user->getrights('compta');
@@ -26,8 +33,10 @@ $user->getrights('compta');
if (!$user->admin && !$user->rights->compta->bank)
accessforbidden();
llxHeader();
/*
* Action rapprochement
*/
@@ -35,8 +44,7 @@ if ($_POST["action"] == 'rappro')
{
if ($_POST["num_releve"] > 0) {
$valrappro=$_POST["rappro"]=='yes'?1:0;
$valrappro=1;
$sql = "UPDATE ".MAIN_DB_PREFIX."bank set rappro=$valrappro, num_releve=".$_POST["num_releve"];
if ($_POST["rappro"]) {
# Si on fait un rapprochement, le user de rapprochement est inclus dans l'update
@@ -48,13 +56,16 @@ if ($_POST["action"] == 'rappro')
if ($result) {
if ($cat1 && $_POST["action"]) {
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bank_class (lineid, fk_categ) VALUES ($rowid, $cat1)";
$result = $db->query($sql);
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bank_class (lineid, fk_categ) VALUES ($rowid, $cat1)";
$result = $db->query($sql);
}
} else {
print dolibarr_print_error($db,$sql);
}
}
else {
$msg="Erreur: Saisissez le relev<65> qui r<>f<EFBFBD>rence la transaction pour la rapprocher.";
}
}
/*
@@ -84,9 +95,7 @@ if ($result) {
}
/*
* Affichage page
*/
// Recup<75>re nom du dernier relev<65>
$sql = "SELECT max(num_releve) FROM ".MAIN_DB_PREFIX."bank WHERE fk_account=".$_GET["account"];
if ( $db->query($sql) )
{
@@ -98,17 +107,20 @@ if ( $db->query($sql) )
}
else
{
print $db->error();
dolibarr_print_error($db);
}
/*
* Affichage liste des transactions <20> rapprocher
*/
$acct = new Account($db);
$acct->fetch($_GET["account"]);
$sql = "SELECT b.rowid,".$db->pdate("b.dateo")." as do, b.amount, b.label, b.rappro, b.num_releve, b.num_chq, b.fk_type";
$sql = "SELECT b.rowid,".$db->pdate("b.dateo")." as do, ".$db->pdate("b.datev")." as dv, b.amount, b.label, b.rappro, b.num_releve, b.num_chq, b.fk_type as type";
$sql .= " FROM ".MAIN_DB_PREFIX."bank as b WHERE rappro=0 AND fk_account=".$_GET["account"];
$sql .= " ORDER BY dateo ASC LIMIT 10";
$sql .= " ORDER BY dateo";
$sql .= " ASC LIMIT ".$conf->liste_limit;
$result = $db->query($sql);
if ($result)
@@ -117,23 +129,28 @@ if ($result)
$num = $db->num_rows();
if ($num == 0) {
//print "<br>Pas ou plus de transactions saisies, en attente de rapprochement, pour ce compte bancaire.<br>";
header("Location: /compta/bank/account.php?account=".$account);
header("Location: /compta/bank/account.php?account=".$_GET["account"]);
exit;
}
else {
print_titre('Rapprochement compte bancaire: <a href="account.php?account='.$account.'">'.$acct->label.'</a>');
print_titre('Rapprochement compte bancaire: <a href="account.php?account='.$_GET["account"].'">'.$acct->label.'</a>');
print '<br>';
print '<table class="noborder" width="100%" cellspacing="0" cellpadding="2">';
if ($msg) {
print "$msg<br><br>";
}
print '<table class="noborder" width="100%">';
print "<tr class=\"liste_titre\">";
print '<td>Date</td><td>'.$langs->trans("Description").'</td>';
print "<td align=\"right\">Debit</td>";
print "<td align=\"right\">Credit</td>";
print "<td align=\"center\">Releve</td>";
print '<td align="center" colspan="2">Rappro</td>';
print '<td align="center">&nbsp;</td>';
print '<td>Date Ope</td>';
print '<td>Date Valeur</td>';
print '<td>'.$langs->trans("Type").'</td>';
print '<td>'.$langs->trans("Description").'</td>';
print '<td align="right">Debit</td>';
print '<td align="right">Credit</td>';
print '<td align="center" width="100">Releve<br>(Ex: YYYYMM)</td>';
print '<td align="center" width="100" colspan="2">'.$langs->trans("Action").'</td>';
print "</tr>\n";
}
@@ -149,8 +166,10 @@ if ($result)
print "<input type=\"hidden\" name=\"account\" value=\"".$_GET["account"]."\">";
print "<input type=\"hidden\" name=\"rowid\" value=\"".$objp->rowid."\">";
print "<td>".dolibarr_print_date($objp->do)."</td>\n";
print "<td>$objp->label</td>";
print '<td>'.dolibarr_print_date($objp->do).'</td>';
print '<td>'.dolibarr_print_date($objp->dv).'</td>';
print '<td>'.$objp->type.($objp->num_chq?' '.$objp->num_chq:'').'</td>';
print '<td>'.$objp->label.'</td>';
if ($objp->amount < 0)
{
@@ -158,20 +177,22 @@ if ($result)
}
else
{
print "<td>&nbsp;</td><td align=\"right\">".price($objp->amount)."</TD>\n";
print "<td>&nbsp;</td><td align=\"right\">".price($objp->amount)."</td>\n";
}
if ($objp->do <= mktime() ) {
print "<td align=\"center\">";
print "<input name=\"num_releve\" type=\"text\" value=\"$last_releve\" size=\"8\" maxlength=\"6\"></td>";
print "<td align=\"center\">";
$html=new Form($db);
$html->selectyesno("rappro","no");
print "<input name=\"num_releve\" type=\"text\" value=\"\" size=\"8\">";
if ($options) {
print "<br><select name=\"cat1\">$options";
print "</select>";
}
print "</td>";
print "<td align=\"center\"><input type=\"submit\" value=\"".$langs->trans("Rapprocher")."\"></td>";
print "<td align=\"center\"><input type=\"submit\" value=\"".$langs->trans("Rapprocher")."\">";
print "</td>";
}
else {
print "<td align=\"right\" colspan=\"3\">";
print "<td align=\"left\" colspan=\"2\">";
print "Ecriture future. Ne peut pas encore <20>tre rapproch<63>e.";
print "</td>";
}
@@ -184,7 +205,7 @@ if ($result)
{
if ($user->rights->banque->modifier)
{
print "<td align=\"center\">";
print '<td align="center" width="30">';
if ($objp->do <= mktime() ) {
print "<a href=\"rappro.php?action=del&amp;rowid=$objp->rowid&amp;account=$acct->id\">";
print img_delete();
@@ -202,15 +223,7 @@ if ($result)
}
print "</tr>";
print "<tr $bc[$var]><td>&nbsp;</td><td>".$objp->fk_type.($objp->num_chq?" ".$objp->num_chq:"")."</td><td colspan=\"6\">";
if ($options) {
print "<select name=\"cat1\">$options";
print "</select>";
}
else {
print "&nbsp;";
}
print "</td></tr>";
print "</form>";
$i++;
}
@@ -221,7 +234,7 @@ if ($result)
}
} else {
print "Erreur : ".$db->error()." : ".$sql."<br>\n";
dolibarr_print_error($db);
}
print '<br>Dernier relev<65> : <a href="releve.php?account='.$_GET["account"].'&amp;num='.$last_releve.'">'.$last_releve.'</a>';