activate('totals_tbl'); } //------------------------------------------------------------------------------------------------ function systype_name($dummy, $type) { return systypes::name($type); } function trans_view($trans) { return get_trans_view_str($trans["type"], $trans["trans_no"]); } function due_date($row) { return ($row["type"]== 20) || ($row["type"]== 21) ? $row["due_date"] : ''; } function gl_view($row) { return get_gl_view_str($row["type"], $row["trans_no"]); } function fmt_debit($row) { $value = $row["TotalAmount"]; return $value>=0 ? price_format($value) : ''; } function fmt_credit($row) { $value = -$row["TotalAmount"]; return $value>0 ? price_format($value) : ''; } function prt_link($row) { return print_document_link($row['trans_no'], _("Print"), true, $row['type']); } function check_overdue($row) { return $row['OverDue'] == 1 && (abs($row["TotalAmount"]) - $row["Allocated"] != 0); } //------------------------------------------------------------------------------------------------ $date_after = date2sql($_POST['TransAfterDate']); $date_to = date2sql($_POST['TransToDate']); // Sherifoz 22.06.03 Also get the description $sql = "SELECT trans.type, trans.trans_no, trans.reference, supplier.supp_name, trans.supp_reference, trans.tran_date, trans.due_date, supplier.curr_code, (trans.ov_amount + trans.ov_gst + trans.ov_discount) AS TotalAmount, trans.alloc AS Allocated, ((trans.type = 20 OR trans.type = 21) AND trans.due_date < '" . date2sql(Today()) . "') AS OverDue, (ABS(trans.ov_amount + trans.ov_gst + trans.ov_discount - trans.alloc) <= 0.005) AS Settled FROM ".TB_PREF."supp_trans as trans, ".TB_PREF."suppliers as supplier WHERE supplier.supplier_id = trans.supplier_id AND trans.tran_date >= '$date_after' AND trans.tran_date <= '$date_to'"; if ($_POST['supplier_id'] != reserved_words::get_all()) $sql .= " AND trans.supplier_id = '" . $_POST['supplier_id'] . "'"; if (isset($_POST['filterType']) && $_POST['filterType'] != reserved_words::get_all()) { if (($_POST['filterType'] == '1')) { $sql .= " AND (trans.type = 20 OR trans.type = 2)"; } elseif (($_POST['filterType'] == '2')) { $sql .= " AND trans.type = 20 "; } elseif ($_POST['filterType'] == '3') { $sql .= " AND (trans.type = 22 OR trans.type = 1) "; } elseif (($_POST['filterType'] == '4') || ($_POST['filterType'] == '5')) { $sql .= " AND trans.type = 21 "; } if (($_POST['filterType'] == '2') || ($_POST['filterType'] == '5')) { $today = date2sql(Today()); $sql .= " AND trans.due_date < '$today' "; } } $cols = array( _("Type") => array('fun'=>'systype_name', 'ord'=>''), _("#") => array('fun'=>'trans_view', 'ord'=>''), _("Reference"), _("Supplier"), _("Supplier's Reference"), _("Date") => array('type'=>'date', 'ord'=>'desc'), _("Due Date") => array('type'=>'date', 'fun'=>'due_date'), _("Currency") => array('align'=>'center'), _("Debit") => array('align'=>'right', 'fun'=>'fmt_debit'), _("Credit") => array('align'=>'right', 'insert'=>true,'fun'=>'fmt_credit'), array('insert'=>true, 'fun'=>'gl_view'), ); if ($_POST['supplier_id'] != reserved_words::get_all()) { $cols[_("Supplier")] = 'skip'; $cols[_("Currency")] = 'skip'; } //------------------------------------------------------------------------------------------------ /*show a table of the transactions returned by the sql */ $table =& new_db_pager('trans_tbl', $sql, $cols); $table->set_marker('check_overdue', _("Marked items are overdue.")); if (get_post('RefreshInquiry')) { $table->set_sql($sql); $table->set_columns($cols); } start_form(); display_db_pager($table); end_form(); end_page(); ?>