$_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);
}
//--------------------------------------------------------------------------------------------------
$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)
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'])
{
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, 60);
+ 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%");
if ($supplier_currency != $company_currency)
{
label_row(_("Supplier's Currency:"), "<b>" . $supplier_currency . "</b>");
- 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);
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);
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();
}
//--------------------------------------------------------------------------------------------------
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);
}
$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).
hidden('order_price'.$n, $myrow['unit_price'], false).
hidden('std_cost_unit'.$n, $myrow['std_cost_unit'], false).
hidden('po_detail_item'.$n, $myrow['po_detail_item'], false));
- hidden('location'.$n, $myrow["loc_code"], false).
label_cell(get_trans_view_str(ST_PURCHORDER, $myrow["purch_order_no"]));
label_cell($myrow["item_code"]);
label_cell($myrow["description"]);
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);
$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 "</td>";
- date_cells(_("Received between"), 'receive_begin', "", null, -30, 0, 0, "valign=middle");
+ date_cells(_("Received between"), 'receive_begin', "", null,
+ -$_SESSION["wa_current_user"]->prefs->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 "<td>";
- }
-
+ }
+
if ($heading2 != "")
{
display_note($heading2, 0, 0, "class='overduefg'");
- }
+ }
echo "</td><td width=10% align='right'>";
submit('InvGRNAll', _("Add All Items"), true, false,true);
- }
+ }
end_outer_table(0, false);
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);
- $row = get_grn_batch($grn_batch);
- label_cell($row['purch_order_no']); // 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);