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

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

Классы

struct  OperationRegistryEntry
 Описание одной именованной операции. Подробнее...
 
struct  OperationAdjustmentEntry
 
struct  ExpenseOperationSet
 

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

namespace  operations
 Реестр именованных операций ledger2 (operation registry).
 
namespace  operations::registrator
 
namespace  operations::wallet
 
namespace  operations::capital
 
namespace  operations::marketplace
 
namespace  operations::branch
 
namespace  operations::soviet
 
namespace  operations::expense
 
namespace  operations::migration
 
namespace  operations::adjustment
 
namespace  ledger2_registry_detail
 
namespace  ledger2_expense_sets_detail
 

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

enum class  WalletOp : uint8_t { ISSUE = 0 , TRANSFER = 1 , BURN = 4 , NONE = 5 }
 Элементарные операции по кошелькам (ADR-003). Подробнее...
 

Функции

constexpr bool ledger2_registry_detail::operation_codes_unique ()
 
constexpr bool ledger2_registry_detail::zero_accounts_iff_both ()
 
constexpr bool ledger2_registry_detail::dr_ne_cr_when_posting ()
 
constexpr bool ledger2_registry_detail::transfer_wallet_from_ne_to ()
 
constexpr bool ledger2_registry_detail::burn_pattern_correct ()
 
constexpr bool ledger2_registry_detail::none_pattern_correct ()
 
constexpr bool ledger2_registry_detail::accounts_exist_in_map ()
 
constexpr bool ledger2_registry_detail::wallets_exist_in_registry ()
 
const OperationRegistryEntry * find_operation (eosio::name operation_code)
 Линейный поиск записи реестра по operation_code. Подробнее...
 
constexpr const OperationAdjustmentEntry * find_adjustment (eosio::name operation_code)
 
constexpr const OperationRegistryEntry * ledger2_expense_sets_detail::find_op (eosio::name code)
 
constexpr bool ledger2_expense_sets_detail::source_wallets_unique ()
 
constexpr bool ledger2_expense_sets_detail::sets_consistent ()
 
const ExpenseOperationSet * find_expense_operation_set (eosio::name source_wallet)
 Поиск набора операций шасси расходов по кошельку-источнику. Подробнее...
 

Переменные

constexpr eosio::name operations::registrator::PAY_ENTRANCE = "o.reg.payent"_n
 Оплата вступительного взноса (Dr 51 / Cr 86, ISSUE ENTRANCE_FEES). Одношаговый путь adduser (без совета). Подробнее...
 
constexpr eosio::name operations::registrator::PUT_MINSHARE = "o.reg.putmin"_n
 Внесение минимального паевого при регистрации (Dr 51 / Cr 80, ISSUE MIN_SHARE_FUND). Одношаговый путь adduser (без совета). Подробнее...
 
constexpr eosio::name operations::registrator::RECEIVE_PAYMENT = "o.reg.inpay"_n
 Приём регистрационного взноса кассой в ожидание решения совета (Dr 51 / Cr 76, ISSUE REGISTRATION_PENDING). Подробнее...
 
constexpr eosio::name operations::registrator::SETTLE_MINSHARE = "o.reg.setmin"_n
 Зачисление минимального паевого по решению совета (Dr 76 / Cr 80, TRANSFER REGISTRATION_PENDING → MIN_SHARE_FUND). Подробнее...
 
constexpr eosio::name operations::registrator::SETTLE_ENTRANCE = "o.reg.setent"_n
 Зачисление вступительного по решению совета (Dr 76 / Cr 86, TRANSFER REGISTRATION_PENDING → ENTRANCE_FEES). Подробнее...
 
constexpr eosio::name operations::registrator::REFUND = "o.reg.refund"_n
 Возврат регистрационного взноса при отказе совета (Dr 76 / Cr 51, BURN REGISTRATION_PENDING — деньги уходят из системы банковским переводом кандидату). Подробнее...
 
constexpr eosio::name operations::registrator::MOVE_MINSHARE = "o.reg.mvmin"_n
 Перенос минимального паевого на главный паевой при выходе из кооператива (TRANSFER MIN_SHARE_FUND → SHARE_FUND_PAY, без Dr/Cr — оба кошелька на счёте 80). Готовит полный паевой к возврату. Подробнее...
 
