COOPENOMICS  v1
Кооперативная Экономика

Бухгалтерский счёт ledger2 (двойная запись). Подробнее...

#include <table_ledger2_account.hpp>

Открытые члены

uint64_t primary_key () const
 
bool is_empty () const
 

Открытые статические члены

static eosio::asset compute_balance (uint8_t type, const eosio::asset &dr, const eosio::asset &cr)
 Пересчёт сальдо по обороту с учётом активности/пассивности счёта. Подробнее...
 

Открытые атрибуты

uint64_t id
 
std::string name
 
uint8_t account_type
 AccountType: 0=ACTIVE, 1=PASSIVE, 2=ACTIVE_PASSIVE. Подробнее...
 
eosio::asset debit_balance
 
eosio::asset credit_balance
 
eosio::asset balance
 Текущее сальдо счёта (с учётом типа) Подробнее...
 

Подробное описание

Бухгалтерский счёт ledger2 (двойная запись).

table: accounts (ledger2)

id — со смещением *1000: 51 → 51000, 80 → 80000, 86 → 86000.

account_type определяется планом счетов LEDGER2_ACCOUNT_MAP и сохраняется в записи при первой проводке. Формула сальдо — стандартная российская бухгалтерия:

  • 0 = ACTIVE → balance = debit_balance − credit_balance (актив растёт по дебету; положительное сальдо означает реальный остаток средств/имущества)
  • 1 = PASSIVE → balance = credit_balance − debit_balance (пассив растёт по кредиту; положительное сальдо означает реальный остаток капитала/обязательств)
  • 2 = ACTIVE_PASSIVE → balance = debit_balance − credit_balance (знаковая) > 0 → чистый актив (Dr преобладает), < 0 → чистый пассив (Cr преобладает). В MVP после удаления счёта 99 ACTIVE_PASSIVE фактически не используется, но тип сохранён для будущих случаев (любой счёт расчётов, способный менять знак).

Хранятся одновременно ОБОРОТЫ (debit_balance, credit_balance) и САЛЬДО (balance) — чтобы и сверка инварианта Σ Dr == Σ Cr была доступна, и текущее сальдо счёта читалось без вычислений на стороне читателя.

balance обновляется атомарно вместе с debit_balance / credit_balance в actions debit / credit контракта ledger2.

Методы

◆ compute_balance()

static eosio::asset account2::compute_balance ( uint8_t  type,
const eosio::asset &  dr,
const eosio::asset &  cr 
)
inlinestatic

Пересчёт сальдо по обороту с учётом активности/пассивности счёта.

Вызывается из actions debit/credit после изменения оборотов.

◆ is_empty()

bool account2::is_empty ( ) const
inline

◆ primary_key()

uint64_t account2::primary_key ( ) const
inline

Данные класса

◆ account_type

uint8_t account2::account_type

AccountType: 0=ACTIVE, 1=PASSIVE, 2=ACTIVE_PASSIVE.

◆ balance

eosio::asset account2::balance

Текущее сальдо счёта (с учётом типа)

◆ credit_balance

eosio::asset account2::credit_balance

◆ debit_balance

eosio::asset account2::debit_balance

◆ id

uint64_t account2::id

◆ name

std::string account2::name

Объявления и описания членов структуры находятся в файле: