Плановые операции и факт

Плановая операция — то, что должно случиться. Факт — то, что уже случилось. Это разные сущности и хранятся отдельно.

Концепция

| | Плановая | Факт | |---|---|---| | Что значит | «Должно произойти» | «Уже произошло» | | Влияет на баланс счёта | Нет | Да | | Видно в журнале | Нет | Да | | Видно в календаре | Да | Нет | | В отчётах (CashFlow / P&L) | Нет | Да | | В прогнозе баланса | Да (если включён тумблер) | Да |

Плановые живут в отдельной модели PlannedOperation. Журнал = только факт.

Когда плановая становится фактом

Когда вы её подтверждаете — на странице календаря или в баннере на журнале. inCash при подтверждении:

  1. Создаёт обычную операцию в журнале.
  2. Обновляет баланс счёта.
  3. Для разовой плановой — деактивирует её (она своё отработала).
  4. Для повторяющейся — сдвигает дату следующей итерации (например, +1 месяц для MONTHLY).

Дата созданной операции:

  • Если плановая просрочена (nextDate < сегодня) — операция запишется датой nextDate.
  • Если подтверждаете заранее (nextDate ≥ сегодня) — операция запишется сегодняшней датой.

Это нужно чтобы досрочная выплата зарплаты записалась реальной датой, а просроченная — корректной плановой датой.

Действия с плановой

  • Подтвердить — создать факт (см. выше).
  • Пропустить — для рекуррентной: сдвинуть nextDate на следующую итерацию, факт не создавать. Для разовой: деактивировать без факта (логически — «удалить из плановых»).
  • Изменить — открыть модалку редактирования.

См. подробно: Подтвердить / Пропустить / Удалить.

Типы повторяемости

Recurrence: NONE (разовая), DAILY, WEEKLY, BIWEEKLY, MONTHLY, QUARTERLY, YEARLY.

Для повторяющейся хранится только следующая итерация (nextDate). После подтверждения дата просто сдвигается вперёд.

Просроченные

Плановая считается просроченной, если её nextDate < сегодня, но она ещё активна (вы её не подтвердили и не пропустили). Просроченные показываются:

  • Красным баннером в журнале (если есть хотя бы одна просроченная).
  • Красной строкой в списке плановых на странице календаря.

См. Просроченные плановые.

В отчётах

Все стандартные отчёты (CashFlow, P&L, Balance, Performance, Projects) не учитывают плановые. Это сознательное решение: отчёты — про факт.

Если хотите видеть «как будет если все плановые подтвердятся» — включите тумблер «Учитывать плановые». Это работает на hero-блоке в журнале и на общем балансе в sidebar, но не в отчётах.