constexpr eosio::name operations::wallet::COMPLETE_DEPOSIT = "o.wal.depcpl"_n
 Завершение внесения паевого взноса (Dr 51 / Cr 80, ISSUE SHARE_FUND_PAY). Подробнее...
 
constexpr eosio::name operations::wallet::COMPLETE_WITHDRAW = "o.wal.wthcpl"_n
 Завершение возврата паевого взноса (Dr 80 / Cr 51, BURN с WITHDRAW_PENDING — деньги уходят из системы, без wallet_to). Подробнее...
 
constexpr eosio::name operations::wallet::REQUEST_WITHDRAW = "o.wal.wthreq"_n
 Запрос на возврат паевого: TRANSFER SHARE_FUND_PAY → WITHDRAW_PENDING (резерв, без Dr/Cr). Подробнее...
 
constexpr eosio::name operations::wallet::DECLINE_WITHDRAW = "o.wal.wthdec"_n
 Отклонение запроса на возврат: TRANSFER WITHDRAW_PENDING → SHARE_FUND_PAY (снятие резерва, без Dr/Cr). Подробнее...
 
constexpr eosio::name operations::wallet::CONVERT_TO_MEMBER = "o.wal.conv"_n
 Конвертация цифрового рубля в универсальный членский кошелёк (Dr 80 / Cr 86, TRANSFER SHARE_FUND_PAY → CK_MEMBER). Conditional-шаг серии createorder в «Столе заказов». Подробнее...
 
constexpr eosio::name operations::capital::IMPORT = "o.cap.import"_n
 Оффлайн-импорт пайщика Благорост (Dr 04 / Cr 80, ISSUE BLAGOROST_FUND). Только РИД-имущество — деньги через INVEST. Подробнее...
 
constexpr eosio::name operations::capital::INVEST = "o.cap.invest"_n
 Инвестиция в ЦПП Благорост (TRANSFER SHARE_FUND_PAY → BLAGOROST_FUND, без Dr/Cr). Подробнее...
 
constexpr eosio::name operations::capital::COMMIT_RID = "o.cap.commit"_n
 Коммит РИД (Dr 08 / Cr 80, ISSUE GENERATOR_FUND). Подробнее...
 
constexpr eosio::name operations::capital::ACCEPT_RID = "o.cap.accept"_n
 Приём РИД в НМА (Dr 04 / Cr 08, NONE — только бухпроводка, кошелёк остаётся на GENERATOR_FUND до конвертации сегмента). Подробнее...
 
constexpr eosio::name operations::capital::ACCEPT_PROPERTY = "o.cap.actprp"_n
 Акт-2 имущественный паевой взнос (Dr 04 / Cr 80, ISSUE BLAGOROST_FUND). Подробнее...
 
constexpr eosio::name operations::capital::PREIMP = "o.cap.preimp"_n
 Первичный учёт РИД-взноса до перехода на электронный учёт (Dr 04 / Cr 80, ISSUE PREIMP_FUND). Подробнее...
 
constexpr eosio::name operations::capital::DROP_PREIMP = "o.cap.drppre"_n
 Закрытие пред-импорт-учёта при переходе на электронный учёт (Dr 80 / Cr 04, BURN PREIMP_FUND). Вызывается из capital::importcontr перед o.cap.import. Подробнее...
 
constexpr eosio::name operations::capital::LEND = "o.cap.lend"_n
 Выдача беспроцентного займа пайщику (Dr 58 / Cr 51, ISSUE LOAN_ISSUED). Подробнее...
 
constexpr eosio::name operations::capital::REPAY = "o.cap.repay"_n
 Возврат займа пайщика по акту-2 (Dr 80 / Cr 58, TRANSFER LOAN_ISSUED → SHARE_FUND_PAY). Подробнее...
 
constexpr eosio::name operations::capital::WITHDRAW_FROM_CAPITAL = "o.cap.wthcap"_n
 Возврат паевого из ЦПП «Благорост» в кошелёк пайщика (TRANSFER BLAGOROST_FUND → SHARE_FUND_PAY, без Dr/Cr). Подробнее...
 
constexpr eosio::name operations::capital::CONVERT_TO_SHARE = "o.cap.cnvshr"_n
 Конвертация сегмента: РИД → главный кошелёк (TRANSFER GENERATOR_FUND → SHARE_FUND_PAY, без Dr/Cr — бухпроводка уже была сделана в ACCEPT_RID). Подробнее...
 
