Когда заказы живут в переписке, приходится помнить всё самому. Я собрал бота, в котором видно, кто взял задачу, на каком она этапе и где лежит результат.
Собственный рабочий проект
Проблема
Файлы, статусы заказов и расчёты приходилось искать в разных переписках.
Что я сделал
У каждого заказа появились статус, исполнитель и история. У владельца — общая картина и учёт расчётов. У исполнителя — его задачи и следующий шаг.
От заявки до принятого результатаПроцесс BPMN
Нажмите на действие, чтобы посмотреть, что происходит на этом шаге.
Создать заказ
Статус, файлы и события связаны с одним заказом. Их не приходится искать в разных переписках.
Обозначения на схеме
Начало и завершениеДействиеОдин из путей
Решение о приёмке принимает человек. Стрелка «Нет» возвращает работу исполнителю; статусы и расчёты ведёт система.
Почему сделано так
Разделение доступа
Исполнитель работает со своими задачами. Общая картина заказов и расчётов остаётся у владельца.
Очередь синхронизации
Внутренний учёт не зависит от доступности Notion. Данные для внешнего сервиса сохраняются в очередь.
Проверка начислений
Если не задана ставка, система сообщает об этом. Отсутствующие данные не превращаются в нулевое начисление.
Технические подробности+
Учёт хранится в SQLite. Данные для Notion передаются через очередь. Доступы разделены по ролям. Эти решения позволяют отделить внутреннюю работу бота от доступности внешней системы.