Bank Payment View, Bank Deposit View: fixed 'left to allocate' amount, added value...
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Sat, 26 Oct 2013 22:09:48 +0000 (00:09 +0200)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Sat, 26 Oct 2013 22:27:23 +0000 (00:27 +0200)
gl/includes/db/gl_db_bank_trans.inc
gl/view/gl_deposit_view.php
gl/view/gl_payment_view.php

index 601827b178dc0d98de604f888f172ea86f8bc36c..49c1c9ff599604362845a4e92fa4e0535dc8ebe1 100644 (file)
@@ -65,18 +65,27 @@ function exists_bank_trans($type, $type_no)
 
 function get_bank_trans($type, $trans_no=null, $person_type_id=null, $person_id=null)
 {
-       $sql = "SELECT *, bank_account_name, account_code, bank_curr_code
-               FROM ".TB_PREF."bank_trans, ".TB_PREF."bank_accounts
-               WHERE ".TB_PREF."bank_accounts.id=".TB_PREF."bank_trans.bank_act ";
+       $sql = "SELECT bt.*, act.*,
+               IFNULL(abs(dt.ov_amount), IFNULL (abs(st.ov_amount), bt.amount)) settled_amount,
+               IFNULL(abs(dt.ov_amount/bt.amount), IFNULL (abs(st.ov_amount/bt.amount), 1)) settle_rate,
+               IFNULL(debtor.curr_code, IFNULL (supplier.curr_code, act.bank_curr_code)) settle_curr
+
+               FROM ".TB_PREF."bank_trans bt
+                                LEFT JOIN ".TB_PREF."debtor_trans dt ON dt.type=bt.type AND dt.trans_no=bt.trans_no
+                                LEFT JOIN ".TB_PREF."debtors_master debtor ON debtor.debtor_no = dt.debtor_no
+                                LEFT JOIN ".TB_PREF."supp_trans st ON st.type=bt.type AND st.trans_no=bt.trans_no
+                                LEFT JOIN ".TB_PREF."suppliers supplier ON supplier.supplier_id = st.supplier_id,
+                        ".TB_PREF."bank_accounts act
+               WHERE act.id=bt.bank_act ";
        if ($type != null)
-               $sql .= " AND type=".db_escape($type);
+               $sql .= " AND bt.type=".db_escape($type);
        if ($trans_no != null)
-               $sql .= " AND ".TB_PREF."bank_trans.trans_no = ".db_escape($trans_no);
+               $sql .= " AND bt.trans_no = ".db_escape($trans_no);
        if ($person_type_id != null)
-               $sql .= " AND ".TB_PREF."bank_trans.person_type_id = ".db_escape($person_type_id);
+               $sql .= " AND bt.person_type_id = ".db_escape($person_type_id);
        if ($person_id != null)
-               $sql .= " AND ".TB_PREF."bank_trans.person_id = ".db_escape($person_id);
-       $sql .= " ORDER BY trans_date, ".TB_PREF."bank_trans.id";
+               $sql .= " AND bt.person_id = ".db_escape($person_id);
+       $sql .= " ORDER BY trans_date, bt.id";
 
        return db_query($sql, "query for bank transaction");
 }
index 42e1aa39fdc395234ef4d6e31c5e39a61c98733b..88d315aa1743038d198db0e4a11113e69c1e5533 100644 (file)
@@ -38,7 +38,7 @@ $company_currency = get_company_currency();
 
 $show_currencies = false;
 
-if ($to_trans['bank_curr_code'] != $company_currency)
+if ($to_trans['bank_curr_code'] != $to_trans['settle_curr'])
 {
        $show_currencies = true;
 }
@@ -52,13 +52,13 @@ start_table(TABLESTYLE, "width=80%");
 
 if ($show_currencies)
 {
-       $colspan1 = 5;
-       $colspan2 = 8;
+       $colspan1 = 1;
+       $colspan2 = 7;
 }
 else
 {
        $colspan1 = 3;
-       $colspan2 = 6;
+       $colspan2 = 5;
 }
 start_row();
 label_cells(_("To Bank Account"), $to_trans['bank_account_name'], "class='tableheader2'");