constexpr eosio::name operations::capital::CONVERT_TO_BLAGO = "o.cap.cnvbl"_n
 Конвертация сегмента: РИД → ЦПП «Благорост» (TRANSFER GENERATOR_FUND → BLAGOROST_FUND, без Dr/Cr — бухпроводка уже была сделана в ACCEPT_RID). Подробнее...
 
constexpr eosio::name operations::capital::PROGRAM_EXPENSE_TOPUP = "o.cap.pgtop"_n
 Пополнение пула программных расходов из инвестиций программы (ISSUE PROGRAM_EXPENSE_POOL, без Dr/Cr — деньги уже на 51, выделяется кооперативный резерв под расходы; паевые L3-кошельки пайщиков не трогаются). Подробнее...
 
constexpr eosio::name operations::marketplace::CONVERT_TO_MEMBER = "o.mkt.conv"_n
 Перевод паевого взноса в членский кошелёк программы по заявлению 1110 отдельным действием convert до заказа (TRANSFER w.wal.share → w.mkt.member, Dr 80 / Cr 86). Сумма — недостающая до взноса участка часть: остаток w.mkt.member используется автоматически. Подробнее...
 
constexpr eosio::name operations::marketplace::LOCK_ORDER = "o.mkt.lock"_n
 Паевой резерв под конкретный Order (TRANSFER w.wal.share → w.mkt.order, без Dr/Cr — оба кошелька на 80). Единственный обязательный шаг ledger2 при createorder. Подробнее...
 
constexpr eosio::name operations::marketplace::LOCK_FROM_SHARE = "o.mkt.lockp"_n
 Паевой резерв из свободного паевого «Стола заказов» (TRANSFER w.mkt.share → w.mkt.order, без Dr/Cr — оба на 80). Тело любого заказа и доплата по факту берутся отсюда в первую очередь (сюда возвращаются паевые средства при отменах, недовыдачах и гарантийных возвратах), остаток — LOCK_ORDER с w.wal.share. Подробнее...
 
constexpr eosio::name operations::marketplace::UNLOCK_ORDER = "o.mkt.unlock"_n
 Возврат резерва при отмене Order'а или недовыдаче (TRANSFER w.mkt.order → w.mkt.share, без Dr/Cr — оба на 80). Средства остаются паевыми и остаются в программе: идут на тело следующих заказов (LOCK_FROM_SHARE); в общий паевой не выводятся, RECALL_SHARE — только при выходе из кооператива. Подробнее...
 
constexpr eosio::name operations::marketplace::PURCHASE_FROM_SUPPLIER = "o.mkt.purch"_n
 Приёмка имущества кооперативом по АПП приёмки (Dr 10 / Cr 76, ISSUE ∅ → w.mkt.topay по поставщику; имущество — аналитика по 10). Обязательство перед поставщиком на счёте расчётов с разными дебиторами и кредиторами (решение владельца 08.09.2026: 76 вместо 60) и сумма к оплате на кошельке поставщика (задача 99D-16). Подробнее...
 
constexpr eosio::name operations::marketplace::PAY_SUPPLIER = "o.mkt.payout"_n
 Оплата поставщику с расчётного счёта по подтверждению кассира (Dr 76 / Cr 51, BURN с w.mkt.topay). Гасит обязательство, открытое PURCHASE_FROM_SUPPLIER. Подробнее...
 
constexpr eosio::name operations::marketplace::OFFSET_PAYABLE = "o.mkt.offset"_n
 Зачёт удержанного гарантийного долга против суммы к оплате поставщику (BURN с w.mkt.topay, без проводки). Парная к DEDUCT_DEBT на ту же сумму в той же транзакции payout: долг поставщика и обязательство перед ним уменьшаются вместе (задача 99D-16). Подробнее...
 
constexpr eosio::name operations::marketplace::CONSUME_BY_MEMBER = "o.mkt.consum"_n
 Возврат паевого взноса имуществом по акту выдачи (BURN с w.mkt.order, Dr 80 / Cr 10 — паевой фонд уменьшается на стоимость переданного имущества по протоколу совета). Ставится только закрывающей подписью председателя участка (issueact2). Подробнее...
 
