From: <vo...@us...> - 2013-12-20 18:50:16
|
Revision: 5658 http://sourceforge.net/p/moneymanagerex/code/5658 Author: vomikan Date: 2013-12-20 18:50:13 +0000 (Fri, 20 Dec 2013) Log Message: ----------- fixes Modified Paths: -------------- branches/version_1.0.0.0/src/reports/transactions.cpp Modified: branches/version_1.0.0.0/src/reports/transactions.cpp =================================================================== --- branches/version_1.0.0.0/src/reports/transactions.cpp 2013-12-20 17:31:00 UTC (rev 5657) +++ branches/version_1.0.0.0/src/reports/transactions.cpp 2013-12-20 18:50:13 UTC (rev 5658) @@ -149,57 +149,46 @@ Model_Account::Data* account = Model_Account::instance().get(transaction.ACCOUNTID); hb.addTableCellLink(wxString::Format("TRXID:%d", transaction.TRANSID), (account ? account->ACCOUNTNAME : "")); - if (Model_Checking::type(transaction) != Model_Checking::TRANSFER) + Model_Checking::Full_Data full_tran(transaction); + + if (Model_Checking::TRANSFER == Model_Checking::type(transaction)) { - Model_Payee::Data* payee = Model_Payee::instance().get(transaction.PAYEEID); - hb.addTableCell(payee ? payee->PAYEENAME : ""); + bool transfer_to = (refAccountID_ < 0 || transaction.TOACCOUNTID == refAccountID_); + const Model_Account::Data* account = Model_Account::instance().get(transfer_to + ? transaction.TOACCOUNTID : transaction.ACCOUNTID); + if (account) full_tran.PAYEENAME = account->ACCOUNTNAME; } else { - Model_Account::Data *account = Model_Account::instance().get(transaction.ACCOUNTID); - hb.addTableCell(account ? account->ACCOUNTNAME : ""); + const Model_Payee::Data* payee = Model_Payee::instance().get(transaction.PAYEEID); + if (payee) full_tran.PAYEENAME = payee->PAYEENAME; } + hb.addTableCell(full_tran.PAYEENAME); + hb.addTableCell(transaction.STATUS); - if (transaction.CATEGID == -1) - hb.addTableCell(_T("Split Category"), false, true); - else - hb.addTableCell(Model_Category::full_name(transaction.CATEGID, transaction.SUBCATEGID), false, true); + + if (!Model_Checking::splittransaction(transaction).empty()) + { + full_tran.CATEGNAME = ""; + for (const auto& entry : Model_Checking::splittransaction(transaction)) + full_tran.CATEGNAME += Model_Category::full_name(entry.CATEGID, entry.SUBCATEGID) + + " = " + + Model_Currency::toString(entry.SPLITTRANSAMOUNT) + "<br>"; + } + hb.addTableCell(full_tran.CATEGNAME, false, true); + hb.addTableCell(wxGetTranslation(transaction.TRANSCODE)); // Get the exchange rate for the selected account const Model_Currency::Data* currency = Model_Account::currency(account); if (currency) { - if (transDialog_->getCategoryCheckBox() && transaction.CATEGID == -1) - { - double split_total = 0; - for (const Model_Splittransaction::Data split : Model_Checking::splittransaction(transaction)) - { - if (transDialog_->getCategoryID() == split.CATEGID && transDialog_->getSubCategoryID() == split.SUBCATEGID) - { - split_total += split.SPLITTRANSAMOUNT; - } - } - if (Model_Checking::type(transaction) == Model_Checking::WITHDRAWAL && split_total >= 0) - { - split_total = -split_total; - } - else if (Model_Checking::type(transaction) == Model_Checking::DEPOSIT && split_total < 0) - { - split_total = -split_total; - } - double amount = split_total * currency->BASECONVRATE; - hb.addCurrencyCell(amount); - total += amount; - } - else - { - double amount = Model_Checking::balance(transaction, refAccountID_) * currency->BASECONVRATE; - hb.addCurrencyCell(amount); - total += amount; - } + double amount = Model_Checking::balance(transaction, account->ACCOUNTID) * currency->BASECONVRATE; + hb.addCurrencyCell(amount); + total += amount; } else hb.addTableCell(""); + hb.addTableCell(transaction.TRANSACTIONNUMBER); hb.addTableCell(transaction.NOTES, false, true); hb.endTableRow(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sie...@us...> - 2013-12-21 16:49:12
|
Revision: 5674 http://sourceforge.net/p/moneymanagerex/code/5674 Author: siena123 Date: 2013-12-21 16:49:08 +0000 (Sat, 21 Dec 2013) Log Message: ----------- fix for transaction report amount Modified Paths: -------------- branches/version_1.0.0.0/src/reports/transactions.cpp Modified: branches/version_1.0.0.0/src/reports/transactions.cpp =================================================================== --- branches/version_1.0.0.0/src/reports/transactions.cpp 2013-12-21 14:55:06 UTC (rev 5673) +++ branches/version_1.0.0.0/src/reports/transactions.cpp 2013-12-21 16:49:08 UTC (rev 5674) @@ -158,7 +158,10 @@ const Model_Currency::Data* currency = Model_Account::currency(account); if (currency) { - double amount = Model_Checking::balance(transaction, transaction.ACCOUNTID) * currency->BASECONVRATE; + int accountId = transaction.ACCOUNTID; + if (transDialog_->getAccountCheckBox()) + accountId = transDialog_->getAccountID(); + double amount = Model_Checking::balance(transaction, accountId) * currency->BASECONVRATE; hb.addCurrencyCell(amount); total += amount; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |