X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fui%2Fui_view.inc;h=63040d18d996e825fe66e833757a51ceb5795240;hb=a4db318fa0c84e099e0970ca82e36215782d661e;hp=2be9bbd1a2453ca21acddc07d283d318eefd8402;hpb=b956923926de6b7eecf57510cf86857354cac1b3;p=fa-stable.git diff --git a/includes/ui/ui_view.inc b/includes/ui/ui_view.inc index 2be9bbd1..63040d18 100644 --- a/includes/ui/ui_view.inc +++ b/includes/ui/ui_view.inc @@ -288,7 +288,7 @@ function get_trans_view_str($type, $trans_no, $label="", $icon=false) // When there is no exrate for today, // gets it form ECB and stores in local database. // -function exchange_rate_display($from_currency, $to_currency, $date_) +function exchange_rate_display($from_currency, $to_currency, $date_, $edit_rate=false) { global $Ajax; @@ -309,15 +309,16 @@ function exchange_rate_display($from_currency, $to_currency, $date_) } } if (!$rate) - $rate = get_exchange_rate_from_to($to_currency, $from_currency, $date_); - - if ($from_currency == $comp_currency) - $rate = 1 / $rate; + $rate = get_exchange_rate_from_home_currency($currency, $date_); + if ($from_currency != $comp_currency) + $rate = 1 / ($rate / get_exchange_rate_from_home_currency($to_currency, $date_)); $rate = number_format2($rate, user_exrate_dec()); - label_row(_("Exchange Rate:"),"1 " . $from_currency - . " = " . $rate . " " . $to_currency ); - $Ajax->addUpdate('_ex_rate','_ex_rate', $rate); + if ($edit_rate) + text_row(_("Exchange Rate:"), '_ex_rate', $rate, 8, 8, null, "", " $from_currency = 1 $to_currency"); + else + label_row(_("Exchange Rate:"),"$rate $from_currency = 1 $to_currency" ); + $Ajax->addUpdate('_ex_rate','_ex_rate', $rate); } } @@ -443,7 +444,7 @@ function display_supp_trans_tax_details($tax_items, $columns) $tax = number_format2(abs($tax_item['amount']),user_price_dec()); if ($tax_item['included_in_price']) label_row(_("Included") . " " . $tax_item['tax_type_name'] . " (" . $tax_item['rate'] . "%) " . - _("Amount:") . ": $tax", "colspan=$columns align=right", "align=right"); + _("Amount") . ": $tax", "colspan=$columns align=right", "align=right"); else label_row($tax_item['tax_type_name'] . " (" . $tax_item['rate'] . "%)", $tax, "colspan=$columns align=right", "align=right"); @@ -467,7 +468,7 @@ function display_edit_tax_items($taxes, $columns, $tax_included, $leftspan=0) { label_row($taxitem['tax_type_name'] . " (" . $taxitem['rate'] . "%)", number_format2($taxitem['Value'],user_price_dec()), "colspan=$columns align=right", "align=right",$leftspan); - $total += $taxitem['Value']; + $total += round2($taxitem['Value'], user_price_dec()); } } @@ -509,6 +510,8 @@ function display_allocations($alloc_result, $total) label_cell(systypes::name($alloc_row['type'])); label_cell(get_trans_view_str($alloc_row['type'],$alloc_row['trans_no'])); label_cell(sql2date($alloc_row['tran_date'])); + $alloc_row['Total'] = round2($alloc_row['Total'], user_price_dec()); + $alloc_row['amt'] = round2($alloc_row['amt'], user_price_dec()); amount_cell($alloc_row['Total']); //amount_cell($alloc_row['Total'] - $alloc_row['PrevAllocs'] - $alloc_row['amt']); amount_cell($alloc_row['Total'] - $alloc_row['amt']); @@ -523,6 +526,7 @@ function display_allocations($alloc_result, $total) end_row(); start_row(); label_cell(_("Left to Allocate:"), "align=right colspan=5"); + $total = round2($total, user_price_dec()); amount_cell($total - $total_allocated); end_row(); @@ -546,6 +550,104 @@ function display_allocations_from($person_type, $person_id, $type, $type_no, $to } } +//-------------------------------------------------------------------------------------- +// +// Expands selected quick entry $id into GL posings and adds to cart. +// returns calculated amount posted to bank GL account. +// +function display_quick_entries(&$cart, $id, $base, $type, $descr='') +{ + $bank_amount = 0; + + if (!isset($id) || $id == null || $id == "") + { + display_error( _("No Quick Entries are defined.")); + set_focus('totamount'); + } + else + { + if ($type == QE_DEPOSIT) + $base = -$base; + if ($type != QE_SUPPINV) // only one quick entry on journal/bank transaction + $cart->clear_items(); + $qe = get_quick_entry($id); + if ($descr != '') $qe['description'] .= ': '.$descr; + $qe_lines = get_quick_entry_lines($id); + while ($qe_line = db_fetch($qe_lines)) + { + switch (strtolower($qe_line['action'])) { + case "=": // post current base amount to GL account + $part = $base; + break; + case "a": // post amount to GL account and reduce base + $part = $qe_line['amount']; + break; + case "a+": // post amount to GL account and increase base + $part = $qe_line['amount']; $base += $part; + break; + case "a-": // post amount to GL account and reduce base + $part = $qe_line['amount']; $base -= $part; + break; + case "%": // store acc*amount% to GL account + $part = round2($base * $qe_line['amount'] / 100, user_price_dec()); + break; + case "%+": // ditto & increase base amount + $part = round2($base * $qe_line['amount'] / 100, user_price_dec()); + $base += $part; + break; + case "%-": // ditto & reduce base amount + $part = round2($base * $qe_line['amount'] / 100, user_price_dec()); + $base -= $part; + break; + case "t": // post taxes calculated on base amount + case "t+": // ditto & increase base amount + case "t-": // ditto & reduce base amount + $taxes = get_taxes_for_item_tax($qe_line['dest_id']); + $tax_total = 0; + foreach ($taxes as $index => $item_tax) { + if(substr($qe_line['action'],0,1) != 'T') + $tax = round2($base * $item_tax['rate'] + / ($item_tax['rate'] + 100), user_price_dec()); + else + $tax = round2($base * $item_tax['rate'] / 100, user_price_dec()); + + $gl_code = $type != QE_DEPOSIT + ? $item_tax['purchasing_gl_code'] : $item_tax['sales_gl_code']; + $tax_total += $tax; + if ($type != QE_SUPPINV) + $cart->add_gl_item($gl_code, + $qe_line['dimension_id'], $qe_line['dimension2_id'], + $tax, $qe['description']); + else + { + $acc_name = get_gl_account_name($gl_code); + $cart->add_gl_codes_to_trans($gl_code, + $acc_name, $qe_line['dimension_id'], + $qe_line['dimension2_id'], $tax, $qe['description']); + } + } + if (strpos($qe_line['action'], '+')) + $base += $tax_total; + elseif (strpos($qe_line['action'], '-')) + $base -= $tax_total; + continue 2; + } + if ($type != QE_SUPPINV) + $cart->add_gl_item($qe_line['dest_id'], $qe_line['dimension_id'], + $qe_line['dimension2_id'], $part, $qe['description']); + else + { + $acc_name = get_gl_account_name($qe_line['dest_id']); + $cart->add_gl_codes_to_trans($qe_line['dest_id'], + $acc_name, $qe_line['dimension_id'], + $qe_line['dimension2_id'], $part, $qe['description']); + } + } + } + return $bank_amount; +} + + function get_js_open_window($width, $height) { $js = "\n