constexpr eosio::name operations::marketplace::RETURN_BY_MEMBER = "o.mkt.return"_n
 Отмена сделки по гарантийному возврату по решению совета — compensating forward к CONSUME_BY_MEMBER (ISSUE ∅ → w.mkt.share, Dr 10 / Cr 80 — восстановление паевого на свободном паевом «Стола заказов» и возврат имущества на склад). Реверты ledger2::revert в Столе заказов не используются. Подробнее...
 
constexpr eosio::name operations::marketplace::WRITE_OFF_PERISHABLE = "o.mkt.wroff"_n
 Утилизация скоропорта со склада (NONE Dr 91 / Cr 10). По протоколу совета. Порча запаса выбывает в прочие расходы тем же путём, что уценка (решение владельца 10.09.2026, задача 99D-15): счёт 86 двигают только операции с кошельками, а закрытие 91 — отдельное решение. Подробнее...
 
constexpr eosio::name operations::marketplace::MARKDOWN_LOSS = "o.mkt.loss"_n
 Уценка при выдаче из остатка кооператива (NONE Dr 91 / Cr 10): разница между ценой прибытия и фактической ценой выдачи выбывает со склада в прочие расходы. Вместе с o.mkt.consum даёт выбытие по полной стоимости прибытия — на счёте 10 ничего не зависает. Подробнее...
 
constexpr eosio::name operations::marketplace::MEMBERSHIP_FEE_LOCK = "o.mkt.fee"_n
 Членский взнос кооперативного участка под заказ из членского кошелька программы (TRANSFER w.mkt.member → w.mkt.fee, без Dr/Cr — оба на 86). createorder, stockorder и довзнос по факту на issueact2; взнос считается от единой ставки кооператива и фиксируется явным полем Order.membership_fee. Подробнее...
 
constexpr eosio::name operations::marketplace::MEMBERSHIP_FEE_REFUND = "o.mkt.refund"_n
 Сторно неиспользованной части членского взноса участка на членский кошелёк программы (TRANSFER w.mkt.fee → w.mkt.member, без Dr/Cr — оба на 86). Отмена — полностью, недовыдача — пропорционально факту, гарантийный возврат — доля за возвращённое; членский остаётся членским и идёт в зачёт следующего заказа. Подробнее...
 
constexpr eosio::name operations::marketplace::REFUSAL_PENALTY = "o.mkt.penal"_n
 Удержание 50% при отказе пайщика от получения после акцепта поставщиком (TRANSFER w.mkt.order → w.mkt.fee, Dr 80 / Cr 86 — паевой становится членским взносом участка; основание в положении о ЦПП — TBD-Standardization). Транзит через пул взносов: далее единым o.brn.common уходит в общий кошелёк КУ. Имущество остаётся на складе КУ; вторая половина возвращается пайщику (o.mkt.unlock + o.mkt.refund). Подробнее...
 
constexpr eosio::name operations::marketplace::RECALL_SHARE = "o.mkt.recall"_n
 Консолидация свободного паевого «Стола заказов» в общий паевой Цифрового кошелька при выходе пайщика из кооператива (TRANSFER w.mkt.share → w.wal.share, без Dr/Cr — оба на 80); зовёт registrator (exit_helpers). Подробнее...
 
constexpr eosio::name operations::marketplace::EXIT_FEE_TO_POOL = "o.mkt.exfee"_n
 Остаток членского кошелька программы при выходе пайщика из кооператива (TRANSFER w.mkt.member → w.mkt.fee, без Dr/Cr — оба на 86): членский взнос не возвращается и в паевой не транслируется (решение владельца 10.09.2026, задача 99D-15). Транзит: той же транзакцией o.brn.common зачисляет его в общий кошелёк участка, к которому прикреплён пайщик; без участка остаётся в пуле (задача 99D-16). Зовёт registrator, когда выход состоялся (completexit, confirmexit без выплаты). Подробнее...
 
constexpr eosio::name operations::marketplace::CLAIM_SUPPLIER = "o.mkt.claim"_n
 Гарантийная претензия поставщику выставлена по решению совета об отмене сделки (ISSUE ∅ → w.mkt.claim по поставщику, без проводки — до признания претензия не актив). По умолчанию поставщик не согласен: сумма остаётся здесь как основание для иска. Сумма — стоимость возвращённого имущества. Подробнее...
 