@@ -69,6 +69,11 @@ label_cells(_("Date"), sql2date($to_trans['trans_date']), "class='tableheader2'"
 end_row();
 start_row();
 label_cells(_("From"), payment_person_name($to_trans['person_type_id'], $to_trans['person_id']), "class='tableheader2'", "colspan=$colspan1");
+if ($show_currencies)
+{
+       label_cells(_("Settle currency"), $to_trans['settle_curr'], "class='tableheader2'");
+       label_cells(_("Settled amount"),  number_format2($to_trans['settled_amount'], user_price_dec()), "class='tableheader2'");
+}
 label_cells(_("Deposit Type"), $bank_transfer_types[$to_trans['account_type']], "class='tableheader2'");
 end_row();
 start_row();
@@ -91,7 +96,7 @@ else
 
        display_heading2(_("Items for this Deposit"));
        if ($show_currencies)
-               display_heading2(_("Item Amounts are Shown in :") . " " . $company_currency);
+               display_heading2(_("Item Amounts are Shown in:") . " " . $company_currency);
 
     start_table(TABLESTYLE, "width=80%");
     $dim = get_company_pref('use_dimension');
@@ -133,7 +138,7 @@ else
 
        end_table(1);
 
-       display_allocations_from($to_trans['person_type_id'], $to_trans['person_id'], 2, $trans_no, $to_trans['amount']);
+       display_allocations_from($to_trans['person_type_id'], $to_trans['person_id'], 2, $trans_no, $to_trans['settled_amount']);
 }
 
 end_page(true, false, false, ST_BANKDEPOSIT, $trans_no);
index f348de15c2c672e8d4587ebc2fce40cf65068361..344eec358e1c37490983e8999a8b02480107fd14 100644 (file)
@@ -38,7 +38,7 @@ $company_currency = get_company_currency();
 
 $show_currencies = false;
 
-if ($from_trans['bank_curr_code'] != $company_currency)
+if ($from_trans['bank_curr_code'] != $from_trans['settle_curr'])
 {
        $show_currencies = true;
 }
@@ -50,13 +50,13 @@ start_table(TABLESTYLE, "width=80%");
 
 if ($show_currencies)
 {
-       $colspan1 = 5;
-       $colspan2 = 8;
+       $colspan1 = 1;
+       $colspan2 = 7;
 }
 else
 {
        $colspan1 = 3;
-       $colspan2 = 6;
+       $colspan2 = 5;
 }
 start_row();
 label_cells(_("From Bank Account"), $from_trans['bank_account_name'], "class='tableheader2'");
@@ -67,6 +67,11 @@ label_cells(_("Date"), sql2date($from_trans['trans_date']), "class='tableheader2
 end_row();
 start_row();
 label_cells(_("Pay To"), payment_person_name($from_trans['person_type_id'], $from_trans['person_id']), "class='tableheader2'", "colspan=$colspan1");
+if ($show_currencies)
+{
+       label_cells(_("Settle currency"), $from_trans['settle_curr'], "class='tableheader2'");
+       label_cells(_("Settled amount"), number_format2($from_trans['settled_amount'], user_price_dec()), "class='tableheader2'");
+}
 label_cells(_("Payment Type"), $bank_transfer_types[$from_trans['account_type']], "class='tableheader2'");
 end_row();
 start_row();
@@ -89,7 +94,7 @@ else
 
        display_heading2(_("Items for this Payment"));
        if ($show_currencies)
-               display_heading2(_("Item Amounts are Shown in :") . " " . $company_currency);
+               display_heading2(_("Item Amounts are Shown in:") . " " . $company_currency);
 
     echo "<br>";
     start_table(TABLESTYLE, "width=80%");
@@ -133,7 +138,7 @@ else
        end_table(1);
 
        if (!$voided)
-               display_allocations_from($from_trans['person_type_id'], $from_trans['person_id'], 1, $trans_no, -$from_trans['amount']);
+               display_allocations_from($from_trans['person_type_id'], $from_trans['person_id'], 1, $trans_no, $from_trans['settled_amount']);
 }
 
 end_page(true, false, false, ST_BANKPAYMENT, $trans_no);