include_once($path_to_root . "/sales/includes/db/sales_delivery_db.inc");
include_once($path_to_root . "/sales/includes/db/sales_types_db.inc");
include_once($path_to_root . "/sales/includes/db/sales_points_db.inc");
+include_once($path_to_root . "/sales/includes/db/sales_groups_db.inc");
+include_once($path_to_root . "/sales/includes/db/recurrent_invoices_db.inc");
include_once($path_to_root . "/sales/includes/db/custalloc_db.inc");
include_once($path_to_root . "/sales/includes/db/cust_trans_db.inc");
include_once($path_to_root . "/sales/includes/db/cust_trans_details_db.inc");
$myrow = get_sales_type($sales_type_id);
$factor = $myrow['factor'];
}
-
+
$add_pct = get_company_pref('add_pct');
$base_id = get_base_sales_type();
$home_curr = get_company_currency();
// AND (sales_type_id = $sales_type_id OR sales_type_id = $base_id)
$sql = "SELECT price, curr_abrev, sales_type_id
FROM ".TB_PREF."prices
- WHERE stock_id = '$stock_id'
- AND (curr_abrev = '$currency' OR curr_abrev = '$home_curr')";
+ WHERE stock_id = ".db_escape($stock_id)."
+ AND (curr_abrev = ".db_escape($currency)." OR curr_abrev = ".db_escape($home_curr).")";
$result = db_query($sql, "There was a problem retrieving the pricing information for the part $stock_id for customer");
$num_rows = db_num_rows($result);
$prices[$myrow['sales_type_id']][$myrow['curr_abrev']] = $myrow['price'];
}
$price = false;
+ if (isset($prices[$sales_type_id][$currency]))
+ {
+ $price = $prices[$sales_type_id][$currency];
+ }
+ elseif (isset($prices[$base_id][$currency]))
+ {
+ $price = $prices[$base_id][$currency] * $factor;
+ }
+ elseif (isset($prices[$sales_type_id][$home_curr]))
+ {
+ $price = $prices[$sales_type_id][$home_curr] / $rate;
+ }
+ elseif (isset($prices[$base_id][$home_curr]))
+ {
+ $price = $prices[$base_id][$home_curr] * $factor / $rate;
+ }
+/*
if (isset($prices[$sales_type_id][$home_curr]))
{
$price = $prices[$sales_type_id][$home_curr] / $rate;
{
$price = $prices[$base_id][$home_curr] * $factor / $rate;
}
+*/
elseif ($num_rows == 0 && $add_pct != -1)
{
$price = get_calculated_price($stock_id, $add_pct);
if (count($cart->src_docs) == 1) {
- // if this child document has only one parent - update child link
- $del_no = reset(array_keys($cart->src_docs));
+ // if this child document has only one parent - update child link
+ $src = array_keys($cart->src_docs);
+ $del_no = reset($src);
- $sql = 'UPDATE '.TB_PREF.'debtor_trans SET trans_link = ' . $del_no .
- ' WHERE type='.$cart->trans_type.' AND trans_no='. $inv_no ;
- db_query($sql, 'Child document link cannot be updated');
+ $sql = 'UPDATE '.TB_PREF.'debtor_trans SET trans_link = ' . $del_no .
+ ' WHERE type='.db_escape($cart->trans_type).' AND trans_no='. $inv_no ;
+ db_query($sql, 'Child document link cannot be updated');
}
- if ($cart->trans_type != 10)
+ if ($cart->trans_type != ST_SALESINVOICE)
return 0;
// the rest is batch invoice specific
}
//--------------------------------------------------------------------------------------------------
-function get_parent_type($type)
-{
- $parent_types = array( 11=>10, 10=>13, 13=>30 );
- return isset($parent_types[$type]) ? $parent_types[$type] : 0;
-}
-
-//--------------------------------------------------------------------------------------------------
-function update_parent_line($doc_type, $line_id, $qty_dispatched)
+function update_parent_line($doc_type, $line_id, $qty_dispatched, $auto=false)
{
$doc_type = get_parent_type($doc_type);
if ($doc_type==0)
return false;
else {
- if ($doc_type==30)
+ if ($doc_type==ST_SALESORDER)
+ {
$sql = "UPDATE ".TB_PREF."sales_order_details
- SET qty_sent = qty_sent + $qty_dispatched
- WHERE id=$line_id";
+ SET qty_sent = qty_sent + $qty_dispatched";
+ if ($auto)
+ $sql .= ", quantity = quantity + $qty_dispatched";
+ $sql .= " WHERE id=".db_escape($line_id);
+ }
else
$sql = "UPDATE ".TB_PREF."debtor_trans_details
SET qty_done = qty_done + $qty_dispatched
- WHERE id=$line_id";
+ WHERE id=".db_escape($line_id);
}
db_query($sql, "The parent document detail record could not be updated");
return true;
{
$sql = "SELECT ".TB_PREF."locations.* FROM ".TB_PREF."stock_moves,"
.TB_PREF."locations".
- " WHERE type=".$cart->trans_type.
+ " WHERE type=".db_escape($cart->trans_type).
" AND trans_no=".key($cart->trans_no).
" AND qty!=0 ".
" AND ".TB_PREF."locations.loc_code=".TB_PREF."stock_moves.loc_code";
$cart->set_sales_type($myrow["tpe"], $myrow["sales_type"], $myrow["tax_included"],0);
$cart->set_customer($myrow["debtor_no"], $myrow["DebtorName"],
- $myrow["curr_code"], $myrow["discount"]);
+ $myrow["curr_code"], $myrow["discount"], $myrow["payment_terms"]);
$cart->set_branch($myrow["branch_code"], $myrow["tax_group_id"],
- $myrow["tax_group_name"], $myrow["phone"], $myrow["email"]);
+ $myrow["tax_group_name"]);
$cart->reference = $myrow["reference"];
$cart->order_no = $myrow["order_"];