GnuCashew ~ GnuCash Enabled Web
GCW
Public Member Functions | Private Attributes | List of all members
GCW::Dbo::Splits::Item Class Reference

Split Item Class. More...

#include <Splits.h>

+ Inheritance diagram for GCW::Dbo::Splits::Item:

Public Member Functions

 Item ()
 
 Item (const std::string &_splitGuid)
 
auto guid () const -> const std::string &
 
auto set_guid (const std::string &_guid) -> void
 
auto tx_guid () const -> const std::string &
 
auto set_tx_guid (const std::string &_guid) -> void
 
auto account_guid () const -> const std::string &
 
auto set_account_guid (const std::string &_guid) -> void
 
auto memo () const -> const std::string &
 
auto action () const -> const std::string &
 
auto set_action (const std::string &_value) -> void
 
auto reconcile_state () const -> const std::string &
 
auto set_reconcile_state (const std::string &_state) -> void
 
auto isReconciled () const -> bool
 
auto reconcile_date () const -> const std::string &
 
auto set_reconcile_date (const std::string &_date) -> void
 
auto value_num () const -> int
 
auto value_denom () const -> int
 
auto quantity_num () const -> int
 
auto quantity_denom () const -> int
 
auto lot_guid () const -> const std::string &
 
auto value (bool invert=false) const -> GCW_NUMERIC
 Return 'value' as a decimal.h number. More...
 
bool valueIsNegative () const
 Test for Negative. More...
 
std::string valueAsString (bool negate=false) const
 Return Value as a formatted String. More...
 
auto set_value (GCW_NUMERIC _value) -> void
 
GCW_NUMERIC quantity () const
 Return 'quantity' as a decimal.h number. More...
 
std::string quantityAsString () const
 
auto quantityIsNegative () const -> bool
 
auto set_quantity (GCW_NUMERIC _value) -> void
 
template<class Action >
void persist (Action &action)
 
- Public Member Functions inherited from GCW::Dbo::BaseItem< Item >
 BaseItem ()
 

Private Attributes

std::string m_guid
 
std::string m_tx_guid
 
std::string m_account_guid
 
std::string m_memo
 
std::string m_action
 
std::string m_reconcile_state = GCW_RECONCILE_NO
 
std::string m_reconcile_date
 
int m_value_num = 0
 
int m_value_denom = 0
 
int m_quantity_num = 0
 
int m_quantity_denom = 0
 
std::string m_lot_guid
 

Additional Inherited Members

- Public Types inherited from GCW::Dbo::BaseItem< Item >
using Ptr = Wt::Dbo::ptr< Item >
 
using Collection = Wt::Dbo::collection< Ptr >
 
using Vector = std::vector< Ptr >
 

Detailed Description

Split Item Class.

This class represents a 'split' within gnucash

CREATE TABLE splits
(
guid text(32) PRIMARY KEY NOT NULL,
tx_guid text(32) NOT NULL,
account_guid text(32) NOT NULL,
memo text(2048) NOT NULL,
action text(2048) NOT NULL,
reconcile_state text(1) NOT NULL,
reconcile_date text(19),
value_num bigint NOT NULL,
value_denom bigint NOT NULL,
quantity_num bigint NOT NULL,
quantity_denom bigint NOT NULL,
lot_guid text(32)
);
CREATE INDEX splits_tx_guid_index ON splits(tx_guid);
CREATE INDEX splits_account_guid_index ON splits(account_guid);
sqlite> select * from accounts;
822a857c5f484affa5a6a3e62f4b700f|Checking Account|BANK |10b24d11b4b94b8789d1830da2695bbb|100|0 |b61b07c024fc463489f5db031135a29e| |Checking Account|0|0
d934f2e5606c4da6b25c703c4661d747|Opening Balances|EQUITY |10b24d11b4b94b8789d1830da2695bbb|100|0 |745365afce5946b19d4189c593b9f6aa| |Opening Balances|0|0
sqlite> select * from transactions;
guid currency_guid num post_date enter_date description
4b2259ef3fbb486bad1b42f28ec84346|10b24d11b4b94b8789d1830da2695bbb| |2023-05-28 10:59:00|2023-05-28 21:46:09|
sqlite> select * from splits;
c68c279c3ef64d00ae682f5573bb55bc|4b2259ef3fbb486bad1b42f28ec84346|822a857c5f484affa5a6a3e62f4b700f| | |n |1970-01-01 00:00:00|100 |100 |100 |100 |
a67a975bc58a4fa1bd00421b37fed115|4b2259ef3fbb486bad1b42f28ec84346|d934f2e5606c4da6b25c703c4661d747| | |n |1970-01-01 00:00:00|-100 |100 |-100 |100 |
auto memo() const -> const std::string &
Definition: Splits.h:132
auto quantity_denom() const -> int
Definition: Splits.h:188
auto lot_guid() const -> const std::string &
Definition: Splits.h:193
auto value_num() const -> int
Definition: Splits.h:173
auto quantity_num() const -> int
Definition: Splits.h:183
auto guid() const -> const std::string &
Definition: Splits.h:102
auto account_guid() const -> const std::string &
Definition: Splits.h:122
auto value_denom() const -> int
Definition: Splits.h:178
auto action() const -> const std::string &
Definition: Splits.h:137
auto tx_guid() const -> const std::string &
Definition: Splits.h:112
auto reconcile_date() const -> const std::string &
Definition: Splits.h:163
auto reconcile_state() const -> const std::string &
Definition: Splits.h:148
const Wt::WFormModel::Field name
Definition: Accounts.cpp:47
const Wt::WFormModel::Field description
Definition: Accounts.cpp:54
const Wt::WFormModel::Field code
Definition: Accounts.cpp:53
const Wt::WFormModel::Field commodity_guid
Definition: Accounts.cpp:49
const Wt::WFormModel::Field parent_guid
Definition: Accounts.cpp:52
@ BANK
00 ~ bank institutionally held monies, can be interest bearing
@ EQUITY
10 ~ used to balance the balance sheet

