3 function get_supplier_details($supplier_id, $to=null)
7 $todate = date("Y-m-d");
9 $todate = date2sql($to);
10 $past1 = get_company_pref('past_due_days');
12 // removed - supp_trans.alloc from all summations
14 $value = "(".TB_PREF."supp_trans.ov_amount + ".TB_PREF."supp_trans.ov_gst + ".TB_PREF."supp_trans.ov_discount)";
15 $due = "IF (".TB_PREF."supp_trans.type=20 OR ".TB_PREF."supp_trans.type=21,".TB_PREF."supp_trans.due_date,".TB_PREF."supp_trans.tran_date)";
16 $sql = "SELECT ".TB_PREF."suppliers.supp_name, ".TB_PREF."suppliers.curr_code, ".TB_PREF."payment_terms.terms,
18 Sum($value) AS Balance,
20 Sum(IF ((TO_DAYS('$todate') - TO_DAYS($due)) >= 0,$value,0)) AS Due,
21 Sum(IF ((TO_DAYS('$todate') - TO_DAYS($due)) >= $past1,$value,0)) AS Overdue1,
22 Sum(IF ((TO_DAYS('$todate') - TO_DAYS($due)) >= $past2,$value,0)) AS Overdue2
24 FROM ".TB_PREF."suppliers,
25 ".TB_PREF."payment_terms,
29 ".TB_PREF."suppliers.payment_terms = ".TB_PREF."payment_terms.terms_indicator
30 AND ".TB_PREF."suppliers.supplier_id = $supplier_id
31 AND ".TB_PREF."supp_trans.tran_date <= '$todate'
32 AND ".TB_PREF."suppliers.supplier_id = ".TB_PREF."supp_trans.supplier_id
35 ".TB_PREF."suppliers.supp_name,
36 ".TB_PREF."payment_terms.terms,
37 ".TB_PREF."payment_terms.days_before_due,
38 ".TB_PREF."payment_terms.day_in_following_month";
40 $result = db_query($sql,"The customer details could not be retrieved");
42 if (db_num_rows($result) == 0)
45 /*Because there is no balance - so just retrieve the header information about the customer - the choice is do one query to get the balance and transactions for those customers who have a balance and two queries for those who don't have a balance OR always do two queries - I opted for the former */
49 $sql = "SELECT ".TB_PREF."suppliers.supp_name, ".TB_PREF."suppliers.curr_code, ".TB_PREF."suppliers.supplier_id, ".TB_PREF."payment_terms.terms
50 FROM ".TB_PREF."suppliers,
51 ".TB_PREF."payment_terms
53 ".TB_PREF."suppliers.payment_terms = ".TB_PREF."payment_terms.terms_indicator
54 AND ".TB_PREF."suppliers.supplier_id = '$supplier_id'";
56 $result = db_query($sql,"The customer details could not be retrieved");
64 $supp = db_fetch($result);
66 if ($nil_balance == true)
70 $supp["Overdue1"] = 0;
71 $supp["Overdue2"] = 0;
78 function get_supplier($supplier_id)
80 $sql = "SELECT * FROM ".TB_PREF."suppliers WHERE supplier_id=$supplier_id";
82 $result = db_query($sql, "could not get supplier");
84 return db_fetch($result);
87 function get_supplier_name($supplier_id)
89 $sql = "SELECT supp_name AS name FROM ".TB_PREF."suppliers WHERE supplier_id=$supplier_id";
91 $result = db_query($sql, "could not get supplier");
93 $row = db_fetch_row($result);
98 function get_supplier_accounts($supplier_id)
100 $sql = "SELECT payable_account,purchase_account,payment_discount_account FROM ".TB_PREF."suppliers WHERE supplier_id=$supplier_id";
102 $result = db_query($sql, "could not get supplier");
104 return db_fetch($result);