constexpr eosio::name operations::marketplace::ADMIT_CLAIM = "o.mkt.admit"_n
 Поставщик признал претензию: TRANSFER w.mkt.claim → w.mkt.debt, Dr 76 / Cr 91 — дебиторка поставщика признана прочим доходом; далее гасится удержанием из выплат. Подробнее...
 
constexpr eosio::name operations::marketplace::DEDUCT_DEBT = "o.mkt.deduct"_n
 Удержание признанного гарантийного долга из выплаты поставщику (BURN с w.mkt.debt, без проводки: обязательство перед поставщиком и его дебиторка на одном счёте 76 сворачиваются). Идёт в нитке заказа при инициации выплаты (payout) вместе с OFFSET_PAYABLE на ту же сумму. Подробнее...
 
constexpr eosio::name operations::branch::DISTRIBUTE_PERSONAL = "o.brn.person"_n
 Распределение доверенному/председателю КУ при ручном распределении председателем (TRANSFER w.brn.pool → w.brn.person, без Dr/Cr — внутри 86). Доля = вес/Σвесов из реестра весов branch::weights; вторая нога двухходовки после o.brn.release. Подробнее...
 
constexpr eosio::name operations::branch::DISTRIBUTE_COMMON = "o.brn.common"_n
 Зачисление 100% членского взноса в общий кошелёк КУ при финализации заказа (TRANSFER w.mkt.fee → w.brn.common, без Dr/Cr — внутри 86; username = braname КУ). Вызывается branch::accrue инлайн от контракта-источника. Подробнее...
 
constexpr eosio::name operations::branch::RETURN_FEE_FROM_COMMON = "o.brn.retfee"_n
 Возврат членского взноса из общего кошелька КУ при гарантийном возврате имущества (TRANSFER w.brn.common → w.mkt.fee, без Dr/Cr — внутри 86; username = braname КУ). Точная инверсия DISTRIBUTE_COMMON: взнос идёт обратно тем же путём, каким пришёл. Первая нога двухходовки возврата — вторая (w.mkt.fee → w.mkt.member заказчика, без Dr/Cr — оба на 86) выполняется существующей MEMBERSHIP_FEE_REFUND. Прямой TRANSFER w.brn.common[braname] → w.mkt.member[пайщик] невозможен: walletop держит один username на обе стороны, поэтому транзит через COOPERATIVE-пул w.mkt.fee (тот же приём, что в REFUSAL_PENALTY и RELEASE_FROM_COMMON). Вызывается branch::retfee инлайн от контракта-источника. Подробнее...
 
constexpr eosio::name operations::branch::RELEASE_FROM_COMMON = "o.brn.release"_n
 Изъятие из общего кошелька КУ в транзитный пул ручного распределения (TRANSFER w.brn.common → w.brn.pool, без Dr/Cr — внутри 86; username = braname). Первая нога двухходовки распределения: один username на операцию — поэтому common→person идёт через COOPERATIVE-транзит w.brn.pool. Подробнее...
 
constexpr eosio::name operations::branch::SPEND_COMMON = "o.brn.spend"_n
 Прямая оплата расхода кооперативного участка по реквизитам получателя (BURN с w.brn.expns, Dr 86 / Cr 51 — выплата с расчётного счёта после подтверждения кассиром). Роль direct в наборе шасси расходов для КУ; средства попадают в пул расходов при создании служебной записки (o.brn.expfnd). Подробнее...
 
constexpr eosio::name operations::branch::EXPENSE_FUND = "o.brn.expfnd"_n
 Выделение средств участка под расход (TRANSFER w.brn.common → w.brn.expns, без Dr/Cr — внутри 86; username = braname). Выполняется при создании служебной записки: сумма расхода уходит из общего кошелька в пул расходов и перестаёт быть доступной распределению. Подробнее...
 
constexpr eosio::name operations::branch::EXPENSE_UNFUND = "o.brn.expunf"_n
 Возврат неизрасходованных средств из пула расходов в общий кошелёк участка (TRANSFER w.brn.expns → w.brn.common, без Dr/Cr — внутри 86; username = braname). Инверсия o.brn.expfnd: совет отклонил расход либо расход закрыт на сумму меньше запланированной. Подробнее...
 