Definition at line 90 of file Splits.h.

Constructor & Destructor Documentation

◆ Item() [1/2]

GCW::Dbo::Splits::Item::Item ( )
inline

Definition at line 95 of file Splits.h.

◆ Item() [2/2]

GCW::Dbo::Splits::Item::Item ( const std::string &  _splitGuid)
inline

Definition at line 97 of file Splits.h.

Member Function Documentation

◆ account_guid()

auto GCW::Dbo::Splits::Item::account_guid ( ) const -> const std::string &
inline

Account GUID

Definition at line 122 of file Splits.h.

References m_account_guid.

◆ action()

auto GCW::Dbo::Splits::Item::action ( ) const -> const std::string &
inline

Action field

Definition at line 137 of file Splits.h.

References m_action.

Referenced by persist().

◆ guid()

auto GCW::Dbo::Splits::Item::guid ( ) const -> const std::string &
inline

Split GUID

Definition at line 102 of file Splits.h.

References m_guid.

◆ isReconciled()

auto GCW::Dbo::Splits::Item::isReconciled ( ) const -> bool
inline

Return true/false if the split is reconciled or not

Definition at line 158 of file Splits.h.

References GCW_RECONCILE_YES, and m_reconcile_state.

◆ lot_guid()

auto GCW::Dbo::Splits::Item::lot_guid ( ) const -> const std::string &
inline

Lot GUID field

Definition at line 193 of file Splits.h.

References m_lot_guid.

◆ memo()

auto GCW::Dbo::Splits::Item::memo ( ) const -> const std::string &
inline

Memo field

Definition at line 132 of file Splits.h.

References m_memo.

◆ persist()

template<class Action >
void GCW::Dbo::Splits::Item::persist ( Action &  action)
inline

◆ quantity()

GCW_NUMERIC GCW::Dbo::Splits::Item::quantity ( ) const
inline

Return 'quantity' as a decimal.h number.

This converts the stored number in to a proper decimal<> number type. It can then be used in regular accounting calculations.

Definition at line 247 of file Splits.h.

References GCW_NUMERIC, quantity_denom(), and quantity_num().

Referenced by quantityAsString(), and quantityIsNegative().

◆ quantity_denom()

auto GCW::Dbo::Splits::Item::quantity_denom ( ) const -> int
inline

Quantity Denominator field

Definition at line 188 of file Splits.h.

References m_quantity_denom.

Referenced by quantity().

◆ quantity_num()

auto GCW::Dbo::Splits::Item::quantity_num ( ) const -> int
inline

Quantity Number field

Definition at line 183 of file Splits.h.

References m_quantity_num.

Referenced by quantity().

◆ quantityAsString()

std::string GCW::Dbo::Splits::Item::quantityAsString ( ) const
inline

Definition at line 254 of file Splits.h.

References GCW::Cfg::decimal_format(), quantity(), and GCW::Gui::BillPay::toString().

◆ quantityIsNegative()

auto GCW::Dbo::Splits::Item::quantityIsNegative ( ) const -> bool
inline

Definition at line 259 of file Splits.h.

References quantity().

◆ reconcile_date()

auto GCW::Dbo::Splits::Item::reconcile_date ( ) const -> const std::string &
inline

Reconcile Date field

Definition at line 163 of file Splits.h.

References m_reconcile_date.

◆ reconcile_state()

auto GCW::Dbo::Splits::Item::reconcile_state ( ) const -> const std::string &
inline

Reconcile State field

Definition at line 148 of file Splits.h.

References m_reconcile_state.

◆ set_account_guid()

auto GCW::Dbo::Splits::Item::set_account_guid ( const std::string &  _guid) -> void
inline

Set Account GUID

Definition at line 127 of file Splits.h.

References m_account_guid.

◆ set_action()

auto GCW::Dbo::Splits::Item::set_action ( const std::string &  _value) -> void
inline

Set Action

Definition at line 143 of file Splits.h.

References m_action.

◆ set_guid()

auto GCW::Dbo::Splits::Item::set_guid ( const std::string &  _guid) -> void
inline

Set Split GUID

Definition at line 107 of file Splits.h.

References m_guid.

◆ set_quantity()

auto GCW::Dbo::Splits::Item::set_quantity ( GCW_NUMERIC  _value) -> void

