GnuCashew ~ GnuCash Enabled Web
GCW
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
GCW::Eng::AccountRegisterModel Class Reference

Account Register Model. More...

#include <AccountRegisterModel.h>

Inherits Wt::WStandardItemModel.

Public Types

enum class  ViewMode { BASIC_LEDGER , AUTOSPLIT_LEDGER , TRANSACTION_JOURNAL }
 

Public Member Functions

 AccountRegisterModel (const std::string &_accountGuid="", bool _editable=true)
 ctor More...
 
auto setAccountGuid (const std::string &_accountGuid) -> void
 
auto refreshFromDisk () -> void
 Refresh From Disk. More...
 
auto saveToDisk () -> void
 
auto viewMode () const -> ViewMode
 
auto setViewMode (ViewMode _viewMode) -> void
 
auto doubleLine () const -> bool
 
auto setDoubleLine (bool _doubleLine) -> void
 
auto isDeletable (const Wt::WModelIndex &_index) -> bool
 Is Read Only. More...
 
auto isEditable (int _row) -> bool
 
auto isEditable (const Wt::WModelIndex &_index) -> bool
 
auto getSplitGuid (const Wt::WModelIndex &_index) -> std::string
 Get GUID from row. More...
 
auto getSplitGuid (int _row) -> std::string
 
auto getDate (const Wt::WModelIndex &_index) -> Wt::WDateTime
 Get Date from the index. More...
 
auto getAction (const Wt::WModelIndex &_index) -> std::string
 Get Action. More...
 
auto getDescription (const Wt::WModelIndex &_index) -> std::string
 Get Description. More...
 
auto getTransferText (const Wt::WModelIndex &_index) -> std::string
 Get Transfer Account Text. More...
 
auto getTransferGuid (const Wt::WModelIndex &_index) -> std::string
 Get Transfer Account GUID. More...
 
auto getReconcile (const Wt::WModelIndex &_index) -> std::string
 Get Reconciliation. More...
 
auto getNumeric (const Wt::WModelIndex &_index) -> GCW_NUMERIC
 Get numeric value. More...
 
auto getDebit (const Wt::WModelIndex &_index) -> GCW_NUMERIC
 Get Debit value. More...
 
auto getCredit (const Wt::WModelIndex &_index) -> GCW_NUMERIC
 Get Credit value. More...
 
auto getValue (const Wt::WModelIndex &_index) -> GCW_NUMERIC
 Get Value (positive or negative) More...
 
auto getBalance (const Wt::WModelIndex &_index) -> GCW_NUMERIC
 
auto present () const -> GCW_NUMERIC
 
auto future () const -> GCW_NUMERIC
 
auto cleared () const -> GCW_NUMERIC
 
auto reconciled () const -> GCW_NUMERIC
 
auto projected () const -> GCW_NUMERIC
 
auto makeRow (const std::string &_splitGuid) -> RowItem
 
auto suggestionsFromColumn (int _column) const -> std::set< std::string >
 Column Suggestions. More...
 
auto setData (const Wt::WModelIndex &_index, const Wt::cpp17::any &_value, Wt::ItemDataRole _role) -> bool
 
auto goneDirty () -> Wt::Signal< Wt::WModelIndex > &
 

Private Types

using RowItem = std::vector< std::unique_ptr< Wt::WStandardItem > >
 
using ColItem = Wt::WStandardItem *
 

Private Member Functions

auto getString (const Wt::WModelIndex &_index, int column) -> std::string
 
auto saveToDisk (const Wt::WModelIndex &_index) -> void
 

Private Attributes

Wt::Signal< Wt::WModelIndex > m_goneDirty
 
bool m_editable = false
 Editable Indicator. More...
 
ViewMode m_viewMode = ViewMode::BASIC_LEDGER
 
bool m_doubleLine = false
 
std::string m_accountGuid
 Account GUID. More...
 
std::string m_lastDate
 
GCW_NUMERIC m_present
 
GCW_NUMERIC m_future
 
GCW_NUMERIC m_cleared
 
GCW_NUMERIC m_reconciled
 
GCW_NUMERIC m_projected
 

Detailed Description

Account Register Model.

This model is used to present account details to the 'editor register' (the spreadsheet-looing book-like-looking thing that the user posts transactions through.

Definition at line 21 of file AccountRegisterModel.h.

Member Typedef Documentation

◆ ColItem

using GCW::Eng::AccountRegisterModel::ColItem = Wt::WStandardItem *
private

Definition at line 25 of file AccountRegisterModel.h.

◆ RowItem

using GCW::Eng::AccountRegisterModel::RowItem = std::vector< std::unique_ptr< Wt::WStandardItem > >
private

Definition at line 24 of file AccountRegisterModel.h.

Member Enumeration Documentation

◆ ViewMode

Enumerator
BASIC_LEDGER 

basic one-line per transaction

AUTOSPLIT_LEDGER 

one-line ledger that auto-opens to multi-line for each selected row

TRANSACTION_JOURNAL 

self explanatory

Definition at line 29 of file AccountRegisterModel.h.

Constructor & Destructor Documentation

◆ AccountRegisterModel()

GCW::Eng::AccountRegisterModel::AccountRegisterModel ( const std::string &  _accountGuid = "",
bool  _editable = true 
)

ctor

This opens the model associated with a specific account.

Definition at line 35 of file AccountRegisterModel.cpp.

References GCW::Gui::BillPay::asString(), GCW::Cfg::date_format(), m_lastDate, and refreshFromDisk().

Member Function Documentation

◆ cleared()

auto GCW::Eng::AccountRegisterModel::cleared ( ) const -> GCW_NUMERIC
inline

Definition at line 168 of file AccountRegisterModel.h.

References m_cleared.

◆ doubleLine()

auto GCW::Eng::AccountRegisterModel::doubleLine ( ) const -> bool
inline

Definition at line 55 of file AccountRegisterModel.h.

References m_doubleLine.

◆ future()

auto GCW::Eng::AccountRegisterModel::future ( ) const -> GCW_NUMERIC
inline

Definition at line 167 of file AccountRegisterModel.h.

References m_future.

◆ getAction()

auto GCW::Eng::AccountRegisterModel::getAction ( const Wt::WModelIndex &  _index) -> std::string

Get Action.

Definition at line 208 of file AccountRegisterModel.cpp.

References COL_ACTION.

◆ getBalance()

auto GCW::Eng::AccountRegisterModel::getBalance ( const Wt::WModelIndex &  _index) -> GCW_NUMERIC

◆ getCredit()

auto GCW::Eng::AccountRegisterModel::getCredit ( const Wt::WModelIndex &  _index) -> GCW_NUMERIC

Get Credit value.

Definition at line 271 of file AccountRegisterModel.cpp.

References COL_CREDIT.

◆ getDate()

auto GCW::Eng::AccountRegisterModel::getDate ( const Wt::WModelIndex &  _index) -> Wt::WDateTime

Get Date from the index.

This pulls the 'date' column out and returns it as a WDateTime value.

Note
This will 'force' the 'time' component to be equal to the default time of '10:59:00', since the 'date' column does not support a time component... this seems to be consistent with GnuCash.

Definition at line 188 of file AccountRegisterModel.cpp.

References COL_DATE, GCW_DATE_DEFAULT_TIME, and GCW_DATE_FORMAT_DISPLAY.

◆ getDebit()

auto GCW::Eng::AccountRegisterModel::getDebit ( const Wt::WModelIndex &  _index) -> GCW_NUMERIC

Get Debit value.

Definition at line 262 of file AccountRegisterModel.cpp.

References COL_DEBIT.

◆ getDescription()

auto GCW::Eng::AccountRegisterModel::getDescription ( const Wt::WModelIndex &  _index) -> std::string

Get Description.

Definition at line 216 of file AccountRegisterModel.cpp.

References COL_DESCRIPTION.

◆ getNumeric()

auto GCW::Eng::AccountRegisterModel::getNumeric ( const Wt::WModelIndex &  _index) -> GCW_NUMERIC

Get numeric value.

This returns the numeric value of the line. This is suitable for querying either the debit or credit column values (and is really intended for internal use). The 'value' is pulled from the Display value of the index and converted to a GCW_NUMERIC value.

Definition at line 249 of file AccountRegisterModel.cpp.

References GCW::Gui::BillPay::asString(), and GCW_NUMERIC.

◆ getReconcile()

auto GCW::Eng::AccountRegisterModel::getReconcile ( const Wt::WModelIndex &  _index) -> std::string

Get Reconciliation.

Definition at line 241 of file AccountRegisterModel.cpp.

References COL_RECONCILE.

◆ getSplitGuid() [1/2]

auto GCW::Eng::AccountRegisterModel::getSplitGuid ( const Wt::WModelIndex &  _index) -> std::string

Get GUID from row.

This will retrieve the GUID value from the row.

Definition at line 295 of file AccountRegisterModel.cpp.

References GCW::Gui::BillPay::asString(), and COL_DATE.

◆ getSplitGuid() [2/2]

auto GCW::Eng::AccountRegisterModel::getSplitGuid ( int  _row) -> std::string

Definition at line 309 of file AccountRegisterModel.cpp.

References COL_DATE.

◆ getString()

auto GCW::Eng::AccountRegisterModel::getString ( const Wt::WModelIndex &  _index,
int  column 
) -> std::string
private

Definition at line 174 of file AccountRegisterModel.cpp.

References GCW::Gui::BillPay::asString().

◆ getTransferGuid()

auto GCW::Eng::AccountRegisterModel::getTransferGuid ( const Wt::WModelIndex &  _index) -> std::string

Get Transfer Account GUID.

Definition at line 232 of file AccountRegisterModel.cpp.

References GCW::Dbo::Accounts::byFullName(), and GCW::Dbo::Accounts::Field::guid.

◆ getTransferText()

auto GCW::Eng::AccountRegisterModel::getTransferText ( const Wt::WModelIndex &  _index) -> std::string

Get Transfer Account Text.

Definition at line 224 of file AccountRegisterModel.cpp.

References COL_TRANSFER.

◆ getValue()

auto GCW::Eng::AccountRegisterModel::getValue ( const Wt::WModelIndex &  _index) -> GCW_NUMERIC

Get Value (positive or negative)

The value that gets stored in the back-end database is either positive for debit, and negative for credit. This function will read-out the debit and credit columns in the register display and figure out if the returned value should be returned positive or negative corrected.

This function always positive for debit, and negative for credit values.

Definition at line 280 of file AccountRegisterModel.cpp.

References GCW_NUMERIC.

◆ goneDirty()

auto GCW::Eng::AccountRegisterModel::goneDirty ( ) -> Wt::Signal< Wt::WModelIndex > &
inline

Definition at line 186 of file AccountRegisterModel.h.

References m_goneDirty.

◆ isDeletable()

auto GCW::Eng::AccountRegisterModel::isDeletable ( const Wt::WModelIndex &  _index) -> bool

Is Read Only.

This returns .true. if the item can be deleted.

If this transaction split has no guid then it's a new row, and cannot be deleted

If this transaction split is reconciled, then it is considered not deletable

Definition at line 105 of file AccountRegisterModel.cpp.

References GCW::Dbo::Transactions::Manager::loadSplit(), and GCW::Dbo::Transactions::Manager::thisSplit().

◆ isEditable() [1/2]

auto GCW::Eng::AccountRegisterModel::isEditable ( const Wt::WModelIndex &  _index) -> bool

If this transaction split has no guid then it's a new row, and cannot be deleted

If this transaction split is reconciled, then it is considered not deletable

Definition at line 132 of file AccountRegisterModel.cpp.

References GCW::Dbo::Transactions::Manager::loadSplit(), and GCW::Dbo::Transactions::Manager::thisSplit().

◆ isEditable() [2/2]

auto GCW::Eng::AccountRegisterModel::isEditable ( int  _row) -> bool

Definition at line 159 of file AccountRegisterModel.cpp.

◆ makeRow()

auto GCW::Eng::AccountRegisterModel::makeRow ( const std::string &  _splitGuid) -> RowItem

Definition at line 1266 of file AccountRegisterModel.cpp.

◆ present()

auto GCW::Eng::AccountRegisterModel::present ( ) const -> GCW_NUMERIC
inline

Definition at line 166 of file AccountRegisterModel.h.

References m_present.

◆ projected()

auto GCW::Eng::AccountRegisterModel::projected ( ) const -> GCW_NUMERIC
inline

Definition at line 170 of file AccountRegisterModel.h.

References m_projected.

◆ reconciled()

auto GCW::Eng::AccountRegisterModel::reconciled ( ) const -> GCW_NUMERIC
inline

Definition at line 169 of file AccountRegisterModel.h.

References m_reconciled.

◆ refreshFromDisk()

auto GCW::Eng::AccountRegisterModel::refreshFromDisk ( ) -> void

Refresh From Disk.

This procedure reads from the gnucash storage source (either postgres or sqlite) and loads all of the transactions and their associated splits in to the model suitable for editing within an automatic table view.

Model Columns
col name notes
-----+---------------------+----------------------
0 date
1 num (check number)
3 account / transfer
4 reconciliation
5 debit
6 credit
7 balance r/o (computed)
const Wt::WFormModel::Field name
Definition: Accounts.cpp:47
const Wt::WFormModel::Field description
Definition: Accounts.cpp:54
const Wt::WFormModel::Field date
Definition: Entries.cpp:11
const Wt::WFormModel::Field notes
Definition: Definition.h:20

Before refreshing from disk, the entire contents of the model are cleared, so it is important to make sure anything to be saved from the model should be done first.

In order to produce a proper 'register' of items, it is important to load the data from the 'splits' side of the transaction rather than the transaction itself.

Note that when the splits are loaded based on the account ID, they are returned in a std::vector(sorted_by_date) that is sorted based on the transction date. This chosen sort method insures that the running balance can be accurately calculated on the fly, since each item is pulled from the vector in a sorted order, and the running balance is included in the model row. The user can sort the user interface later and still have the line-item-balance remain accurate.

Each item is processed from the vector in sequential order. In this process we grab the contents of the split, and generate a model item row containing all of the column values. Maintain a running balance as we go along to keep the balance reflected within the view. The result is a multi-column row item that is added to the model. This allows the model to be subsequently re-sorted or subset-extracted without affecting the running balances and so forth.

From the initial split item, we get a handle on the transaction, and then load all of the other splits associated with this transaction.

Note
The post_date column (col-0) also carries with it the guid of the split item itself, so that the originating split can be located from the table view. The guid can be accessed by;
Wt::WString splitRowGuid = Wt::asString( standardItem.data( Wt::ItemDataRole::User ) )
std::string asString(Status _status)
Get Status as String.
Definition: Status.cpp:7
See also
getSplitGuid

The 'num' column is a simple text-column.

The 'description' column is a simple text-column.

The 'account' text depends on the target account defined in the split. There are three possibilities here;

  1. no splits... this shows up as an 'imbalance' (this is an error condition)
  2. 1 split... this just shows the split account on the same single line
  3. >1 split... this is more than one target account, so just indicate 'split'
Imbalance
This is actually a problem... We don't have another split, and according to 'generally accepted accounting practices' we should! So, just plop an 'imbalance' indicator in the view. A style-class is also applied to the item to allow the rendering in the view to highlight this problem.
Normal Split
This is a straight and simple 1:1 split transaction, so we can pull the account name from the other side of the split and pop that in to the model directly.
Another Imbalance
This is another problem... We have another split, but the account we are split-to doesn't exist. This is a problem and should not happen and represents an error in the database. This means the account containing this guid nolonger exists. That should never happen.
Multi-Split
When we have more than one split then we cannot display all of the split accounts on just one line, so just pop a message that indicates that we're in a multisplit transaction.

The reconcile column is a simple text-column.

Balance Computation Notes

There are two 'types' of accounts; Debit/Credit. Gnucash stores split information as a single value that is positive or negative. If the value is positive, then it is posted to the debit (left) column. If the value is negative, it is posted to credit (right) column.

Depending on the account type (debit/credit), that value is then either 'added' or 'subtracted' from the account balance. If this is a 'credit' account, then the value is subtracted, and if it is a debit account, the value is added.

Therefore, if this is a credit account, such as a credit card, then a 'positive' value, posted to the debit column, would 'decrease' the balance in that account. Therefore, the value, being positive, is 'subtracted' from the running balance. If the value were negative, it would be posted to the credit column, and again would be 'subtracted' from the running balance, and a negative value being subtracted from a value causes the result to 'increase'.

If this is a debit account, such as a bank checking account, a 'positive' value, posted to the debit column (again), would 'increase' the balance in that account.

So, that's the funky GAAP math done here.

What follows is a pretty good explanation of the debit/credit stuff;

Debit/Credit is just Left/Right. Maybe this will help

The Accounting Equation:
Assets - Liabilities = Equity
let's make all terms 'positive'
Assets = Liabilities + Equity
now, we'll split off a subset of Equity
Assets = Liabilities + Equity + Retained Earnings
now, we'll substitute temporary accounts for Retained Earnings)
Assets = Liabilities + Equity + (Income - Expenses)
 (now, we'll once again, make all terms 'positive')
Assets + Expenses = Liabilities + Equity + Income

And there, you have the full Accounting Equation with the five major account types that GnuCash uses.

In double-entry accounting, ALL transactions are in the form of: Debit = Credit Left = Right

The 'Debit' accounts (those that are normally (positive) a Debit balance, and increase with a Debit, decrease with a Credit) are on the left of the equation: Assets Expenses

The 'Credit' accounts (those that are normally (positive) a Credit balance, and increase with a Credit, decrease with a Debit) are those on the right of the equation: Liabilities Equity Income

A negative balance in any account would indicate either an entry error or a contra-balance situation. (rare for individuals)

You can move funds from the left to the right, or vice versa, or between any accounts or types on the same side of the equation. (I will use the abbreviations Dr. and Cr. here) Most texts will write transactions Debit first, then Credit as shown below. The amounts are not shown, because they must be equal.

Example Left to Right - Asset to Liability (paying down a debt)
Dr. Liabilities:Loan
Cr. Assets:Cash
result: decreased Loan owed, decreased Cash on hand, Assets decreased, Liabilities decreased - equation still in balance
Example Right to Left - Income to Asset (receipt of income)
Dr. Assets:Cash
Cr. Income:Salary
result: increased Cash on hand, increased Salary earned, Assets increased, Income increased - equation still in balance
Example Left to Left(same type) - Asset to Asset (buying land outright)
Dr. Assets:Land
Cr. Assets:Cash
result: increased Land owned, decreased Cash on hand, Assets shifted - equation still in balance
Example Left to Left(different type) - Asset to Expense (buying groceries)
Dr. Expenses:Food
Cr. Assets:Cash
result: increased Food expense, decreased Cash on hand, Expenses increased, Assets decreased - equation still in balance
Example Right to Right(same type) - Liability to Liability (paying down a loan with a credit card)
Dr. Liabilities:Loan
Cr. Liabilities:Credit Card
result: decreased Loan owed, increased Credit Card owed, Liabilities shifted - equation still in balance
Example Right to Right(different type) - Equity to Liability (recognition of dividends to be paid - business transaction)
Dr. Equity:Retained Earnings
Cr. Liabilities:Dividends Payable
result: decreased Retained Earnings, increased Dividends owed to shareholders, Equity decreased, Liability increased - equation remains in balance.

*it is rare and unusual for an individual to shift Equity to Liabilities and vice versa. Forgiveness of Debt may in some jurisdictions be a transfer from Liabilities to Income.

Original Post
https://lists.gnucash.org/pipermail/gnucash-user/2023-October/109219.html
Accounting Basics
https://www.gnucash.org/docs/v5/C/gnucash-guide/basics-accounting1.html

Todo:
Add up the static running accumulators
Bug:
may not need to store GCW_NUMERIC on the AccountRegisterModel items. it is redundant and we're not using the values and updates from the delegates don't update these values.

Load everything blank (except for the memo)

After all the split items are loaded, an additional ~blank~ item is included at the end of the vector, for coding new entries.

poke all the header labels in. Note that some of the labels change depending on the account debit/credit type. We get those from the accountDef.

Bug:
Needs work this is modified a bit to allow for a default account def. this is necessary since it is possible to ask for an account register that is not (yet) associated to an account... this can happen in the BillPay module when setting up a new account for bill-pay functions. (kind of sloppy doing it here) The first item at(0) represents the default-register settings, suitable for any register view.

Definition at line 550 of file AccountRegisterModel.cpp.

References GCW::Dbo::Splits::byAccount(), GCW::Dbo::Accounts::byGuid(), GCW::Dbo::Splits::bySplit(), GCW::Dbo::Accounts::ACCOUNTDEF_S::colAccount, GCW::Dbo::Accounts::ACCOUNTDEF_S::colCr, GCW::Dbo::Accounts::ACCOUNTDEF_S::colDr, GCW::Dbo::Prefrences::CREDIT, GCW::Cfg::date_format(), GCW::Cfg::decimal_format(), GCW::Dbo::Accounts::Field::description, GCW::Dbo::Accounts::fullName(), GCW_NUMERIC, GCW::Dbo::Prefrences::get(), GCW::Dbo::Accounts::Field::guid, GCW::Dbo::Prefrences::INCOME_EXPENSE, GCW::Dbo::Accounts::Field::name, GCW::Dbo::Prefrences::NEGVAL_EXTRA, GCW::Dbo::Prefrences::NORMAL, GCW::Dbo::Accounts::s_accountDefs, GCW::Gui::BillPay::toString(), and TR.

Referenced by AccountRegisterModel().

◆ saveToDisk() [1/2]

auto GCW::Eng::AccountRegisterModel::saveToDisk ( ) -> void

Definition at line 166 of file AccountRegisterModel.cpp.

References FUNCTION_HEADER.

◆ saveToDisk() [2/2]

auto GCW::Eng::AccountRegisterModel::saveToDisk ( const Wt::WModelIndex &  _index) -> void
private

◆ setAccountGuid()

auto GCW::Eng::AccountRegisterModel::setAccountGuid ( const std::string &  _accountGuid) -> void

Definition at line 82 of file AccountRegisterModel.cpp.

◆ setData()

auto GCW::Eng::AccountRegisterModel::setData ( const Wt::WModelIndex &  _index,
const Wt::cpp17::any &  _value,
Wt::ItemDataRole  _role 
) -> bool

◆ setDoubleLine()

auto GCW::Eng::AccountRegisterModel::setDoubleLine ( bool  _doubleLine) -> void

Definition at line 98 of file AccountRegisterModel.cpp.

◆ setViewMode()

auto GCW::Eng::AccountRegisterModel::setViewMode ( ViewMode  _viewMode) -> void

Definition at line 91 of file AccountRegisterModel.cpp.

◆ suggestionsFromColumn()

auto GCW::Eng::AccountRegisterModel::suggestionsFromColumn ( int  _column) const -> std::set< std::string >

Column Suggestions.

This produces a unique-set of items that represent all the text-values for that particular column. This is used to produce a suggestion-box for the register.

Definition at line 1276 of file AccountRegisterModel.cpp.

References GCW::Gui::BillPay::asString().

◆ viewMode()

auto GCW::Eng::AccountRegisterModel::viewMode ( ) const -> ViewMode
inline

Definition at line 53 of file AccountRegisterModel.h.

References m_viewMode.

Member Data Documentation

◆ m_accountGuid

std::string GCW::Eng::AccountRegisterModel::m_accountGuid
private

Account GUID.

The model is associated with a single account.

Definition at line 255 of file AccountRegisterModel.h.

◆ m_cleared

GCW_NUMERIC GCW::Eng::AccountRegisterModel::m_cleared
private

Definition at line 266 of file AccountRegisterModel.h.

Referenced by cleared().

◆ m_doubleLine

bool GCW::Eng::AccountRegisterModel::m_doubleLine = false
private

Definition at line 247 of file AccountRegisterModel.h.

Referenced by doubleLine().

◆ m_editable

bool GCW::Eng::AccountRegisterModel::m_editable = false
private

Editable Indicator.

The model can be either R/W (read-write) or R/O (read-only).

Definition at line 244 of file AccountRegisterModel.h.

◆ m_future

GCW_NUMERIC GCW::Eng::AccountRegisterModel::m_future
private

Definition at line 265 of file AccountRegisterModel.h.

Referenced by future().

◆ m_goneDirty

Wt::Signal< Wt::WModelIndex > GCW::Eng::AccountRegisterModel::m_goneDirty
private

Definition at line 230 of file AccountRegisterModel.h.

Referenced by goneDirty().

◆ m_lastDate

std::string GCW::Eng::AccountRegisterModel::m_lastDate
private

Definition at line 262 of file AccountRegisterModel.h.

Referenced by AccountRegisterModel().

◆ m_present

GCW_NUMERIC GCW::Eng::AccountRegisterModel::m_present
private

Definition at line 264 of file AccountRegisterModel.h.

Referenced by present().

◆ m_projected

GCW_NUMERIC GCW::Eng::AccountRegisterModel::m_projected
private

Definition at line 268 of file AccountRegisterModel.h.

Referenced by projected().

◆ m_reconciled

GCW_NUMERIC GCW::Eng::AccountRegisterModel::m_reconciled
private

Definition at line 267 of file AccountRegisterModel.h.

Referenced by reconciled().

◆ m_viewMode

ViewMode GCW::Eng::AccountRegisterModel::m_viewMode = ViewMode::BASIC_LEDGER
private

Definition at line 246 of file AccountRegisterModel.h.

Referenced by viewMode().


The documentation for this class was generated from the following files: