Added quick entries in supplier invoice/credit note as well. Based on bank payments
authorJoe Hunt <joe.hunt.consulting@gmail.com>
Thu, 18 Dec 2008 13:14:34 +0000 (13:14 +0000)
committerJoe Hunt <joe.hunt.consulting@gmail.com>
Thu, 18 Dec 2008 13:14:34 +0000 (13:14 +0000)
CHANGELOG.txt
gl/gl_bank.php
gl/gl_journal.php
gl/includes/db/gl_db_banking.inc
includes/ui/ui_view.inc
purchasing/includes/ui/invoice_ui.inc
purchasing/supplier_credit.php
purchasing/supplier_invoice.php

index ea760b959862c662d0c54d3c41e99409004988e5..6123ac9bfd5a1fc665c79ac67b8e08e0eeadd43f 100644 (file)
@@ -19,6 +19,16 @@ Legend:
 ! -> Note
 $ -> Affected files
 
+18-Dec-2008 Joe Hunt
++ Added quick entries in supplier invoice/credit note as well. Based on bank payments
+$ /gl/gl_bank.php
+  /gl/gl_journal.php
+  /gl/includes/db/gl_db_banking.inc
+  /includes/ui/ui_view.inc
+  /purchasing/supplier_credit.php
+  /purchasing/supplier_invoice.php
+  /purchasing/includes/ui/invoice_ui.inc
+
 15-Dec-2008 Janusz Dobrowolski
 # [0000085] Fixed session conflicts during document edition in multiply tabs.
 $ /sales/includes/cart_class.inc
index 0df087b2a2baf5e102fe1983d1cfcab1be55aac5..b76e768e68bb672d0153d233238509c1b45b1516 100644 (file)
@@ -245,7 +245,7 @@ function handle_new_item()
                $_POST['dimension2_id'], $amount, $_POST['LineMemo']);
        line_start_focus();
 }
-
+/*
 function display_quick_entries(&$cart)
 {
        if (!check_num('totamount', 0))
@@ -308,6 +308,7 @@ function display_quick_entries(&$cart)
                line_start_focus();
        }       
 }
+*/
 //-----------------------------------------------------------------------------------------------
 $id = find_submit('Delete');
 if ($id != -1)
@@ -323,7 +324,8 @@ if (isset($_POST['CancelItemChanges']))
        line_start_focus();
 
 if (isset($_POST['go']))
-       display_quick_entries($_SESSION['pay_items']);
+       display_quick_entries($_SESSION['pay_items'], $_POST['person_id'], input_num('totamount'), 
+               $_SESSION['pay_items']->trans_type==systypes::bank_payment());
 
 //-----------------------------------------------------------------------------------------------
 
index fe4b56c2669dfed0cc54dd9e63f8b87da604b2ed..58832bdd1f9abf8c677cbccd8c27d017aa5af2f7 100644 (file)
@@ -223,6 +223,7 @@ function handle_new_item()
        line_start_focus();
 }
 
+/*
 function display_quick_entries(&$cart)
 {
        if (!get_post('person_id'))
@@ -277,7 +278,7 @@ function display_quick_entries(&$cart)
                line_start_focus();
        }       
 }
-
+*/
 //-----------------------------------------------------------------------------------------------
 $id = find_submit('Delete');
 if ($id != -1)
@@ -293,7 +294,7 @@ if (isset($_POST['CancelItemChanges']))
        line_start_focus();
 
 if (isset($_POST['go']))
-       display_quick_entries($_SESSION['journal_items']);
+       display_quick_entries($_SESSION['journal_items'], $_POST['person_id'], input_num('totamount'));
 //-----------------------------------------------------------------------------------------------
 
 if (isset($_GET['NewJournal']) || !isset($_SESSION['journal_items']))
index ca3d5867442caf51d1443bf37e4d1425878e73a1..0f232513da17ebacd8c8fc2c4bfbf2b35b2138b5 100644 (file)
@@ -107,8 +107,6 @@ function add_bank_transaction($trans_type, $from_account, $items, $date_,
     }
 
        // do the source account postings
-    add_gl_trans($trans_type, $trans_no, $date_, $bank_gl_account, 0, 0, "",
-       -$total_amount, $currency, $person_type_id, $person_id);
 
     add_bank_trans($trans_type, $trans_no, $from_account, $ref,
        $date_, -$total_amount,
index a757baccd6b060a1cf582ffa34258c251e2f4071..d57724f1211e9b5d29e098310c585e163fd57da6 100644 (file)
@@ -547,6 +547,84 @@ function display_allocations_from($person_type, $person_id, $type, $type_no, $to
        }
 }
 
