X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=purchasing%2Fsupplier_invoice.php;h=7e3ca5df811f8a5743fddfa35e829e3908f2198b;hb=9a98bb3bc7a94f1a8e47f8dab45a87c8b4212080;hp=40c62435f0315002fa4414550d8926270ec0d562;hpb=49d2702ed98abe7a564a4abb4c8c5fa225f362e8;p=fa-stable.git diff --git a/purchasing/supplier_invoice.php b/purchasing/supplier_invoice.php index 40c62435..7e3ca5df 100644 --- a/purchasing/supplier_invoice.php +++ b/purchasing/supplier_invoice.php @@ -25,12 +25,34 @@ if ($use_popup_windows) $js .= get_js_open_window(900, 500); if ($use_date_picker) $js .= get_js_date_picker(); -page(_($help_context = "Enter Supplier Invoice"), false, false, "", $js); - //---------------------------------------------------------------------------------------- check_db_has_suppliers(_("There are no suppliers defined in the system.")); +if (isset($_GET['ModifyInvoice'])) + check_is_closed(ST_SUPPINVOICE, $_GET['ModifyInvoice']); + +//-------------------------------------------------------------------------------------------------- + +if (isset($_GET['New'])) +{ + if (isset( $_SESSION['supp_trans'])) + { + unset ($_SESSION['supp_trans']->grn_items); + unset ($_SESSION['supp_trans']->gl_codes); + unset ($_SESSION['supp_trans']); + } + $help_context = "Enter Supplier Invoice"; + $_SESSION['page_title'] = _("Enter Supplier Invoice"); + + $_SESSION['supp_trans'] = new supp_trans(ST_SUPPINVOICE); +} else if(isset($_GET['ModifyInvoice'])) { + $help_context = 'Modifying Purchase Invoice'; + $_SESSION['page_title'] = sprintf( _("Modifying Purchase Invoice # %d"), $_GET['ModifyInvoice']); + $_SESSION['supp_trans'] = new supp_trans(ST_SUPPINVOICE, $_GET['ModifyInvoice']); +} + +page($_SESSION['page_title'], false, false, "", $js); //--------------------------------------------------------------------------------------------------------------- if (isset($_GET['AddedID'])) @@ -65,10 +87,9 @@ if (isset($_GET['New'])) unset ($_SESSION['supp_trans']); } - //session_register("SuppInv"); - //session_register("supp_trans"); - $_SESSION['supp_trans'] = new supp_trans; - $_SESSION['supp_trans']->is_invoice = true; + $_SESSION['supp_trans'] = new supp_trans(ST_SUPPINVOICE); +} else if(isset($_GET['ModifyInvoice'])) { + $_SESSION['supp_trans'] = new supp_trans(ST_SUPPINVOICE, $_GET['ModifyInvoice']); } //-------------------------------------------------------------------------------------------------- @@ -152,7 +173,7 @@ function check_data() return false; } - if (!is_new_reference($_SESSION['supp_trans']->reference, ST_SUPPINVOICE)) + if (!is_new_reference($_SESSION['supp_trans']->reference, ST_SUPPINVOICE, $_SESSION['supp_trans']->trans_no)) { display_error(_("The entered reference is already in use.")); set_focus('reference'); @@ -174,7 +195,7 @@ function check_data() } elseif (!is_date_in_fiscalyear($_SESSION['supp_trans']->tran_date)) { - display_error(_("The entered date is not in fiscal year.")); + display_error(_("The entered date is out of fiscal year or is closed for further data entry.")); set_focus('trans_date'); return false; } @@ -185,9 +206,9 @@ function check_data() return false; } - if (is_reference_already_there($_SESSION['supp_trans']->supplier_id, $_POST['supp_reference'])) + if (is_reference_already_there($_SESSION['supp_trans']->supplier_id, $_POST['supp_reference'], $_SESSION['supp_trans']->trans_no)) { /*Transaction reference already entered */ - display_error(_("This invoice number has already been entered. It cannot be entered again." . " (" . $_POST['supp_reference'] . ")")); + display_error(_("This invoice number has already been entered. It cannot be entered again.") . " (" . $_POST['supp_reference'] . ")"); return false; } @@ -202,8 +223,12 @@ function handle_commit_invoice() if (!check_data()) return; + $inv = $_SESSION['supp_trans']; + $invoice_no = add_supp_invoice($inv); - $invoice_no = add_supp_invoice($_SESSION['supp_trans']); + // presume supplier data need correction + if ($inv->stored_algorithm != $inv->tax_algorithm) + update_supp_tax_algorithm($inv->supplier_id, $inv->tax_algorithm); $_SESSION['supp_trans']->clear_items(); unset($_SESSION['supp_trans']); @@ -222,6 +247,7 @@ function check_item_data($n) { global $check_price_charged_vs_order_price, $check_qty_charged_vs_del_qty, $SysPrefs; + if (!check_num('this_quantity_inv'.$n, 0) || input_num('this_quantity_inv'.$n)==0) { display_error( _("The quantity to invoice must be numeric and greater than zero.")); @@ -352,10 +378,8 @@ start_form(); invoice_header($_SESSION['supp_trans']); if ($_POST['supplier_id']=='') - display_error('No supplier found for entered search text'); + display_error(_("There is no supplier selected.")); else { - start_outer_table("$table_style2 width=98%", 5); - display_grn_items($_SESSION['supp_trans'], 1); display_gl_items($_SESSION['supp_trans'], 1); @@ -364,7 +388,6 @@ else { invoice_totals($_SESSION['supp_trans']); div_end(); - end_outer_table(0, false); } //-----------------------------------------------------------------------------------------