X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=purchasing%2Fincludes%2Fui%2Finvoice_ui.inc;h=2e2d17cc6d5d48fca0b3cd3ad769c00de8d80920;hb=33ba3d43d75c04080dd0d49067bafd2188fd04b1;hp=91c4fdf2818af11cbd49002d1050e71d0524f24a;hpb=66626dafdf0a397406e36663f3ed15321d09984a;p=fa-stable.git
diff --git a/purchasing/includes/ui/invoice_ui.inc b/purchasing/includes/ui/invoice_ui.inc
index 91c4fdf2..2e2d17cc 100644
--- a/purchasing/includes/ui/invoice_ui.inc
+++ b/purchasing/includes/ui/invoice_ui.inc
@@ -1,5 +1,14 @@
.
+***********************************************************************/
//--------------------------------------------------------------------------------------------------
function copy_from_trans(&$supp_trans)
@@ -27,7 +36,7 @@ function copy_to_trans(&$supp_trans)
{
foreach ( $supp_trans->grn_items as $grn)
{
- $supp_trans->ov_amount += round(($grn->this_quantity_inv * $grn->chg_price),
+ $supp_trans->ov_amount += round2(($grn->this_quantity_inv * $grn->chg_price),
user_price_dec());
}
}
@@ -44,23 +53,30 @@ function copy_to_trans(&$supp_trans)
function invoice_header(&$supp_trans)
{
- global $Ajax;
+ global $Ajax, $table_style;
// if vars have been lost, recopy
if (!isset($_POST['tran_date']))
copy_from_trans($supp_trans);
- start_table("width=100%", 5);
- start_row();
- echo"
"; // outer
-
- echo "";
+ start_outer_table("$table_style width=98%", 5);
- if (!isset($_POST['supplier_id']) && (get_global_supplier() != reserved_words::get_all()))
- $_POST['supplier_id'] = get_global_supplier();
+ table_section(1);
- supplier_list_row(_("Supplier:"), 'supplier_id', $_POST['supplier_id'], false, true);
+ if (isset($_POST['invoice_no']))
+ {
+ $trans = get_supp_trans($_POST['invoice_no'], 20);
+ $_POST['supplier_id'] = $trans['supplier_id'];
+ $supp = $trans['supplier_name'] . " - " . $trans['SupplierCurrCode'];
+ label_row(_("Supplier:"), $supp.hidden('supplier_id', $_POST['supplier_id'], false));
+ }
+ else
+ {
+ if (!isset($_POST['supplier_id']) && (get_global_supplier() != reserved_words::get_all()))
+ $_POST['supplier_id'] = get_global_supplier();
+ supplier_list_row(_("Supplier:"), 'supplier_id', $_POST['supplier_id'], false, true);
+ }
if ($supp_trans->supplier_id != $_POST['supplier_id'])
{
// supplier has changed
@@ -76,13 +92,14 @@ function invoice_header(&$supp_trans)
else
ref_row(_("Reference:"), 'reference', '', references::get_next(21));
- text_row(_("Supplier's Ref.:"), 'supp_reference', $_POST['supp_reference'], 20, 20);
-
- echo "
";
-
- echo " "; // outer
+ if (isset($_POST['invoice_no']))
+ {
+ 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);
- echo "";
+ table_section(2, "33%");
date_row(_("Date") . ":", 'tran_date', '', null, 0, 0, 0, "", true);
if (isset($_POST['_tran_date_changed'])) {
@@ -97,11 +114,7 @@ function invoice_header(&$supp_trans)
label_row(_("Terms:"), $supp_trans->terms_description);
- echo "
";
-
- echo " "; // outer
-
- echo "";
+ table_section(3, "33%");
$supplier_currency = get_supplier_currency($supp_trans->supplier_id);
@@ -113,12 +126,9 @@ function invoice_header(&$supp_trans)
exchange_rate_display($supplier_currency, $company_currency, $_POST['tran_date']);
}
- label_row(_("Tax Group:"), $supp_trans->tax_description);
- echo "
";
+ label_row(_("Tax Group:"), $supp_trans->tax_description);
- echo " ";
- end_row();
- end_table(); // outer
+ end_outer_table(1);
}
//--------------------------------------------------------------------------------------------------
@@ -138,31 +148,27 @@ function invoice_totals(&$supp_trans)
$display_total = price_format($supp_trans->ov_amount + $tax_total);
if ($supp_trans->is_invoice)
- label_row(_("Invoice Total:"), $display_total, "align=right", "align=right");
+ label_row(_("Invoice Total:"), $display_total, "align=right style='font-weight:bold;'", "align=right style='font-weight:bold;'");
else
- label_row("" . _("Credit Note Total:") . " ",
- "$display_total ", "align=right", "nowrap align=right");
+ label_row(_("Credit Note Total"),
+ $display_total, "align=right style='font-weight:bold;color:red;'", "nowrap align=right style='font-weight:bold;color:red;'");
- end_table();
- br(1);
+ end_table(1);
start_table($table_style2);
textarea_row(_("Memo:"), "Comments", null, 50, 3);
- end_table();
- br(1);
+ end_table(1);
}
//--------------------------------------------------------------------------------------------------
-function display_gl_controls(&$supp_trans)
+function display_gl_controls(&$supp_trans, $k)
{
- global $table_style, $Ajax;
-
- div_start('gl_ctrls'); // 2008-10-18 Joe Hunt Moved up a bit to compute num-rows = 0
+ global $table_style;
$accs = get_supplier_accounts($supp_trans->supplier_id);
$_POST['gl_code'] = $accs['purchase_account'];
- $k = 0;
+
alt_table_row_color($k);
- gl_all_accounts_list('gl_code', null, true, false, true);
+ gl_all_accounts_list('gl_code', null, true, true);
$dim = get_company_pref('use_dimension');
if ($dim >= 1)
dimensions_list_cells(null, 'dimension_id', null, true, " ", false, 1);
@@ -180,7 +186,6 @@ function display_gl_controls(&$supp_trans)
submit_cells('ClearFields', _("Reset"), "",
_("Clear all GL entry fields"), true);
end_row();
- div_end();
}
// $mode = 0 none at the moment
@@ -190,30 +195,52 @@ function display_gl_controls(&$supp_trans)
function display_gl_items(&$supp_trans, $mode=0)
{
- global $table_style, $path_to_root;
+ global $table_style, $path_to_root, $Ajax;
// if displaying in form, and no items, exit
if (($mode == 2 || $mode == 3) && count($supp_trans->gl_codes) == 0)
return 0;
- echo " ";
-
- start_table("width=95%");
- echo ""; // outertable
+ start_outer_table("width=95%");
if ($supp_trans->is_invoice)
$heading = _("GL Items for this Invoice");
else
$heading = _("GL Items for this Credit Note");
- echo "";
- echo "$heading ";
- echo "
";
+ start_outer_table("width=100%");
+
+ if ($mode == 1)
+ {
+ $qes = has_quick_entries(QE_SUPPINV);
+ if ($qes !== false)
+ {
+ echo "";
+ echo _("Quick Entry:")." ";
+ quick_entries_list('qid', null, QE_SUPPINV, true);
+ $qid = get_quick_entry(get_post('qid'));
+ if (list_updated('qid')) {
+ unset($_POST['totamount']); // enable default
+ $Ajax->activate('totamount');
+ }
+ echo " ".$qid['base_desc'].":"." ";
+
+ $amount = input_num('totamount', $qid['base_amount']);
+ $dec = user_price_dec();
+ echo " ";
+ submit('go', _("Go"), true, false, true);
+ echo "
";
+
+ }
+ }
+ display_heading($heading);
+
+ end_outer_table(0, false);
- echo " "; // ouer table
+ vertical_space(); // ouer table
div_start('gl_items');
- echo "";
+ start_table("$table_style width=100%");
$dim = get_company_pref('use_dimension');
if ($dim == 2)
@@ -251,12 +278,12 @@ function display_gl_items(&$supp_trans, $mode=0)
if ($dim > 1)
label_cell(get_dimension_string($entered_gl_code->gl_dim2, true));
- amount_cell($entered_gl_code->amount);
+ amount_cell($entered_gl_code->amount, true);
label_cell($entered_gl_code->memo_);
if ($mode == 1)
{
- edit_button_cell("Delete2" . $entered_gl_code->Counter, _("Delete"),
+ delete_button_cell("Delete2" . $entered_gl_code->Counter, _("Delete"),
_('Remove line from document'));
label_cell("");
}
@@ -274,49 +301,42 @@ function display_gl_items(&$supp_trans, $mode=0)
}
if ($mode == 1)
- display_gl_controls(&$supp_trans);
+ display_gl_controls($supp_trans, $k);
$colspan = ($dim == 2 ? 4 : ($dim == 1 ? 3 : 2));
label_row(_("Total"), price_format($total_gl_value),
"colspan=".$colspan." align=right", "nowrap align=right");
- echo "
";
+ end_table();
div_end();
- echo " ";
-
- end_table(); // outertable
+ end_outer_table(0, false); // outertable
return $total_gl_value;
}
//--------------//-----------------------------------------------------------------------------------------
-function display_grn_items_for_selection(&$supp_trans)
+function display_grn_items_for_selection(&$supp_trans, $k)
{
global $table_style;
- div_start('grn_table'); // 2008-10-18 Joe Hunt Moved up a bit to compute num-rows = 0
if ($supp_trans->is_invoice)
$result = get_grn_items(0, $supp_trans->supplier_id, true);
- else
- $result = get_grn_items(0, $supp_trans->supplier_id, false, true);
-
+ else
+ {
+ 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
+ $result = get_grn_items(0, $supp_trans->supplier_id, false, true);
+ }
if (db_num_rows($result) == 0)
{
- if ($supp_trans->is_invoice)
- display_note(_("There are no outstanding items received from this supplier that have not been invoiced by them."), 0, 1);
- else
- {
- display_note(_("There are no received items for the selected supplier that have been invoiced."));
- display_note(_("Credits can only be applied to invoiced items."), 0, 1);
- }
- div_end(); // Changed 2008-10-18 Joe Hunt
- return;
+ return false;
}
/*Set up a table to show the outstanding GRN items for selection */
- $k = 0;
-
while ($myrow = db_fetch($result))
{
$grn_already_on_invoice = false;
@@ -358,9 +378,9 @@ function display_grn_items_for_selection(&$supp_trans)
null, null, $dec);
amount_cells(null, 'ChgPrice'.$n, price_format($myrow["unit_price"]));
if ($supp_trans->is_invoice)
- amount_cell(round($myrow["unit_price"] * ($myrow["qty_recd"] - $myrow["quantity_inv"]), user_price_dec()));
+ amount_cell(round2($myrow["unit_price"] * ($myrow["qty_recd"] - $myrow["quantity_inv"]), user_price_dec()));
else
- amount_cell(round($myrow["unit_price"] * max($myrow['quantity_inv'], 0), user_price_dec()));
+ amount_cell(round2($myrow["unit_price"] * max($myrow['quantity_inv'], 0), user_price_dec()));
if ($supp_trans->is_invoice)
submit_cells('grn_item_id'.$n, _("Add"), '', _("Add to Invoice"), true);
else
@@ -370,8 +390,7 @@ function display_grn_items_for_selection(&$supp_trans)
end_row();
}
}
-
- div_end();
+ return true;
}
//------------------------------------------------------------------------------------
@@ -385,12 +404,13 @@ function display_grn_items(&$supp_trans, $mode=0)
{
global $table_style, $path_to_root;
+ $ret = true;
// if displaying in form, and no items, exit
if (($mode == 2 || $mode == 3) && count($supp_trans->grn_items) == 0)
return 0;
- br(1);
- start_table("width=95%");
- echo ""; // outertable
+
+ start_outer_table("width=95%");
+
$heading2 = "";
if ($mode == 1)
{
@@ -410,20 +430,35 @@ function display_grn_items(&$supp_trans, $mode=0)
else
$heading = _("Received Items Credited on this Note");
}
- echo "";
- echo "$heading ";
- if ($mode == 1 && $heading2 != "")
+
+ start_outer_table("width=100%");
+
+ display_heading($heading);
+
+ if ($mode == 1)
{
- echo "";
- display_note($heading2, 0, 0, "class='overduefg'");
- echo " \n";
+ if (!$supp_trans->is_invoice && !isset($_POST['invoice_no']))
+ {
+ echo "";
+ date_cells(_("Received between"), 'receive_begin', "", null, -30);
+ date_cells(_("and"), 'receive_end', '', null, 1);
+ submit_cells('RefreshInquiry', _("Search"),'',_('Refresh Inquiry'), true);
+ echo "";
+ }
+
+ if ($heading2 != "")
+ {
+ //br();
+ display_note($heading2, 0, 0, "class='overduefg'");
+ }
+ echo " ";
+ submit('InvGRNAll', _("Add All Items"), true, false,true);
}
- echo "
";
- echo " "; // outer table
+ end_outer_table(0, false);
div_start('grn_items');
- echo "";
+ start_table("$table_style width=100%");
if ($mode == 1)
{
$th = array(_("Delivery"), _("Sequence #"), _("P.O."), _("Item"), _("Description"),
@@ -468,20 +503,19 @@ function display_grn_items(&$supp_trans, $mode=0)
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), false, $dec);
+ qty_cell(abs($entered_grn->this_quantity_inv), true, $dec);
amount_cell($entered_grn->chg_price);
- amount_cell( round($entered_grn->chg_price * abs($entered_grn->this_quantity_inv)), user_price_dec());
+ amount_cell( round2($entered_grn->chg_price * abs($entered_grn->this_quantity_inv), user_price_dec()), true);
if ($mode == 1)
{
- edit_button_cell("Delete" . $entered_grn->id, _("Delete"),
- _('Remove item from document'));
+ delete_button_cell("Delete" . $entered_grn->id, _("Edit"), _('Edit document line'));
if ($supp_trans->is_invoice && $_SESSION["wa_current_user"]->access == 2)
label_cell("");
}
end_row();
- $total_grn_value += round($entered_grn->chg_price * abs($entered_grn->this_quantity_inv),
+ $total_grn_value += round2($entered_grn->chg_price * abs($entered_grn->this_quantity_inv),
user_price_dec());
$i++;
@@ -494,18 +528,27 @@ function display_grn_items(&$supp_trans, $mode=0)
}
if ($mode == 1)
{
- display_grn_items_for_selection($supp_trans);
- $colspan = 10;
+ $ret = display_grn_items_for_selection($supp_trans, $k);
+ $colspan = 10;
}
else
$colspan = 5;
label_row(_("Total"), price_format($total_grn_value),
"colspan=$colspan align=right", "nowrap align=right");
- echo "
";
+ end_table();
+ if (!$ret)
+ {
+ if ($supp_trans->is_invoice)
+ display_note(_("There are no outstanding items received from this supplier that have not been invoiced by them."), 0, 1);
+ else
+ {
+ display_note(_("There are no received items for the selected supplier that have been invoiced."));
+ display_note(_("Credits can only be applied to invoiced items."), 0, 1);
+ }
+ }
div_end();
- echo " ";
- end_table(); // outertable
+ end_outer_table(0, false); // outertable
return $total_grn_value;
}