COOPENOMICS  v1
Кооперативная Экономика
Файл accounts.hpp
#include <array>
#include <cstdint>
#include <string_view>

См. исходные тексты.

Классы

struct  ledger2_accounts
 План счетов ledger2 (MVP) со смещением *1000. Подробнее...
 
struct  Ledger2AccountMeta
 Справочник счёта: id → (имя, тип). Подробнее...
 

Пространства имен

namespace  ledger2_accounts_detail
 

Перечисления

enum class  AccountType : uint8_t { AccountType::ACTIVE = 0 , AccountType::PASSIVE = 1 , AccountType::ACTIVE_PASSIVE = 2 }
 Тип бухгалтерского счёта. Подробнее...
 

Функции

constexpr bool ledger2_accounts_detail::account_ids_unique ()
 
constexpr const Ledger2AccountMetaledger2_find_account_meta (uint64_t account_id)
 
std::string_view ledger2_get_account_name_by_id (uint64_t account_id)
 
constexpr AccountType ledger2_get_account_type_by_id (uint64_t account_id)
 

Переменные

constexpr std::array< Ledger2AccountMeta, 10 > LEDGER2_ACCOUNT_MAP
 Хардкод-справочник плана счетов (MVP, 10 записей). Подробнее...
 
static constexpr size_t LEDGER2_ACCOUNT_MAP_SIZE = LEDGER2_ACCOUNT_MAP.size()
 

Функции

◆ ledger2_find_account_meta()

constexpr const Ledger2AccountMeta * ledger2_find_account_meta ( uint64_t  account_id)
inlineconstexpr

◆ ledger2_get_account_name_by_id()

std::string_view ledger2_get_account_name_by_id ( uint64_t  account_id)
inline

◆ ledger2_get_account_type_by_id()

constexpr AccountType ledger2_get_account_type_by_id ( uint64_t  account_id)
inlineconstexpr

Переменные

◆ LEDGER2_ACCOUNT_MAP

constexpr std::array<Ledger2AccountMeta, 10> LEDGER2_ACCOUNT_MAP
inlineconstexpr
Инициализатор
= {{
{ ledger2_accounts::INTANGIBLE_ASSETS, "Нематериальные активы", AccountType::ACTIVE },
{ ledger2_accounts::NON_CURRENT_INVESTMENTS, "Вложения во внеоборотные активы", AccountType::ACTIVE },
{ ledger2_accounts::BANK_ACCOUNT, "Расчётный счёт", AccountType::ACTIVE },
{ ledger2_accounts::FINANCIAL_INVESTMENTS, "Финансовые вложения", AccountType::ACTIVE },
{ ledger2_accounts::PARTICIPANT_SETTLEMENTS, "Расчёты с пайщиками", AccountType::ACTIVE_PASSIVE },
{ ledger2_accounts::TAX_SETTLEMENTS, "Расчёты по налогам и сборам", AccountType::PASSIVE },
{ ledger2_accounts::SHARE_FUND, "Паевой фонд (складочный капитал)", AccountType::PASSIVE },
{ ledger2_accounts::TARGET_RECEIPTS, "Целевое финансирование", AccountType::PASSIVE },
{ ledger2_accounts::OTHER_INCOME_EXPENSES, "Прочие доходы и расходы", AccountType::ACTIVE_PASSIVE },
}}
static constexpr uint64_t TARGET_RECEIPTS
86 — Целевое финансирование (П)
Definition: accounts.hpp:83
static constexpr uint64_t FINANCIAL_INVESTMENTS
58 — Финансовые вложения (А)
Definition: accounts.hpp:75
static constexpr uint64_t INTANGIBLE_ASSETS
04 — Нематериальные активы (А)
Definition: accounts.hpp:71
static constexpr uint64_t PARTICIPANT_SETTLEMENTS
76 — Расчёты с пайщиками (А-П): суспенс регистрационного взноса до решения совета
Definition: accounts.hpp:78
static constexpr uint64_t TAX_SETTLEMENTS
68 — Расчёты по налогам и сборам (П): удержанный НДФЛ до перечисления в бюджет
Definition: accounts.hpp:81
static constexpr uint64_t OTHER_INCOME_EXPENSES
91 — Прочие доходы и расходы (А/П; транзит на выдаче и при утилизации скоропорта)
Definition: accounts.hpp:86
static constexpr uint64_t NON_CURRENT_INVESTMENTS
08 — Вложения во внеоборотные активы (А)
Definition: accounts.hpp:72
static constexpr uint64_t BANK_ACCOUNT
51 — Расчётный счёт (А)
Definition: accounts.hpp:74
static constexpr uint64_t MATERIALS
10 — Материалы (А; склад имущества на КУ, per-КУ субсчета)
Definition: accounts.hpp:73
static constexpr uint64_t SHARE_FUND
80 — Паевой фонд (П)
Definition: accounts.hpp:82

Хардкод-справочник плана счетов (MVP, 10 записей).

constexpr std::array + string_view — чтобы не было dynamic init при загрузке контракта и тип был полностью заморожен на этапе сборки.

◆ LEDGER2_ACCOUNT_MAP_SIZE

constexpr size_t LEDGER2_ACCOUNT_MAP_SIZE = LEDGER2_ACCOUNT_MAP.size()
staticconstexpr