Зачем понадобился ещё один трекер
Для нескольких небольших проектов были нужны задачи, фильтры, комментарии, вложения и настраиваемый порядок работы. Стоимость внешнего сервиса перестала соответствовать объёму использования, поэтому трекер решили собрать из уже действующих компонентов нашей CRM.
В CRM уже были пользователи, роли и разрешения, аудит изменений, комментарии, файловые вложения и исполнение BPMN-процессов. Первую версию трекера собрали примерно за сутки: основная инфраструктура к тому времени использовалась в производственной системе.

Задача как экземпляр процесса
Поведение каждого типа задачи задаёт связанный с ним BPMN-процесс. Типы могут иметь разные маршруты, а интерфейс получает текущее состояние и доступные действия непосредственно от исполняемого процесса.
Для MVP мы сознательно упростили модель:
- статус — строка, которую устанавливает процесс;
- непустая резолюция означает, что задача закрыта;
- кнопки действий соответствуют ожидающим элементам BPMN;
- служебные шаги
SetStatus,SetResolution,ClearResolution,NotifyиAssignвыполняют основные автоматические операции.
Отдельный справочник переходов синхронизировать с процессом не нужно. При этом саму BPMN-схему приходится проверять на непротиворечивость: она может допустить несовместимое сочетание статуса, резолюции и ожидающего действия.

Проекты, доступ и рабочий контекст
Каждая задача принадлежит одному проекту. Для проекта можно задать свои типы и процессы, сохранить фильтры и отделить очереди задач. Доступ к трекеру задаётся отдельной ролью и не связан с правами на автомобильные заявки, клиентские экраны или административные функции CRM.
В карточке находятся описание, участники, проект, состояние процесса, история и обсуждение. Файлы можно прикладывать к задаче и к отдельным комментариям. Уведомления переданы в n8n, поэтому способ доставки не зашит в модель задачи.

Что получилось
Первая версия используется в нескольких проектах. В ней есть типы задач с отдельными BPMN-процессами, списки и сохранённые фильтры, комментарии, вложения, история изменений, уведомления и разграничение доступа.
Трекер получился небольшим предметным слоем поверх механизма исполнения процессов и общих сервисов CRM. Сейчас его код отделяется от исходной системы в самостоятельный проект P03 Tracker.