+
+/*
+ Check whether sales order is issued in prepaid mode and already opened
+*/
+
+function is_prepaid_order_open($order_no)
+{
+ $sql = "SELECT count(*)
+ FROM ".TB_PREF."sales_orders o,
+ ((SELECT trans_no_to FROM ".TB_PREF."cust_allocations
+ WHERE trans_type_to=".ST_SALESORDER." AND trans_no_to=".db_escape($order_no).")
+ UNION
+ (SELECT order_ FROM ".TB_PREF."debtor_trans
+ WHERE type=".ST_SALESINVOICE." AND order_=".db_escape($order_no).")) related
+ WHERE
+ o.prep_amount>0
+ AND o.trans_type = ".ST_SALESORDER."
+ AND o.order_no = " . db_escape($order_no);
+
+ $result = db_fetch(db_query($sql, "cannot check prepaid order open"));
+
+ return $result[0];
+}
+
+function last_sales_order_detail($order, $field)
+{
+ $sql = "SELECT $field
+ FROM ".TB_PREF."sales_order_details d
+ WHERE order_no =
+ (SELECT order_no FROM ".TB_PREF."sales_orders o
+ WHERE debtor_no=" . db_escape($order->customer_id) . "
+ ORDER BY order_no DESC LIMIT 1)
+ ORDER BY d.id DESC LIMIT 1";
+
+ $last_query=db_query($sql, "Could not retrieve last order detail");
+ $row = db_fetch_row($last_query);
+ return $row == false ? false : $row[0];
+}
+