[0000695] Problem with cash balance constraint during payment edition fixed.
authorJanusz Dobrowolski <janusz@frontaccouting.eu>
Thu, 31 Mar 2011 08:36:19 +0000 (10:36 +0200)
committerJanusz Dobrowolski <janusz@frontaccouting.eu>
Thu, 31 Mar 2011 08:36:19 +0000 (10:36 +0200)
gl/gl_bank.php
includes/ui/items_cart.inc

index f83030168373d3fbfea942aee2b6ed3238d05985..8ad2aabf37c477e971adbacb7f137db3cf866423 100644 (file)
@@ -172,7 +172,7 @@ function create_cart($type, $trans_no)
                $cart->tran_date = sql2date($bank_trans['trans_date']);
                $cart->reference = $Refs->get($type, $trans_no);
 
-               $gl_amount = 0;
+               $cart->original_amount = $bank_trans['amount'];
                $result = get_gl_trans($type, $trans_no);
                if ($result) {
                        while ($row = db_fetch($result)) {
@@ -184,10 +184,10 @@ function create_cart($type, $trans_no)
                                        $date = $row['tran_date'];
                                        $cart->add_gl_item( $row['account'], $row['dimension_id'],
                                                $row['dimension2_id'], $row['amount'], $row['memo_']);
-                                       $gl_amount += $row['amount'];
                                }
                        }
                }
+
                // apply exchange rate
                foreach($cart->gl_items as $line_no => $line)
                        $cart->gl_items[$line_no]->amount *= $ex_rate;
@@ -226,9 +226,9 @@ if (isset($_POST['Process']))
 
        $limit = get_bank_account_limit($_POST['bank_account'], $_POST['date_']);
 
-       if ($limit != null && ($limit < $_SESSION['pay_items']->gl_items_total()))
+       if ($limit != null && (($limit - $_SESSION['pay_items']->original_amount) < $_SESSION['pay_items']->gl_items_total()))
        {
-               display_error(sprintf(_("The total bank amount exceeds allowed limit (%s)."), price_format($limit)));
+               display_error(sprintf(_("The total bank amount exceeds allowed limit (%s)."), price_format($limit-$_SESSION['pay_items']->original_amount)));
                set_focus('code_id');
                $input_error = 1;
        }
index f619bbca306c3c7f49ff0de9cc155e251229ff54..53a994216a1d82cf494ef2b6cdbdb80502685b5d 100644 (file)
@@ -31,6 +31,7 @@ class items_cart
        var $person_id;
        var $branch_id;
        var $reference;
+       var $original_amount;
        
        function items_cart($type)
        {