void dspVendorAPHistory::sFillList() { _vendhist->clear(); if (!checkParameters()) return; q.prepare( "SELECT apopen_id, -1 AS applyid, 0 AS type," " apopen_docdate AS sortdate, apopen_docnumber AS sortnumber," " apopen_docnumber AS docnumber," " formatBoolYN(apopen_open) AS f_open," " CASE WHEN (apopen_doctype='V') THEN :voucher" " WHEN (apopen_doctype='C') THEN :creditMemo" " WHEN (apopen_doctype='D') THEN :debitMemo" " ELSE :other" " END AS documenttype," " apopen_invcnumber AS invoicenumber," " apopen_ponumber AS ponumber," " apopen_docdate AS docdate, apopen_duedate AS duedate, apopen_amount AS amount," " (apopen_amount - apopen_paid) AS balance," " currconcat(apopen_curr_id) AS currAbbr," " CASE WHEN (apopen_doctype='C') THEN apopen_amount / apopen_curr_rate * -1.0" " ELSE apopen_amount / apopen_curr_rate" " END AS base_amount," " CASE WHEN (apopen_doctype='C') THEN (apopen_amount - apopen_paid) / apopen_curr_rate * -1.0" " ELSE (apopen_amount - apopen_paid) / apopen_curr_rate" " END AS base_balance," " 'curr' AS amount_xtnumericrole," " 'curr' AS base_amount_xtnumericrole," " 'curr' AS base_amount_xttotalrole," " 'curr' AS balance_xtnumericrole," " 'curr' AS base_balance_xtnumericrole," " 'curr' AS base_balance_xttotalrole," " 0 AS xtindentrole " "FROM apopen " "WHERE ( (apopen_vend_id=:vend_id)" " AND (apopen_docdate BETWEEN :startDate AND :endDate) ) " "UNION " "SELECT apopen_id, apapply_target_apopen_id AS applyid, 1 AS type," " apopen_docdate AS sortdate, apopen_docnumber AS sortnumber," " apapply_source_docnumber AS docnumber," " '' AS f_open," " CASE WHEN (apapply_source_doctype='C') THEN :creditMemo" " WHEN (apapply_source_doctype='K') THEN :check" " ELSE :other" " END AS documenttype," " ' ' AS invoicenumber," " '' AS ponumber," " apapply_postdate AS docdate, CAST(NULL AS DATE) AS duedate," " apapply_amount AS amount," " 0 AS balance," " currconcat(apapply_curr_id) AS currAbbr," " (apapply_amount / apopen_curr_rate) AS base_amount, " " 0 AS base_balance," " 'curr' AS amount_xtnumericrole," " 'curr' AS base_amount_xtnumericrole," " 'curr' AS base_amount_xttotalrole," " 'curr' AS balance_xtnumericrole," " 'curr' AS base_balance_xtnumericrole," " 'curr' AS base_balance_xttotalrole," " 1 AS xtindentrole " "FROM apapply, apopen " "WHERE ( (apapply_target_apopen_id=apopen_id)" " AND (apapply_vend_id=:vend_id)" " AND (apopen_vend_id=:vend_id)" " AND (apopen_docdate BETWEEN :startDate AND :endDate) ) " "UNION " "SELECT apopen_id, apapply_target_apopen_id AS applyid, 2 AS type," " apopen_docdate AS sortdate, apopen_docnumber AS sortnumber," " apapply_target_docnumber AS docnumber," " '' AS f_open," " CASE WHEN (apapply_target_doctype='V') THEN :voucher" " WHEN (apapply_target_doctype='D') THEN :debitMemo" " ELSE :other" " END AS documenttype," " apopen_invcnumber AS invoicenumber," " '' AS ponumber," " apapply_postdate AS docdate, CAST(NULL AS DATE) AS duedate," " apapply_amount AS amount," " 0 AS balance," " currconcat(apapply_curr_id) AS currAbbr," " (apapply_amount / apopen_curr_rate) AS base_amount, " " 0 AS base_balance," " 'curr' AS amount_xtnumericrole," " 'curr' AS base_amount_xtnumericrole," " 'curr' AS base_amount_xttotalrole," " 'curr' AS balance_xtnumericrole," " 'curr' AS base_balance_xtnumericrole," " 'curr' AS base_balance_xttotalrole," " 1 AS xtindentrole " "FROM apapply, apopen " "WHERE ( (apapply_source_doctype IN ('C', 'K'))" " AND (apapply_source_doctype=apopen_doctype)" " AND (apapply_source_docnumber=apopen_docnumber)" " AND (apapply_vend_id=:vend_id)" " AND (apopen_vend_id=:vend_id)" " AND (apopen_docdate BETWEEN :startDate AND :endDate) ) " "ORDER BY sortdate, apopen_id, type;" ); _dates->bindValue(q); q.bindValue(":creditMemo", tr("Credit Memo")); q.bindValue(":debitMemo", tr("Debit Memo")); q.bindValue(":check", tr("Check")); q.bindValue(":voucher", tr("Voucher")); q.bindValue(":other", tr("Other")); q.bindValue(":vend_id", _vend->id()); q.exec(); if (q.first()) _vendhist->populate(q, true); sSearchInvoiceNum(); }
void dspVendorAPHistory::sFillList() { display::sFillList(); sSearchInvoiceNum(); }
void dspVendorAPHistory::sFillList() { _vendhist->clear(); if (!checkParameters()) return; q.prepare( "SELECT 1 AS type, apopen_id, -1 AS applyid," " apopen_docdate AS sortdate, apopen_docnumber AS sortnumber," " apopen_docnumber AS docnumber," " formatBoolYN(apopen_open) AS f_open," " CASE WHEN (apopen_doctype='V') THEN :voucher" " WHEN (apopen_doctype='C') THEN :creditMemo" " WHEN (apopen_doctype='D') THEN :debitMemo" " ELSE :other" " END AS documenttype," " apopen_invcnumber AS invoicenumber," " formatDate(apopen_docdate) AS f_docdate," " formatDate(apopen_duedate) AS f_duedate," " formatMoney(apopen_amount) AS f_amount," " formatMoney((apopen_amount - apopen_paid)) AS f_balance " "FROM apopen " "WHERE ( (apopen_vend_id=:vend_id)" " AND (apopen_docdate BETWEEN :startDate AND :endDate) ) " "UNION " "SELECT 2 AS type, apopen_id, apapply_source_apopen_id AS applyid," " apopen_docdate AS sortdate, apopen_docnumber AS sortnumber," " apapply_source_docnumber AS docnumber," " '' AS f_open," " CASE WHEN (apapply_source_doctype='C') THEN :creditMemo" " WHEN (apapply_source_doctype='K') THEN :check" " ELSE :other" " END AS documenttype," " ' ' AS invoicenumber," " formatDate(apapply_postdate) AS f_docdate," " '' AS f_duedate," " formatMoney(apapply_amount) AS f_amount," " '' AS f_balance " "FROM apapply, apopen " "WHERE ( (apapply_target_apopen_id=apopen_id)" " AND (apapply_vend_id=:vend_id)" " AND (apopen_vend_id=:vend_id)" " AND (apopen_docdate BETWEEN :startDate AND :endDate) ) " "UNION " "SELECT 3 AS type, apopen_id, apapply_target_apopen_id AS applyid," " apopen_docdate AS sortdate, apopen_docnumber AS sortnumber," " apapply_target_docnumber AS docnumber," " '' AS f_open," " CASE WHEN (apapply_target_doctype='V') THEN :voucher" " WHEN (apapply_target_doctype='D') THEN :debitMemo" " ELSE :other" " END AS documenttype," " apopen_invcnumber AS invoicenumber," " formatDate(apapply_postdate) AS f_docdate," " '' AS f_duedate," " formatMoney(apapply_amount) AS f_amount," " '' AS f_balance " "FROM apapply, apopen " "WHERE ( (apapply_source_doctype IN ('C', 'K'))" " AND (apapply_source_doctype=apopen_doctype)" " AND (apapply_source_docnumber=apopen_docnumber)" " AND (apapply_vend_id=:vend_id)" " AND (apopen_vend_id=:vend_id)" " AND (apopen_docdate BETWEEN :startDate AND :endDate) ) " "ORDER BY sortdate, apopen_id, type;" ); _dates->bindValue(q); q.bindValue(":creditMemo", tr("C/M")); q.bindValue(":debitMemo", tr("D/M")); q.bindValue(":check", tr("Check")); q.bindValue(":voucher", tr("Voucher")); q.bindValue(":other", tr("Other")); q.bindValue(":vend_id", _vend->id()); q.exec(); if (q.first()) { XTreeWidgetItem *document = NULL; do { if (q.value("type").toInt() == 1) document = new XTreeWidgetItem( _vendhist, document, q.value("apopen_id").toInt(), q.value("applyid").toInt(), q.value("f_open"), q.value("documenttype"), q.value("docnumber"), q.value("invoicenumber"),q.value("f_docdate"), q.value("f_duedate"), q.value("f_amount"), q.value("f_balance") ); else if (document) { new XTreeWidgetItem( document, -1, q.value("applyid").toInt(), "", q.value("documenttype"), q.value("docnumber"),q.value("invoicenumber"), q.value("f_docdate"), "", q.value("f_amount") ); } } while (q.next()); } sSearchInvoiceNum(); }