예제 #1
0
$width_col0 = $col_right - $col0;
$width_col1 = $col_right - $col1;
$width_col3 = $col_right - $col3;
$width_col4 = $col_right - $col4;
$width_col5 = $col_right - $col5;
$width_normal = 200;
$row_address = $cheque->pageHeight - 177;
$row_first_stub = $row_address - 149;
// first spec. for the payment
$row_second_stub = $row_address - 380;
// second spec. for the payment
$gap = 15;
// space between the spaced date and spec
//-------------------------------------------------------
if ($checkinput != "") {
    $cheque->TextWrap($col4, $cheque->row, $width_normal, $cheque->title);
    $cheque->TextWrap($col4, $cheque->row, $width_col4, $checkinput, "right");
}
$cheque->NewLine();
$cheque->TextWrap($col4, $cheque->row, 50, _("DATE"));
$cdate = sql2checkdate($from_trans['tran_date']);
$ddate = "DDMMYYYY";
for ($i = 0, $col = $col5; $i < 8; $col += $gap, $i++) {
    $cheque->TextWrap($col, $cheque->row, $gap - 1, $cdate[$i]);
}
$cheque->lineHeight = 12;
$cheque->NewLine();
for ($i = 0, $col = $col5; $i < 8; $col += $gap, $i++) {
    $cheque->TextWrap($col, $cheque->row, $gap - 1, $ddate[$i]);
}
$cheque->lineHeight = 22;
예제 #2
0
function print_statements()
{
    global $path_to_root, $systypes_array;
    include_once $path_to_root . "/reporting/includes/pdf_report.inc";
    $customer = $_POST['PARAM_0'];
    $currency = $_POST['PARAM_1'];
    $show_also_allocated = $_POST['PARAM_2'];
    $email = $_POST['PARAM_3'];
    $comments = $_POST['PARAM_4'];
    $orientation = $_POST['PARAM_5'];
    $orientation = $orientation ? 'L' : 'P';
    $dec = user_price_dec();
    $cols = array(4, 100, 130, 190, 250, 320, 385, 450, 515);
    //$headers in doctext.inc
    $aligns = array('left', 'left', 'left', 'left', 'right', 'right', 'right', 'right');
    $params = array('comments' => $comments);
    $cur = get_company_pref('curr_default');
    $PastDueDays1 = get_company_pref('past_due_days');
    $PastDueDays2 = 2 * $PastDueDays1;
    if ($email == 0) {
        $rep = new FrontReport(_('STATEMENT'), "StatementBulk", user_pagesize(), 9, $orientation);
    }
    if ($orientation == 'L') {
        recalculate_cols($cols);
    }
    $sql = "SELECT debtor_no, name AS DebtorName, address, tax_id, curr_code, curdate() AS tran_date FROM " . TB_PREF . "debtors_master";
    if ($customer != ALL_TEXT) {
        $sql .= " WHERE debtor_no = " . db_escape($customer);
    } else {
        $sql .= " ORDER by name";
    }
    $result = db_query($sql, "The customers could not be retrieved");
    while ($myrow = db_fetch($result)) {
        $date = date('Y-m-d');
        $myrow['order_'] = "";
        $TransResult = getTransactions($myrow['debtor_no'], $date, $show_also_allocated);
        $baccount = get_default_bank_account($myrow['curr_code']);
        $params['bankaccount'] = $baccount['id'];
        if (db_num_rows($TransResult) == 0) {
            continue;
        }
        if ($email == 1) {
            $rep = new FrontReport("", "", user_pagesize(), 9, $orientation);
            $rep->title = _('STATEMENT');
            $rep->filename = "Statement" . $myrow['debtor_no'] . ".pdf";
            $rep->Info($params, $cols, null, $aligns);
        }
        $contacts = get_customer_contacts($myrow['debtor_no'], 'invoice');
        $rep->SetHeaderType('Header2');
        $rep->currency = $cur;
        $rep->Font();
        $rep->Info($params, $cols, null, $aligns);
        //= get_branch_contacts($branch['branch_code'], 'invoice', $branch['debtor_no']);
        $rep->SetCommonData($myrow, null, null, $baccount, ST_STATEMENT, $contacts);
        $rep->NewPage();
        $rep->NewLine();
        $doctype = ST_STATEMENT;
        $rep->fontSize += 2;
        $rep->TextCol(0, 8, _("Outstanding Transactions"));
        $rep->fontSize -= 2;
        $rep->NewLine(2);
        while ($myrow2 = db_fetch($TransResult)) {
            $DisplayTotal = number_format2(Abs($myrow2["TotalAmount"]), $dec);
            $DisplayAlloc = number_format2($myrow2["Allocated"], $dec);
            $DisplayNet = number_format2($myrow2["TotalAmount"] - $myrow2["Allocated"], $dec);
            $rep->TextCol(0, 1, $systypes_array[$myrow2['type']], -2);
            $rep->TextCol(1, 2, $myrow2['reference'], -2);
            $rep->TextCol(2, 3, sql2date($myrow2['tran_date']), -2);
            if ($myrow2['type'] == ST_SALESINVOICE) {
                $rep->TextCol(3, 4, sql2date($myrow2['due_date']), -2);
            }
            if ($myrow2['type'] == ST_SALESINVOICE || $myrow2['type'] == ST_BANKPAYMENT) {
                $rep->TextCol(4, 5, $DisplayTotal, -2);
            } else {
                $rep->TextCol(5, 6, $DisplayTotal, -2);
            }
            $rep->TextCol(6, 7, $DisplayAlloc, -2);
            $rep->TextCol(7, 8, $DisplayNet, -2);
            $rep->NewLine();
            if ($rep->row < $rep->bottomMargin + 10 * $rep->lineHeight) {
                $rep->NewPage();
            }
        }
        $nowdue = "1-" . $PastDueDays1 . " " . _("Days");
        $pastdue1 = $PastDueDays1 + 1 . "-" . $PastDueDays2 . " " . _("Days");
        $pastdue2 = _("Over") . " " . $PastDueDays2 . " " . _("Days");
        $CustomerRecord = get_customer_details($myrow['debtor_no'], null, $show_also_allocated);
        $str = array(_("Current"), $nowdue, $pastdue1, $pastdue2, _("Total Balance"));
        $str2 = array(number_format2($CustomerRecord["Balance"] - $CustomerRecord["Due"], $dec), number_format2($CustomerRecord["Due"] - $CustomerRecord["Overdue1"], $dec), number_format2($CustomerRecord["Overdue1"] - $CustomerRecord["Overdue2"], $dec), number_format2($CustomerRecord["Overdue2"], $dec), number_format2($CustomerRecord["Balance"], $dec));
        $col = array($rep->cols[0], $rep->cols[0] + 110, $rep->cols[0] + 210, $rep->cols[0] + 310, $rep->cols[0] + 410, $rep->cols[0] + 510);
        $rep->row = $rep->bottomMargin + (10 * $rep->lineHeight - 6);
        for ($i = 0; $i < 5; $i++) {
            $rep->TextWrap($col[$i], $rep->row, $col[$i + 1] - $col[$i], $str[$i], 'right');
        }
        $rep->NewLine();
        for ($i = 0; $i < 5; $i++) {
            $rep->TextWrap($col[$i], $rep->row, $col[$i + 1] - $col[$i], $str2[$i], 'right');
        }
        if ($email == 1) {
            $rep->End($email, _("Statement") . " " . _("as of") . " " . sql2date($date));
        }
    }
    if ($email == 0) {
        $rep->End();
    }
}
예제 #3
0
파일: rep108.php 프로젝트: ravenii/guardocs
function print_statements()
{
    global $path_to_root;
    include_once $path_to_root . "reporting/includes/pdf_report.inc";
    $customer = $_REQUEST['PARAM_0'];
    $currency = $_REQUEST['PARAM_1'];
    $bankaccount = $_REQUEST['PARAM_2'];
    $email = $_REQUEST['PARAM_3'];
    $comments = $_REQUEST['PARAM_4'];
    $dec = user_price_dec();
    $cols = array(4, 100, 130, 190, 250, 320, 385, 450, 515);
    //$headers in doctext.inc
    $aligns = array('left', 'left', 'left', 'left', 'right', 'right', 'right', 'right');
    $params = array('comments' => $comments, 'bankaccount' => $bankaccount);
    $baccount = get_bank_account($params['bankaccount']);
    $cur = get_company_pref('curr_default');
    $PastDueDays1 = get_company_pref('past_due_days');
    $PastDueDays2 = 2 * $PastDueDays1;
    if ($email == 0) {
        $rep = new FrontReport(tr('STATEMENT'), "StatementBulk.pdf", user_pagesize());
        $rep->currency = $cur;
        $rep->Font();
        $rep->Info($params, $cols, null, $aligns);
    }
    $sql = "SELECT debtor_no, name AS DebtorName, address, tax_id, email, curr_code, curdate() AS tran_date, payment_terms FROM debtors_master";
    if ($customer != reserved_words::get_all_numeric()) {
        $sql .= " WHERE debtor_no = {$customer}";
    } else {
        $sql .= " ORDER by name";
    }
    $result = db_query($sql, "The customers could not be retrieved");
    while ($myrow = db_fetch($result)) {
        $date = date('Y-m-d');
        $myrow['order_'] = "";
        $TransResult = getTransactions($myrow['debtor_no'], $date);
        if (db_num_rows($TransResult) == 0) {
            continue;
        }
        if ($email == 1) {
            $rep = new FrontReport("", "", user_pagesize());
            $rep->currency = $cur;
            $rep->Font();
            $rep->title = tr('STATEMENT');
            $rep->filename = "Statement" . $myrow['debtor_no'] . ".pdf";
            $rep->Info($params, $cols, null, $aligns);
        }
        $rep->Header2($myrow, null, null, $baccount, 12);
        $rep->NewLine();
        $linetype = true;
        $doctype = 12;
        if ($rep->currency != $myrow['curr_code']) {
            include $path_to_root . "reporting/includes/doctext2.inc";
        } else {
            include $path_to_root . "reporting/includes/doctext.inc";
        }
        $rep->fontSize += 2;
        $rep->TextCol(0, 8, $doc_Outstanding);
        $rep->fontSize -= 2;
        $rep->NewLine(2);
        while ($myrow2 = db_fetch($TransResult)) {
            $DisplayTotal = number_format2(Abs($myrow2["TotalAmount"]), $dec);
            $DisplayAlloc = number_format2($myrow2["Allocated"], $dec);
            if ($myrow2['type'] == 10) {
                $DisplayNet = number_format2($myrow2["TotalAmount"] - $myrow2["Allocated"], $dec);
            } else {
                $DisplayNet = number_format2($myrow2["TotalAmount"] + $myrow2["Allocated"], $dec);
            }
            $rep->TextCol(0, 1, $myrow2['type_name'], -2);
            $rep->TextCol(1, 2, $myrow2['reference'], -2);
            $rep->TextCol(2, 3, sql2date($myrow2['tran_date']), -2);
            if ($myrow2['type'] == 10) {
                $rep->TextCol(3, 4, sql2date($myrow2['due_date']), -2);
            }
            if ($myrow2['TotalAmount'] > 0.0) {
                $rep->TextCol(4, 5, $DisplayTotal, -2);
            } else {
                $rep->TextCol(5, 6, $DisplayTotal, -2);
            }
            $rep->TextCol(6, 7, $DisplayAlloc, -2);
            $rep->TextCol(7, 8, $DisplayNet, -2);
            $rep->NewLine();
            if ($rep->row < $rep->bottomMargin + 10 * $rep->lineHeight) {
                $rep->Header2($myrow, null, null, $baccount);
            }
        }
        $nowdue = "1-" . $PastDueDays1 . " " . $doc_Days;
        $pastdue1 = $PastDueDays1 + 1 . "-" . $PastDueDays2 . " " . $doc_Days;
        $pastdue2 = $doc_Over . " " . $PastDueDays2 . " " . $doc_Days;
        $CustomerRecord = get_customer_details($myrow['debtor_no']);
        $str = array($doc_Current, $nowdue, $pastdue1, $pastdue2, $doc_Total_Balance);
        $str2 = array(number_format2($CustomerRecord["Balance"] - $CustomerRecord["Due"], $dec), number_format2($CustomerRecord["Due"] - $CustomerRecord["Overdue1"], $dec), number_format2($CustomerRecord["Overdue1"] - $CustomerRecord["Overdue2"], $dec), number_format2($CustomerRecord["Overdue2"], $dec), number_format2($CustomerRecord["Balance"], $dec));
        $col = array($rep->cols[0], $rep->cols[0] + 110, $rep->cols[0] + 210, $rep->cols[0] + 310, $rep->cols[0] + 410, $rep->cols[0] + 510);
        $rep->row = $rep->bottomMargin + 8 * $rep->lineHeight;
        for ($i = 0; $i < 5; $i++) {
            $rep->TextWrap($col[$i], $rep->row, $col[$i + 1] - $col[$i], $str[$i], 'right');
        }
        $rep->NewLine();
        for ($i = 0; $i < 5; $i++) {
            $rep->TextWrap($col[$i], $rep->row, $col[$i + 1] - $col[$i], $str2[$i], 'right');
        }
        if ($email == 1) {
            $rep->End($email, $doc_Statement . " " . $doc_as_of . " " . sql2date($date), $myrow, 12);
        }
    }
    if ($email == 0) {
        $rep->End();
    }
}