X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fincludes%2Fsales_db.inc;h=db81a3e73ee3a532ba2f761aaf534dfb00da9188;hb=0fd1eb74bd51889ce48a6ab5369e66a86cbe7da2;hp=f66b209376e6093f0585a51b01631e51e2c4a541;hpb=1481d782477692fd972cc1c13b6585a95971769f;p=fa-stable.git diff --git a/sales/includes/sales_db.inc b/sales/includes/sales_db.inc index f66b2093..db81a3e7 100644 --- a/sales/includes/sales_db.inc +++ b/sales/includes/sales_db.inc @@ -174,7 +174,7 @@ function get_kit_price($item_code, $currency, $sales_type_id, $factor=null, $kit_price = get_price( $item_code, $currency, $sales_type_id, $factor, $date); - if ($kit_price !== false) { + if ($kit_price !== 0) { return $kit_price; } } @@ -272,7 +272,6 @@ function read_sales_trans($doc_type, $trans_no, &$cart) $cart->reference = $myrow["reference"]; $cart->order_no = $myrow["order_"]; - $cart->trans_link = $myrow["trans_link"]; $cart->due_date = sql2date($myrow["due_date"]); $cart->document_date = sql2date($myrow["tran_date"]); $cart->dimension_id = $myrow['dimension_id']; // added 2.1 Joe Hunt 2008-11-12 @@ -301,7 +300,8 @@ function read_sales_trans($doc_type, $trans_no, &$cart) $myrow["stock_id"],$myrow["quantity"], $myrow["unit_price"], $myrow["discount_percent"], $myrow["qty_done"], $myrow["standard_cost"], - $myrow["StockDescription"],$myrow["id"], $myrow["debtor_trans_no"]); + $myrow["StockDescription"],$myrow["id"], $myrow["debtor_trans_no"], + @$myrow["src_id"]); } } } // !newdoc @@ -312,31 +312,30 @@ function read_sales_trans($doc_type, $trans_no, &$cart) function get_sales_child_lines($trans_type, $trans_no, $lines=true) { - if (!get_child_type($trans_type)) + if (!($ctype = get_child_type($trans_type))) return false; if (!is_array($trans_no)) { $trans_no = array($trans_no); } - - $trtbl = $trans_type == ST_SALESORDER ? "sales_order_details" : "debtor_trans_details"; - - $rel = $trans_type == ST_SALESORDER ? "trans.trans_type=$trans_type" - . " AND trans.order_no IN(". implode(',', array_values($trans_no)).")" - : "trans.debtor_trans_type=$trans_type" - . " AND trans.debtor_trans_no IN(". implode(',', array_values($trans_no)).")"; + $par_tbl = $trans_type == ST_SALESORDER ? "sales_order_details" : "debtor_trans_details"; + $par_no = $trans_type == ST_SALESORDER ? "trans.order_no" : "trans.debtor_trans_no"; + + foreach($trans_no as $n => $trans) { + $trans_no[$n] = db_escape($trans); + } $sql = "SELECT child.* FROM - ".TB_PREF."debtor_trans_details child, - ".TB_PREF."$trtbl trans - WHERE - $rel AND trans.id=child.src_id"; + ".TB_PREF."debtor_trans_details child + LEFT JOIN ".TB_PREF."$par_tbl trans + ON child.src_id=trans.id AND child.debtor_trans_type=$ctype + WHERE $par_no IN(". implode(',', array_values($trans_no)).")"; if (!$lines) $sql .= " GROUP BY child.debtor_trans_no"; $sql .= " ORDER BY child.debtor_trans_no"; - + return db_query($sql, "can't retrieve child trans"); } @@ -357,19 +356,20 @@ function get_sales_parent_lines($trans_type, $trans_no, $lines=true) if (!$partype) return false; - $partbl = $partype == ST_SALESORDER ? "sales_order_details" : "debtor_trans_details"; - $parent_no = $partype == ST_SALESORDER ? "parent.order_no" : "parent.debtor_trans_no"; + $par_tbl = $partype == ST_SALESORDER ? "sales_order_details" : "debtor_trans_details"; + $par_no = $partype == ST_SALESORDER ? "parent.order_no" : "parent.debtor_trans_no"; $sql = "SELECT parent.* FROM - ".TB_PREF."$partbl parent + ".TB_PREF."$par_tbl parent LEFT JOIN ".TB_PREF."debtor_trans_details trans ON trans.src_id=parent.id WHERE - trans.debtor_trans_type=$trans_type AND trans.debtor_trans_no=$trans_no"; + trans.debtor_trans_type=".db_escape($trans_type) + ." AND trans.debtor_trans_no=".db_escape($trans_no); if (!$lines) - $sql .= " GROUP BY $parent_no"; + $sql .= " GROUP BY $par_no"; - $sql .= " ORDER BY $parent_no"; + $sql .= " ORDER BY $par_no"; return db_query($sql, "can't retrieve child trans");