constexpr eosio::name operations::branch::EXPENSE_ADVANCE = "o.brn.expadv"_n
 Выдача аванса под отчёт по расходу участка (TRANSFER w.brn.expns → w.exp.adv, Dr 86 / Cr 51 — деньги ушли с расчётного счёта получателю; username = получатель аванса). Роль advance в наборе шасси расходов для КУ. Подробнее...
 
constexpr eosio::name operations::branch::EXPENSE_REPORT = "o.brn.exprpt"_n
 Закрытие подотчёта по расходу участка отчётом с чеками (BURN с w.exp.adv, без Dr/Cr — проводка Dr 86 / Cr 51 уже сделана при выдаче аванса). Роль report в наборе шасси расходов для КУ. Подробнее...
 
constexpr eosio::name operations::branch::EXPENSE_RETURN = "o.brn.expret"_n
 Возврат неиспользованного аванса под отчёт в пул расходов участка (TRANSFER w.exp.adv → w.brn.expns, Dr 51 / Cr 86 — деньги вернулись на расчётный счёт). Роль refund в наборе шасси расходов для КУ. Подробнее...
 
constexpr eosio::name operations::branch::EXPENSE_OVERSPEND = "o.brn.expovr"_n
 Доплата сверх выданного аванса по расходу участка (TRANSFER w.brn.expns → w.exp.adv, Dr 86 / Cr 51). Роль overspend в наборе шасси расходов для КУ; сразу за ней шасси закрывает подотчёт отчётом. Подробнее...
 
constexpr eosio::name operations::branch::FINANCIAL_AID = "o.brn.aid"_n
 Материальная помощь доверенному КУ, сумма К ВЫПЛАТЕ за вычетом налога (BURN с w.brn.person, Dr 86 / Cr 51 — выплата с расчётного счёта по заявлению, после подтверждения кассиром). Парная операция удержания — FINANCIAL_AID_TAX, применяется той же транзакцией. Подробнее...
 
constexpr eosio::name operations::branch::FINANCIAL_AID_TAX = "o.brn.aidtax"_n
 Удержание НДФЛ из материальной помощи (TRANSFER w.brn.person → w.sov.ndfl, Dr 86 / Cr 68). Кооператив — налоговый агент: с кошелька получателя списывается вся сумма заявления, на руки уходит остаток. Деньги при этом с расчётного счёта не уходят — обязательство висит на 68 до платежа в бюджет (TAX_PAYMENT). Подробнее...
 
constexpr eosio::name operations::soviet::CONVERT_AXN = "o.sov.axncnv"_n
 Трансляция паевого взноса в членский (Dr 80 / Cr 86, TRANSFER SHARE_FUND_PAY → DELEGATE_FEES). Подробнее...
 
constexpr eosio::name operations::soviet::TAX_PAYMENT = "o.sov.taxpay"_n
 Перечисление удержанного НДФЛ в бюджет единым налоговым платежом (BURN с w.sov.ndfl, Dr 68 / Cr 51). Инициирует бухгалтер, подтверждает кассир; сумма не может превышать остаток кошелька — перечислить больше удержанного налоговый агент не вправе. Префикс кооперативный, а не программы-источника: в один кошелёк стекаются удержания любой программы, выплатившей доход физлицу. Подробнее...
 
constexpr eosio::name operations::expense::BLAGO_ADVANCE = "o.exp.blgadv"_n
 Выдача подотчётных из пула расходов (TRANSFER PROGRAM_EXPENSE_POOL → ADVANCE_HOLD, Dr 08 / Cr 51). Подробнее...
 
constexpr eosio::name operations::expense::BLAGO_DIRECT = "o.exp.blgdir"_n
 Прямая оплата из пула расходов (BURN PROGRAM_EXPENSE_POOL, Dr 08 / Cr 51). Подробнее...
 
constexpr eosio::name operations::expense::ADVANCE_REPORT = "o.exp.advrpt"_n
 Закрытие подотчёта пайщика (BURN ADVANCE_HOLD, без бухпроводки — canal 08/51 уже сделан на blgadv). Подробнее...
 
