include_once($path_to_root . "/sales/includes/sales_db.inc");
//----------------------------------------------------------------------------------------------------
-function get_invoice_range($from, $to)
+function get_invoice_range($from, $to, $currency=false)
{
global $SysPrefs;
$ref = ($SysPrefs->print_invoice_no() == 1 ? "trans_no" : "reference");
- $sql = "SELECT trans.trans_no, trans.reference
- FROM ".TB_PREF."debtor_trans trans
- LEFT JOIN ".TB_PREF."voided voided ON trans.type=voided.type AND trans.trans_no=voided.id
- WHERE trans.type=".ST_SALESINVOICE
- ." AND ISNULL(voided.id)"
- ." AND trans.reference>=".db_escape(get_reference(ST_SALESINVOICE, $from))
- ." AND trans.reference<=".db_escape(get_reference(ST_SALESINVOICE, $to))
- ." ORDER BY trans.tran_date, trans.$ref";
+ $sql = "SELECT trans.trans_no, trans.reference";
+
+// if($currency !== false)
+// $sql .= ", cust.curr_code";
+
+ $sql .= " FROM ".TB_PREF."debtor_trans trans
+ LEFT JOIN ".TB_PREF."voided voided ON trans.type=voided.type AND trans.trans_no=voided.id";
+
+ if ($currency !== false)
+ $sql .= " LEFT JOIN ".TB_PREF."debtors_master cust ON trans.debtor_no=cust.debtor_no";
+
+ $sql .= " WHERE trans.type=".ST_SALESINVOICE
+ ." AND ISNULL(voided.id)"
+ ." AND trans.trans_no BETWEEN ".db_escape($from)." AND ".db_escape($to);
+
+ if ($currency !== false)
+ $sql .= " AND cust.curr_code=".db_escape($currency);
+
+ $sql .= " ORDER BY trans.tran_date, trans.$ref";
return db_query($sql, "Cant retrieve invoice range");
}
function print_invoices()
{
global $path_to_root, $SysPrefs;
-
- $show_this_payment = true; // include payments invoiced here in summary
include_once($path_to_root . "/reporting/includes/pdf_report.inc");
if ($orientation == 'L')
recalculate_cols($cols);
- $range = get_invoice_range($from, $to);
+ $range = Array();
+ if ($currency == ALL_TEXT)
+ $range = get_invoice_range($from, $to);
+ else
+ $range = get_invoice_range($from, $to, $currency);
+
while($row = db_fetch($range))
{
if (!exists_customer_trans(ST_SALESINVOICE, $row['trans_no']))
if ($customer && $myrow['debtor_no'] != $customer) {
continue;
}
- if ($currency != ALL_TEXT && $myrow['curr_code'] != $currency) {
- continue;
- }
+// if ($currency != ALL_TEXT && $myrow['curr_code'] != $currency) {
+// continue;
+// }
+
$baccount = get_default_bank_account($myrow['curr_code']);
$params['bankaccount'] = $baccount['id'];
// calculate summary start row for later use
$summary_start_row = $rep->bottomMargin + (15 * $rep->lineHeight);
+ $show_this_payment = $rep->formData['prepaid'] == 'partial'; // include payments invoiced here in summary
+
if ($rep->formData['prepaid'])
{
+
$result = get_sales_order_invoices($myrow['order_']);
$prepayments = array();
while($inv = db_fetch($result))
$rep->TextCol($c++, $c, $myrow2['stock_id'], -2);
$oldrow = $rep->row;
$rep->TextColLines($c++, $c, $myrow2['StockDescription'], -2);
+ if (!empty($SysPrefs->prefs['long_description_invoice']) && !empty($myrow2['StockLongDescription']))
+ {
+ $c--;
+ $rep->TextColLines($c++, $c, $myrow2['StockLongDescription'], -2);
+ }
$newrow = $rep->row;
$rep->row = $oldrow;
if ($Net != 0.0 || !is_service($myrow2['mb_flag']) || !$SysPrefs->no_zero_lines_amount())
if ($memo != "")
{
$rep->NewLine();
- $rep->TextColLines(1, 5, $memo, -2);
+ $rep->TextColLines(1, 3, $memo, -2);
}
$DisplaySubTot = number_format2($SubTotal,$dec);
$first = false;
}
else
- $rep->TextCol(3, 7, _("Included") . " " . $tax_type_name . _("Amount") . ": " . $DisplayTax, -2);
+ $rep->TextCol(3, 6, _("Included") . " " . $tax_type_name . _("Amount") . ": " . $DisplayTax, -2);
}
else
{
$rep->Font();
if ($email == 1)
{
- $rep->End($email);
+ $rep->End($email, sprintf(_("Invoice %s from %s"), $myrow['reference'], get_company_pref('coy_name')));
}
}
if ($email == 0)