Процесс приёма паевого взноса результатом интеллектуальной деятельности после завершения проекта. Включает фиксацию долей участников и финальную конвертацию сегмента (распределение между ЦК и ЦПП «Благорост»). Анкер процесса — result_hash.
- Заметки
- КРИТИЧЕСКИ ВАЖНО: Этот процесс НЕ применяется к чистым инвесторам. Чистые инвесторы (только роль is_investor) уже внесли свой вклад при инвестировании. Они НЕ проходят через pushrslt/convertsegm — для них работает purgesegment (очистка сегмента без конвертации, см. отдельный процесс). Участники со смешанными ролями (инвестор + создатель/автор/координатор) вносят результат только по интеллектуальной части, инвестиционная часть исключается.
Диаграмма процесса
- Заметки
- Чистые инвесторы НЕ участвуют в этом процессе и пропускают его полностью.
sequenceDiagram
participant P as Участник с интеллектуальными ролями
participant C as Capital Contract
participant S as Soviet Contract
participant L as Loan Contract
Note over P: ТОЛЬКО для участников с ролями
автор/создатель/координатор/пропертор
Чистые инвесторы не участвуют!
P->>C: 1. pushrslt(заявление на взнос результатом)
Note over C: Блокировка чистых инвесторов
Note over C: Проверка наличия интеллектуальных ролей
Note over C: Исключение investor_base из contribution_amount
Note over C: Расчёт итоговых сумм
Note over C: Статус сегмента = STATEMENT
C->>L: 2. Погашение долгов (если есть)
C->>S: 3. soviet::create_approval
S->>C: 4. approverslt(одобрение председателем)
Note over C: Статус сегмента = APPROVED
C->>S: 5. soviet::create_agenda
alt Авторизация советом
S->>C: 6. authrslt(решение совета)
Note over C: Статус сегмента = AUTHORIZED
P->>C: 7. signact1(акт №1 от участника)
Note over C: Статус сегмента = ACT1
Note over C: Подпись участника на акте
alt Принятие председателем
S->>C: 8. signact2(акт №2 от председателя)
Note over C: Статус сегмента = CONTRIBUTED, результат = ACT2
Note over C: ACCEPT_RID (Dr 04 / Cr 08)
Note over C: Готовность к конвертации
P->>C: 9. convertsegm(распределение между ЦК и Благорост)
Note over C: TRANSFER GENERATOR_FUND → SHARE_FUND_PAY / BLAGOROST_FUND
Note over C: Удаление сегмента и объекта результата
else Отклонение до совета
S->>C: 8. declineapprv(отклонение)
Note over C: Возврат к статусу READY
end
else Отклонение советом
S->>C: 6. declrslt(отклонение советом)
Note over C: Возврат к статусу READY
end
Пошаговое описание
Шаг 1: Подача заявления на взнос результатом
Подача заявления на паевой взнос результатом
Участник подаёт итоговое заявление на взнос результатом интеллектуальной деятельности:
Входящий документ: Заявление на паевой взнос результатом (подписано участником)
Предварительные условия:
- Проект в статусе
completed (голосование завершено)
- Сегмент участника в статусе
READY
- Сегмент обновлён (выполнен rfrshsegment)
- Участник имеет интеллектуальные роли (is_author, is_creator, is_coordinator, is_propertor)
- Участник НЕ является чистым инвестором (is_pure_investor == false)
Входящие суммы должны соответствовать расчётам:
- contribution_amount == total_segment_cost - investor_base (если участник также инвестор)
- contribution_amount == total_segment_cost (если участник не инвестор)
- debt_amount == segment.debt_amount (сумма к погашению)
- Заметки
- Инвестиционная часть (investor_base) НЕ включается в contribution_amount, так как она уже была внесена при инвестировании через approveinvst.
Расчёты и обновления:
- Постусловие
- Погашение ссуд через внешний контракт loan (если debt_amount > 0)
Результат:
- Создается временный объект
results
- Статус сегмента →
STATEMENT
- Заявка отправляется на рассмотрение председателем
Шаг 2: Одобрение заявления председателем
Одобрение заявления председателем
Председатель рассматривает заявление и принимает решение:
- Проверяет корректность расчётов
- Оценивает соответствие результата проекту
- Подтверждает готовность к рассмотрению советом
Входящий документ: Принятое председателем заявление на взнос результатом
Результат:
- Статус сегмента →
APPROVED
- Заявка передается в совет для финального решения
Шаг 3: Авторизация советом
Авторизация взноса результатом советом
Совет принимает решение о принятии результата интеллектуальной деятельности:
- Оценивает ценность результата для кооператива
- Подтверждает справедливость распределения долей
- Даёт согласие на приём паевого взноса
Входящий документ: Решение совета о принятии взноса результатом
Результат:
- Статус сегмента →
AUTHORIZED
- Становится возможным подписание актов приёма-передачи
Шаг 4: Подписание акта №1 участником
Подписание акта №1 участником
Участник подписывает акт приёма-передачи доли в результате:
- Подтверждает передачу своей доли кооперативу
- Соглашается с расчётом вознаграждения
- Фиксирует своё согласие на условия приёма
Входящий документ: Акт приёма-передачи (подпись участника)
Результат:
- Статус сегмента →
ACT1
- Акт готов к подписанию председателем
Шаг 5: Подписание акта №2 председателем
Подписание акта №2 председателем
Председатель подписывает акт от имени кооператива:
- Подтверждает приём доли в результате
- Фиксирует обязательства кооператива по выплатам
- Завершает процедуру приёма паевого взноса
Входящий документ: Акт приёма-передачи (подписи участника и председателя)
Финальные изменения:
- Статус сегмента →
CONTRIBUTED
- Статус результата →
ACT2 (анкер процесса до convertsegm)
- ACCEPT_RID: Dr 04 / Cr 08 на полный
available_for_program сегмента
- REPAY (если был долг): Dr 80 / Cr 58
- Готовность сегмента к финальной конвертации
Шаг 6: Конвертация сегмента (финал процесса)
Конвертация сегмента — финальная фаза процесса p.cap.rid.
Пайщик распределяет накопленный available_for_program между двумя направлениями:
- В ЦК (SHARE_FUND_PAY): только себестоимость создателей, авторов и координаторов минус погашенный долг, не больше обеспеченной суммы.
- В ЦПП «Благорост» (BLAGOROST_FUND): остаток (
available_for_program - wallet_amount).
Кошельковое движение TRANSFER GENERATOR_FUND → цель без бухпроводок: Dr 04 / Cr 08 уже сделана в signact2 (ACCEPT_RID, WalletOp::NONE) на полный available_for_program.
Входящий документ: Заявление на конвертацию (подпись участника).
Финальные изменения:
- Заметки
convert_hash в API больше не используется — анкер процесса единый для всех фаз: result_hash.
Альтернативные пути: Отклонение заявления
Отклонение председателем
- Заявление отклоняется до передачи в совет
- Временный объект
results удаляется
- Статус сегмента возвращается к
READY
- Участник может подать исправленное заявление
Отклонение советом
- Совет не принимает результат на любом этапе (до авторизации или после)
- Временный объект
results удаляется
- Статус сегмента возвращается к
READY
- Требуется доработка результата или условий
Правовые аспекты взноса результатом
Природа паевого взноса
- Результат интеллектуальной деятельности передается как имущественный вклад
- Участник получает паевые права в кооперативе
- Кооператив становится обладателем исключительных прав на результат
Документооборот
- Заявление - волеизъявление участника о намерении совершить паевой взнос
- Решение совета - протокол собрания совета с решением и приёме взноса
- Акты приёма-передачи - фиксация перехода прав
Структура итогового вознаграждения
После завершения процесса участник получает:
Базовая часть (себестоимость)
- Исполнитель: creator_base (стоимость коммитов)
- Автор: author_base (61.8% от создателей)
- Координатор: coordinator_base (% от привлечённых инвестиций)
- Инвестор: investor_base (использованная часть инвестиций) - УЖЕ ВНЕСЕНА при инвестировании
- Пропертор: property_base (стоимость имущественного взноса)
- Заметки
- investor_base НЕ включается в contribution_amount при pushrslt для участников со смешанными ролями, так как эта сумма уже внесена при approveinvst.
Премиальная часть (бонусы)
- Создатели: creator_bonus (100% от базы)
- Авторы: author_bonus (равная часть + голосование)
- Участники: contributor_bonus (161.8% от генерации)
- Голосование: voting_bonus (по методу Водянова)
Результат процесса
- Постусловие
- :
- Результат интеллектуальной деятельности принят кооперативом как паевой взнос
- Погашена ссуда участника (если была)
- Сегмент в статусе CONTRIBUTED и готов к конвертации в различные кошельки кооператива
- Статусы сегмента и результата синхронизированы на каждом этапе процесса
Эффекты процесса
➕🏛️ Ledger::add на счёт Ledger::accounts::SHARE_FUND на сумму паевого взноса за вычетом ссуды
➕🔒 Wallet::add_blocked_funds на кошельке _source_program на сумму паевого взноса за вычетом ссуды
➖🏛️ Ledger::sub со счёта Ledger::accounts::LONG_TERM_LOANS на сумму погашаемой ссуды
🫳 Loan::settle_debt на сумму погашаемой ссуды ➖🔒 Wallet::sub_blocked_funds на кошельке _source_program на сумму паевого взноса за вычетом суммы конвертации в кошелёк проекта
➕🔓 Wallet::add_available_funds на кошельке _wallet_program на сумму конвертации в главный кошелёк
➕🔒 Wallet::add_blocked_funds на кошельке _source_program на сумму конвертации в кошелёк программы
Документы процесса
- 📄 Заявление на внесение паевого взноса доли в результате интеллектуальной деятельности с опциональным погашением ссуды (если брал)
- 📄 Визирующая подпись председателя на заявл. на паевой взнос результатом
- 📄 Решение совета о приёме паевого взноса результатом
- 📄 Подписаный акт приёма-передачи от участника
- 📄 Подписаный акт приёма-передачи от председателя
- Заметки
- здесь при взносе результата собственники имущества должны одновременно внести своё имущество
- 📄 Заявление на конвертацию из кошелька приложения к договору УХД (договора УХД) в:
- главный кошелёк (ЦПП "Цифровой Кошелёк")
- кошелёк проекта (другое или то же приложение к договору УХД)
- кошелёк программы (ЦПП "Благорост")