constexpr eosio::name operations::expense::ADVANCE_RETURN = "o.exp.advret"_n
 Возврат неиспользованного подотчёта (TRANSFER ADVANCE_HOLD → PROGRAM_EXPENSE_POOL, Dr 51 / Cr 08). Подробнее...
 
constexpr eosio::name operations::expense::OVERSPEND = "o.exp.over"_n
 Доплата сверх подотчёта (TRANSFER PROGRAM_EXPENSE_POOL → ADVANCE_HOLD, Dr 08 / Cr 51); сразу за ней expense вызывает ADVANCE_REPORT. Подробнее...
 
constexpr eosio::name operations::migration::MIN_SHARE = "o.mig.minshr"_n
 Перенос: минимальный паевой взнос (Dr 51 / Cr 80, ISSUE MIN_SHARE_FUND). Подробнее...
 
constexpr eosio::name operations::migration::SHARE = "o.mig.share"_n
 Перенос: остаток паевых деньгами (Dr 51 / Cr 80, ISSUE SHARE_FUND_PAY). Подробнее...
 
constexpr eosio::name operations::migration::ENTRY = "o.mig.entry"_n
 Перенос: вступительные (Dr 51 / Cr 86, ISSUE ENTRANCE_FEES). Подробнее...
 
constexpr eosio::name operations::migration::SUPPLIER_PAYABLE = "o.mig.topay"_n
 Перенос открытых обязательств перед поставщиками на кошелёк к оплате (ISSUE w.mkt.topay, без Dr/Cr — Кт 76 уже проведён приёмкой). Разовый, из marketplace::migrate (задача 99D-16). Подробнее...
 
constexpr eosio::name operations::adjustment::WALMOVE = "o.adj.walmove"_n
 Перевод между кошельками внутри одного бух.счёта (без Dr/Cr). Подробнее...
 
constexpr eosio::name operations::adjustment::REVERSAL = "o.adj.rev"_n
 Откат операции: зеркальная проводка по operation_id. Подробнее...
 
static constexpr OperationRegistryEntry OPERATION_REGISTRY []
 Хардкод-реестр именованных операций. Подробнее...
 
static constexpr size_t OPERATION_REGISTRY_SIZE = sizeof(OPERATION_REGISTRY) / sizeof(OPERATION_REGISTRY[0])
 
constexpr std::array< OperationAdjustmentEntry, 2 > OPERATION_ADJUSTMENT_REGISTRY
 
static constexpr ExpenseOperationSet EXPENSE_OPERATION_SETS []
 
static constexpr size_t EXPENSE_OPERATION_SETS_SIZE
 

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

◆ WalletOp

enum class WalletOp : uint8_t
strong

Элементарные операции по кошелькам (ADR-003).

Семантика «без бухпроводок» — НЕ через отдельный walletop, а через пару (debit_account_id == 0, credit_account_id == 0) на уровне записи реестра. Compile-time правило (debit==0) ⇔ (credit==0) ловит смешанные пары.

Элементы перечислений
ISSUE 

первичный вход средств на кошелёк wallet_to (wallet_from = empty)

TRANSFER 

перемещение wallet_from → wallet_to (с Dr/Cr ИЛИ без — по парам account_id)

BURN 

изъятие amount с wallet_from->available, без wallet_to. Покрывает оба кейса: (a) штатное сжигание как бизнес-операция в OPERATION_REGISTRY; (b) зеркало ISSUE при ledger2::revert (различие — через operation_code: o.adj.rev для adjustment-mirror).

NONE 

только бухпроводка без перемещения средств (wallet_from = empty, wallet_to = empty, debit ≠ 0, credit ≠ 0). Покрывает кейсы внутрибалансовых проводок типа Dr 04 / Cr 08 (приём РИД в НМА), когда кошелёк уже на нужном программном фонде.

Функции

◆ find_adjustment()

constexpr const OperationAdjustmentEntry * find_adjustment ( eosio::name  operation_code)
inlineconstexpr

◆ find_expense_operation_set()

const ExpenseOperationSet * find_expense_operation_set ( eosio::name  source_wallet)
inline

Поиск набора операций шасси расходов по кошельку-источнику.

◆ find_operation()

const OperationRegistryEntry * find_operation ( eosio::name  operation_code)
inline

Линейный поиск записи реестра по operation_code.

Переменные

◆ EXPENSE_OPERATION_SETS