+//--------------------------------------------------------------------------------------
+function display_quick_entries(&$cart, $id, $totamount, $payment=true, $supp_trans=false)
+{
+       if (!isset($id) || $id == null || $id == "")
+       {
+               display_error( _("No Quick Entries are defined."));
+               set_focus('totamount');
+       }
+       else
+       {
+               $rate = 0;
+               if (!$payment)
+                       $totamount = -$totamount;
+               if (!$supp_trans)       
+                       $cart->clear_items();
+               $qe = get_quick_entry($id);
+               $qe_lines = get_quick_entry_lines($id);
+               while ($qe_line = db_fetch($qe_lines))
+               {
+                       if ($qe_line['tax_acc'])
+                       {
+                               $account = get_gl_account($qe_line['account']);
+                               $tax_group = $account['tax_code'];
+                               $items = get_tax_group_items($tax_group);
+                               while ($item = db_fetch($items))
+                                       $rate += $item['rate'];
+                               if ($rate != 0)
+                                       $totamount = $totamount * 100 / ($rate + 100);
+                               //$cart->clear_items();
+                               if (!$supp_trans)
+                                       $cart->add_gl_item($qe_line['account'], $qe_line['dimension_id'], $qe_line['dimension2_id'], 
+                                               $totamount, $qe['description']);
+                               else
+                               {
+                                       $acc_name = get_gl_account_name($qe_line['account']);
+                                       $cart->add_gl_codes_to_trans($qe_line['account'], $acc_name, $qe_line['dimension_id'], 
+                                               $qe_line['dimension2_id'], $totamount, $qe['description']);
+                               }               
+                               $items = get_tax_group_items($tax_group);
+                               while ($item = db_fetch($items))
+                               {
+                                       if ($item['rate'] != 0)
+                                       {
+                                               $amount = $totamount * $item['rate'] / 100;
+                                               $code = ($amount < 0 ? $item['purchasing_gl_code'] : 
+                                                       $item['sales_gl_code']);
+                                               if (!$supp_trans)       
+                                                       $cart->add_gl_item($code, 0, 0, $amount, $qe['description']);
+                                               else
+                                               {
+                                                       $acc_name = get_gl_account_name($qe_line['account']);
+                                                       $cart->add_gl_codes_to_trans($code, $acc_name, 0, 0, $amount, $qe['description']);
+                                               }
+                                       }
+                               }
+                       }
+                       else
+                       {
+                               if ($qe_line['pct'])
+                                       $amount = $totamount * $qe_line['amount'] / 100;
+                               else
+                                       $amount = $qe_line['amount'];
+                               if (!$supp_trans)       
+                                       $cart->add_gl_item($qe_line['account'], $qe_line['dimension_id'], $qe_line['dimension2_id'], 
+                                               $amount, $qe['description']);
+                               else
+                               {
+                                       $acc_name = get_gl_account_name($qe_line['account']);
+                                       $cart->add_gl_codes_to_trans($qe_line['account'], $acc_name, $qe_line['dimension_id'], 
+                                               $qe_line['dimension2_id'], $amount, $qe['description']);
+                               }
+                       }               
+               }
+               //line_start_focus();
+       }       
+}
+
+
 function get_js_open_window($width, $height)
 {
        $js = "\n<script type=\"text/javascript\">\n"
index a5944816176b822aab497b4a16c13df6a4032113..693b6f92ea8c777cafc955c5136030e34083df31 100644 (file)
@@ -194,8 +194,28 @@ function display_gl_items(&$supp_trans, $mode=0)
        else
                $heading = _("GL Items for this Credit Note");
 
+       start_outer_table("width=100%");
+
+       if ($mode == 1)
+       {
+               $qes = has_quick_entries(-1, 0);
+               if ($qes !== false)
+               {
+                       echo "<div style='float:right;'>";
+                       echo _("Quick Entry:")."&nbsp;"; 
+                       quick_entries_list('qid', null, 0, 1);
+                       echo "&nbsp;"._("Amount")."&nbsp;";
+                       $amount = input_num('totamount');
+                       $dec = user_price_dec();
+                       echo "<input class='amount' type='text' name='totamount' size='7' maxlength='12' dec='$dec' value='$amount'>&nbsp;";
+                       submit('go', _("Go"), true, false, true);
+                       echo "</div>";
+               }       
+       }
        display_heading($heading);
 
+       end_outer_table(0, false);
+
        vertical_space(); // ouer table
 
        div_start('gl_items');
index c6d08a1f2d1bab40231803985c608cea57e7dc3f..43def47d9012b99f3cb9a72d8bc8797f49fbb925 100644 (file)
@@ -296,6 +296,13 @@ if ($id4 != -1)
        $Ajax->activate('inv_tot');
 }
 
+if (isset($_POST['go']))
+{
+       $Ajax->activate('gl_items');
+       display_quick_entries($_SESSION['supp_trans'], $_POST['qid'], input_num('totamount'), true, true);
+       $Ajax->activate('inv_tot');
+}
+
 
 //--------------------------------------------------------------------------------------------------
 
index 534e55b3534813b3461c0c4817ba2b50352b1b08..af34e04c126150e2d37463a153f7a5755e3bb796 100644 (file)
@@ -375,6 +375,13 @@ if ($_SESSION["wa_current_user"]->access == 2)
        }               
 }
 
+if (isset($_POST['go']))
+{
+       $Ajax->activate('gl_items');
+       display_quick_entries($_SESSION['supp_trans'], $_POST['qid'], input_num('totamount'), true, true);
+       $Ajax->activate('inv_tot');
+}
+
 start_form(false, true);
 
 invoice_header($_SESSION['supp_trans']);