X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=purchasing%2Fincludes%2Fui%2Finvoice_ui.inc;h=d16e8d1392b684402fe0a80d79da9d36bc99c36d;hb=bd8f517d30d1edd3261e26e582ddd9e11c555616;hp=dd2d8ed6dded0be050ac56c1c16db95cd6901714;hpb=4e4ce8577f8582967995919860c66aa94d633afd;p=fa-stable.git diff --git a/purchasing/includes/ui/invoice_ui.inc b/purchasing/includes/ui/invoice_ui.inc index dd2d8ed6..d16e8d13 100644 --- a/purchasing/includes/ui/invoice_ui.inc +++ b/purchasing/includes/ui/invoice_ui.inc @@ -19,6 +19,12 @@ function copy_from_trans(&$supp_trans) $_POST['supp_reference'] = $supp_trans->supp_reference; $_POST['reference'] = $supp_trans->reference; $_POST['supplier_id'] = $supp_trans->supplier_id; + $_POST['tax_algorithm'] = $supp_trans->tax_algorithm; + + $_POST['_ex_rate'] = $supp_trans->ex_rate; + if (isset($supp_trans->tax_overrides)) + foreach($supp_trans->tax_overrides as $id => $value) + $_POST['mantax'][$id] = price_format($value); } //-------------------------------------------------------------------------------------------------- @@ -30,8 +36,20 @@ function copy_to_trans(&$supp_trans) $supp_trans->due_date = $_POST['due_date']; $supp_trans->supp_reference = $_POST['supp_reference']; $supp_trans->reference = $_POST['reference']; + if (isset($_POST['tax_algorithm'])) + $supp_trans->tax_algorithm = $_POST['tax_algorithm']; + + $supp_trans->ex_rate = input_num('_ex_rate', null); + + $supp_trans->ov_amount = $supp_trans->ov_discount = 0; /* for starters */ + if (isset($_POST['mantax'])) { + foreach($_POST['mantax'] as $id => $tax) { + $supp_trans->tax_overrides[$id] = user_numeric($_POST['mantax'][$id]); + } + } + else + unset($supp_trans->tax_overrides); - $supp_trans->ov_amount = 0; /* for starters */ if (count($supp_trans->grn_items) > 0) { foreach ( $supp_trans->grn_items as $grn) @@ -65,19 +83,28 @@ function invoice_header(&$supp_trans) table_section(1); - if (isset($_POST['invoice_no'])) + if ($supp_trans->trans_type == ST_SUPPCREDIT && $supp_trans->src_docs) { - $trans = get_supp_trans($_POST['invoice_no'], ST_SUPPINVOICE); - $_POST['supplier_id'] = $trans['supplier_id']; - $supp = $trans['supplier_name'] . " - " . $trans['SupplierCurrCode']; +// $trans = get_supp_trans($_POST['invoice_no'], ST_SUPPINVOICE); +// $trans = get_supp_trans($supp_trans->supplier_id, ST_SUPPINVOICE); +// $_POST['supplier_id'] = $trans['supplier_id']; +// $supp = $trans['supplier_name'] . " - " . $trans['SupplierCurrCode']; + + $_POST['supplier_id'] = $supp_trans->supplier_id; + $supp = $supp_trans->supplier_name." - ".$supp_trans->currency; label_row(_("Supplier:"), $supp.hidden('supplier_id', $_POST['supplier_id'], false)); - } + } else { if (!isset($_POST['supplier_id']) && (get_global_supplier() != ALL_TEXT)) $_POST['supplier_id'] = get_global_supplier(); - supplier_list_row(_("Supplier:"), 'supplier_id', $_POST['supplier_id'], false, true); + if (!$supp_trans->trans_no) + supplier_list_row(_("Supplier:"), 'supplier_id', $_POST['supplier_id'], false, true); + else + label_row(_("Supplier:"), $supp_trans->supplier_name + .($supp_trans->currency ? ' - '.$supp_trans->currency : '') + .hidden('supplier_id', $_POST['supplier_id'], false)); } if ($supp_trans->supplier_id != $_POST['supplier_id']) { @@ -91,12 +118,11 @@ function invoice_header(&$supp_trans) ref_row(_("Reference:"), 'reference', '', $Refs->get_next($supp_trans->trans_type)); - if (isset($_POST['invoice_no'])) + if ($supp_trans->trans_type == ST_SUPPCREDIT) { - label_row(_("Supplier's Ref.:"), $_POST['invoice_no'].hidden('invoice_no', $_POST['invoice_no'], false).hidden('supp_reference', $_POST['invoice_no'], false)); - } - else - text_row(_("Supplier's Ref.:"), 'supp_reference', $_POST['supp_reference'], 20, 20); + label_row(_("Source Invoices:"), implode(',' , $supp_trans->src_docs),'','','src_docs'); + } + text_row(_("Supplier's Ref.:"), 'supp_reference', $_POST['supp_reference'], 20, 60); table_section(2, "33%"); @@ -124,7 +150,7 @@ function invoice_header(&$supp_trans) if ($supplier_currency != $company_currency) { label_row(_("Supplier's Currency:"), "" . $supplier_currency . ""); - exchange_rate_display($supplier_currency, $company_currency, $_POST['tran_date']); + exchange_rate_display($company_currency, $supplier_currency, $_POST['tran_date']); } label_row(_("Tax Group:"), $supp_trans->tax_description); @@ -137,15 +163,18 @@ function invoice_header(&$supp_trans) function invoice_totals(&$supp_trans) { + global $Ajax; + copy_to_trans($supp_trans); $dim = get_company_pref('use_dimension'); $colspan = ($dim == 2 ? 7 : ($dim == 1 ? 6 : 5)); + div_start('tax_table'); start_table(TABLESTYLE, "width=95%"); label_row(_("Sub-total:"), price_format( $supp_trans->ov_amount), "colspan=$colspan align=right", "align=right"); $taxes = $supp_trans->get_taxes($supp_trans->tax_group_id); - $tax_total = display_edit_tax_items($taxes, $colspan, $supp_trans->tax_included); + $tax_total = display_edit_tax_items($taxes, $colspan, $supp_trans->tax_included, 0, true); $display_total = price_format($supp_trans->ov_amount + $tax_total); @@ -158,8 +187,14 @@ function invoice_totals(&$supp_trans) end_table(1); start_table(TABLESTYLE2); + tax_algorithm_list_row(_("Tax algorithm:"), 'tax_algorithm', null, true); + if (list_updated('tax_algorithm')) { + $supp_trans->tax_algorithm = $_POST['tax_algorithm']; + $Ajax->activate('tax_table'); + } textarea_row(_("Memo:"), "Comments", null, 50, 3); end_table(1); + div_end(); } //-------------------------------------------------------------------------------------------------- @@ -319,14 +354,14 @@ function display_gl_items(&$supp_trans, $mode=0) function display_grn_items_for_selection(&$supp_trans, $k) { - if ($supp_trans->trans_type == ST_SUPPINVOICE) - $result = get_grn_items(0, $supp_trans->supplier_id, true); + if ($supp_trans->trans_type == ST_SUPPINVOICE) // outstanding grns and eventually for selected invoice + $result = get_grn_items(0, $supp_trans->supplier_id, true, false, $supp_trans->trans_no); else - { + { // only invoiced if (isset($_POST['receive_begin']) && isset($_POST['receive_end'])) $result = get_grn_items(0, $supp_trans->supplier_id, false, true, 0, $_POST['receive_begin'], $_POST['receive_end']); - else if (isset($_POST['invoice_no'])) - $result = get_grn_items(0, $supp_trans->supplier_id, false, true, $_POST['invoice_no']); + else if ($supp_trans->src_docs) + $result = get_grn_items(0, $supp_trans->supplier_id, false, true, array_keys($supp_trans->src_docs)); else $result = get_grn_items(0, $supp_trans->supplier_id, false, true); } @@ -348,13 +383,14 @@ function display_grn_items_for_selection(&$supp_trans, $k) $grn_already_on_invoice = true; } } + if ($grn_already_on_invoice == false) { alt_table_row_color($k); $n = $myrow["id"]; - label_cell(get_trans_view_str(25, $myrow["grn_batch_id"])); + label_cell(get_trans_view_str(ST_SUPPRECEIVE, $myrow["grn_batch_id"])); label_cell($myrow["id"]. hidden('qty_recd'.$n, $myrow["qty_recd"], false). hidden('item_code'.$n, $myrow["item_code"], false). @@ -373,10 +409,10 @@ function display_grn_items_for_selection(&$supp_trans, $k) if ($supp_trans->trans_type == ST_SUPPINVOICE) qty_cells(null, 'this_quantity_inv'.$n, number_format2($myrow["qty_recd"] - $myrow["quantity_inv"], $dec), null, null, $dec); - else + else qty_cells(null, 'This_QuantityCredited'.$n, number_format2(max($myrow["quantity_inv"], 0), $dec), null, null, $dec); - $dec2 = 0; + $dec2 = 0; if ($supp_trans->trans_type == ST_SUPPINVOICE) { amount_cells(null, 'ChgPrice'.$n, price_decimal_format($myrow["unit_price"], $dec2), null, null, $dec2); @@ -438,28 +474,29 @@ function display_grn_items(&$supp_trans, $mode=0) $heading = _("Received Items Charged on this Invoice"); else $heading = _("Received Items Credited on this Note"); - } + } display_heading($heading); if ($mode == 1) { - if ($supp_trans->trans_type == ST_SUPPCREDIT && !isset($_POST['invoice_no'])) + if ($supp_trans->trans_type == ST_SUPPCREDIT) { echo ""; - date_cells(_("Received between"), 'receive_begin', "", null, -30, 0, 0, "valign=middle"); + date_cells(_("Received between"), 'receive_begin', "", null, + -user_transaction_days(), 0, 0, "valign=middle"); date_cells(_("and"), 'receive_end', '', null, 1, 0, 0, "valign=middle"); submit_cells('RefreshInquiry', _("Search"),'',_('Refresh Inquiry'), true); echo ""; - } - + } + if ($heading2 != "") { display_note($heading2, 0, 0, "class='overduefg'"); - } + } echo ""; submit('InvGRNAll', _("Add All Items"), true, false,true); - } + } end_outer_table(0, false); @@ -495,19 +532,20 @@ function display_grn_items(&$supp_trans, $mode=0) alt_table_row_color($k); $grn_batch = get_grn_batch_from_item($entered_grn->id); - label_cell(get_trans_view_str(ST_SUPPRECEIVE,$grn_batch)); + label_cell(get_trans_view_str(ST_SUPPRECEIVE, $grn_batch)); if ($mode == 1) { label_cell($entered_grn->id); - label_cell(""); // PO + $row = get_grn_batch($grn_batch); + label_cell(get_trans_view_str(ST_PURCHORDER, $row["purch_order_no"])); // PO } label_cell($entered_grn->item_code); label_cell($entered_grn->item_description); $dec = get_qty_dec($entered_grn->item_code); if ($mode == 1) { - label_cell(""); - qty_cell($entered_grn->qty_recd, false, $dec); + label_cell(sql2date($row['delivery_date'])); + qty_cell($entered_grn->qty_recd, false, $dec); qty_cell($entered_grn->prev_quantity_inv, false, $dec); } qty_cell(abs($entered_grn->this_quantity_inv), true, $dec); @@ -584,4 +622,3 @@ function get_duedate_from_terms(&$trans) //-------------------------------------------------------------------------------------------------- -?> \ No newline at end of file