constexpr ExpenseOperationSet EXPENSE_OPERATION_SETS[]
staticconstexpr
Инициализатор
= {
}
constexpr eosio::name EXPENSE_RETURN
Возврат неиспользованного аванса под отчёт в пул расходов участка (TRANSFER w.exp....
Definition: operations.hpp:131
constexpr eosio::name SPEND_COMMON
Прямая оплата расхода кооперативного участка по реквизитам получателя (BURN с w.brn....
Definition: operations.hpp:126
constexpr eosio::name EXPENSE_ADVANCE
Выдача аванса под отчёт по расходу участка (TRANSFER w.brn.expns → w.exp.adv, Dr 86 / Cr 51 — деньги ...
Definition: operations.hpp:129
constexpr eosio::name EXPENSE_OVERSPEND
Доплата сверх выданного аванса по расходу участка (TRANSFER w.brn.expns → w.exp.adv,...
Definition: operations.hpp:132
constexpr eosio::name EXPENSE_REPORT
Закрытие подотчёта по расходу участка отчётом с чеками (BURN с w.exp.adv, без Dr/Cr — проводка Dr 86 ...
Definition: operations.hpp:130
constexpr eosio::name ADVANCE_REPORT
Закрытие подотчёта пайщика (BURN ADVANCE_HOLD, без бухпроводки — canal 08/51 уже сделан на blgadv).
Definition: operations.hpp:159
constexpr eosio::name OVERSPEND
Доплата сверх подотчёта (TRANSFER PROGRAM_EXPENSE_POOL → ADVANCE_HOLD, Dr 08 / Cr 51); сразу за ней e...
Definition: operations.hpp:161
constexpr eosio::name BLAGO_DIRECT
Прямая оплата из пула расходов (BURN PROGRAM_EXPENSE_POOL, Dr 08 / Cr 51).
Definition: operations.hpp:158
constexpr eosio::name BLAGO_ADVANCE
Выдача подотчётных из пула расходов (TRANSFER PROGRAM_EXPENSE_POOL → ADVANCE_HOLD,...
Definition: operations.hpp:157
constexpr eosio::name ADVANCE_RETURN
Возврат неиспользованного подотчёта (TRANSFER ADVANCE_HOLD → PROGRAM_EXPENSE_POOL,...
Definition: operations.hpp:160
static constexpr eosio::name PROGRAM_EXPENSE_POOL
Пул программных расходов ЦПП «Благорост» (COOPERATIVE) — кооперативный кошелёк, из которого шасси exp...
Definition: wallets.hpp:70
static constexpr eosio::name BRANCH_EXPENSE_POOL
Пул расходов кооперативного участка (COOPERATIVE) — источник средств шасси расходов для КУ....
Definition: wallets.hpp:86

◆ EXPENSE_OPERATION_SETS_SIZE

constexpr size_t EXPENSE_OPERATION_SETS_SIZE
staticconstexpr
Инициализатор
=
static constexpr ExpenseOperationSet EXPENSE_OPERATION_SETS[]
Definition: operations.hpp:974

◆ OPERATION_ADJUSTMENT_REGISTRY

constexpr std::array<OperationAdjustmentEntry, 2> OPERATION_ADJUSTMENT_REGISTRY
inlineconstexpr
Инициализатор
= {{
{ operations::adjustment::WALMOVE, processes::adjustment::CORRECTION, "Перевод между кошельками" },
}}
constexpr eosio::name REVERSAL
Откат операции: зеркальная проводка по operation_id.
Definition: operations.hpp:189
constexpr eosio::name WALMOVE
Перевод между кошельками внутри одного бух.счёта (без Dr/Cr).
Definition: operations.hpp:188
constexpr eosio::name CORRECTION
Ручная корректировка председателя (перевод между кошельками или откат операции).
Definition: processes.hpp:111

◆ OPERATION_REGISTRY

constexpr OperationRegistryEntry OPERATION_REGISTRY[]
staticconstexpr

Хардкод-реестр именованных операций.

Порядок записей не важен (линейный поиск в ledger2::apply).

◆ OPERATION_REGISTRY_SIZE

constexpr size_t OPERATION_REGISTRY_SIZE = sizeof(OPERATION_REGISTRY) / sizeof(OPERATION_REGISTRY[0])
staticconstexpr