Definition at line 248 of file Splits.cpp.

◆ set_reconcile_date()

auto GCW::Dbo::Splits::Item::set_reconcile_date ( const std::string &  _date) -> void
inline

Set Reconcile Date field

Definition at line 168 of file Splits.h.

References m_reconcile_date.

◆ set_reconcile_state()

auto GCW::Dbo::Splits::Item::set_reconcile_state ( const std::string &  _state) -> void
inline

Set Reconcile State field

Definition at line 153 of file Splits.h.

References m_reconcile_state.

◆ set_tx_guid()

auto GCW::Dbo::Splits::Item::set_tx_guid ( const std::string &  _guid) -> void
inline

Set Transaction GUID

Definition at line 117 of file Splits.h.

References m_tx_guid.

◆ set_value()

auto GCW::Dbo::Splits::Item::set_value ( GCW_NUMERIC  _value) -> void

Definition at line 239 of file Splits.cpp.

◆ tx_guid()

auto GCW::Dbo::Splits::Item::tx_guid ( ) const -> const std::string &
inline

Transaction GUID

Definition at line 112 of file Splits.h.

References m_tx_guid.

◆ value()

auto GCW::Dbo::Splits::Item::value ( bool  invert = false) const -> GCW_NUMERIC
inline

Return 'value' as a decimal.h number.

This converts the stored number in to a proper decimal<> number type. It can then be used in regular accounting calculations. The inversion flag can be used to 'reset' the sign of the value for the purpose of displaying (otherwise negative) numbers with positive values only.

Definition at line 204 of file Splits.h.

References GCW_NUMERIC, value_denom(), and value_num().

Referenced by valueAsString(), and valueIsNegative().

◆ value_denom()

auto GCW::Dbo::Splits::Item::value_denom ( ) const -> int
inline

Value Denominator field

Definition at line 178 of file Splits.h.

References m_value_denom.

Referenced by value().

◆ value_num()

auto GCW::Dbo::Splits::Item::value_num ( ) const -> int
inline

Value Number field

Definition at line 173 of file Splits.h.

References m_value_num.

Referenced by value().

◆ valueAsString()

std::string GCW::Dbo::Splits::Item::valueAsString ( bool  negate = false) const
inline

Return Value as a formatted String.

This uses the decimal.h library to format the number as a std::string.

See also
GCW::Cfg::decimal_format()

Definition at line 233 of file Splits.h.

References GCW::Cfg::decimal_format(), GCW::Gui::BillPay::toString(), and value().

◆ valueIsNegative()

bool GCW::Dbo::Splits::Item::valueIsNegative ( ) const
inline

Test for Negative.

This returns 'true' if the number is considered less than zero.

Definition at line 219 of file Splits.h.

References value().

Member Data Documentation

◆ m_account_guid

std::string GCW::Dbo::Splits::Item::m_account_guid
private

Definition at line 287 of file Splits.h.

Referenced by account_guid(), persist(), and set_account_guid().

◆ m_action

std::string GCW::Dbo::Splits::Item::m_action
private

Definition at line 289 of file Splits.h.

Referenced by action(), persist(), and set_action().

◆ m_guid

std::string GCW::Dbo::Splits::Item::m_guid
private

Definition at line 285 of file Splits.h.

Referenced by guid(), persist(), and set_guid().

◆ m_lot_guid

std::string GCW::Dbo::Splits::Item::m_lot_guid
private

Definition at line 296 of file Splits.h.

Referenced by lot_guid(), and persist().

◆ m_memo

std::string GCW::Dbo::Splits::Item::m_memo
private

Definition at line 288 of file Splits.h.

Referenced by memo(), and persist().

◆ m_quantity_denom

int GCW::Dbo::Splits::Item::m_quantity_denom = 0
private

Definition at line 295 of file Splits.h.

Referenced by persist(), and quantity_denom().

◆ m_quantity_num

int GCW::Dbo::Splits::Item::m_quantity_num = 0
private

Definition at line 294 of file Splits.h.

Referenced by persist(), and quantity_num().

◆ m_reconcile_date

std::string GCW::Dbo::Splits::Item::m_reconcile_date
private

Definition at line 291 of file Splits.h.

Referenced by persist(), reconcile_date(), and set_reconcile_date().

◆ m_reconcile_state

std::string GCW::Dbo::Splits::Item::m_reconcile_state = GCW_RECONCILE_NO
private

Definition at line 290 of file Splits.h.

Referenced by isReconciled(), persist(), reconcile_state(), and set_reconcile_state().

◆ m_tx_guid

std::string GCW::Dbo::Splits::Item::m_tx_guid
private

Definition at line 286 of file Splits.h.

Referenced by persist(), set_tx_guid(), and tx_guid().

◆ m_value_denom

int GCW::Dbo::Splits::Item::m_value_denom = 0
private

Definition at line 293 of file Splits.h.

Referenced by persist(), and value_denom().

◆ m_value_num

int GCW::Dbo::Splits::Item::m_value_num = 0
private

Definition at line 292 of file Splits.h.

Referenced by persist(), and value_num().


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