Кейс: как мы сделали автоматическую генерацию ежедневных отчётов сотрудников на Битрикс24

За один рабочий день один сотрудник выполняет 15-20 задач, начиная от простых на 5-10 минут, и заканчивая сложными на 10, 20 или 30 часов. Написать в конце дня понятный развёрнутый отчёт, чтобы руководителю было ясно на какой стадии сейчас каждая задача, сложно. Мозг устал, обязательно что-нибудь да упустишь. Мы решили избавиться от этой рутины и у нас получилось.
Эмиль Алиев
Эмиль Алиев,
Программист

Проблема

Когда в компании работает 5-7 человек, всегда можно подойти к Васе и спросить, что он делает и когда освободится. Если сотрудников 10, 15, 20 и больше, становится неудобно.

Модуль задач Битрикс24 решает эту проблему. Сотрудники ставят друг другу задачи, учитывают время выполнения, используют иерархию задач, чтобы разбивать сложные задачи на более мелкие. Руководители используют инструменты для контроля задач по отделам и конкретным сотрудникам.

Модуль интегрирован с модулем рабочего времени. Когда человек отправляет отчёт за день, он выбирает задачи, которые выполнял в течение дня. В модуле можно строить отчеты по задачам и составлять какую-то аналитику по проделанной работе.

В общем у модуля задач Битрикс24 обширный функционал и закрывает практически все потребности, но всё не идеально. Чтобы получить отчёт по задачам, которые сотрудник выполнял за определенный день, с учётом времени выполнения и прогрессом выполнения, нужно потратить немало усилий.

Неудобно и сотруднику и руководителю. Все по-разному излагают свои мысли, всегда возможна ситуация, что руководитель и сотрудник друг друга не поймут. В стандартном модуле отчётов Битрикс24 нельзя нажать на кнопку и перейти к конкретной задаче. Часть задач обязательно теряется просто потому, что в конце дня человек устал и сложно всё припомнить и указать время по каждой задаче.

Мы решили, что не будем мириться с такой несправедливостью и разработали модуль. В конце рабочего дня сотрудник нажимает на пару кнопок и отчёт формируется автоматически. В отчёт попадают все задачи, которыми человек занимался в течение дня. Вот как это происходило.

Процесс

Для начала мы определились, что конкретно будем реализовывать.

  1. Отчёт должен формироваться на основе задач, которые сотрудник делал в течение рабочего дня.
  2. В отчёте должно быть видно сколько времени было выделено на задачу и сколько сотрудник уже потратил времени за отчётный период и за всё время.
  3. Должно быть видно иерархию задач, чтобы подзадачи визуально отображались внутри основной задачи, а чек-лист задач отображался вложенным уровнем задачи.
  4. Задачи и чек-листы должны визуально выделяляться в зависимости от их статуса.
  5. Задачи, у которых прошёл крайний срок или на выполнение, которых затрачено больше времени, чем планировалось должны визуально выделяться среди прочих.
  6. Отчёт должен генерироваться не только за текущий день, но и за любой произвольный из прошедших.

В качестве основы взяли стандартный функционал ежедневных отчётов Битрикс24. Во-первых, потому что интерфейс привычный для пользователя. Во-вторых, у сотрудника останется возможность после генерации отчёта добавлять к нему комментарии и объяснения. В третьих, в стандартном функционале ежедневных отчётов можно добавлять или изменять отчёты за прошлое время и работает функционал подтверждения отчётов.

интерфейс отчётов

У Битрикс24 удобный интерфейс просмотра ежедневных отчетов сотрудников, который учитывает структуру компании. Руководитель отдела может просматривать отчеты сотрудников своего отдела и всех вложенных подотделов, если сотрудник не руководитель, то он видит только свои отчеты. В отчетах Битрикс24 предусмотрена возможность комментирования для уточнения вопросов при подтверждении.

Итак, в стандартный функционал ежедневных отчётов мы добавили кнопку для автоматической генерации текста отчёта, по определенной структуре.

рабочий отчёт
Для этого на стороне JavaScript повесили обработчик появления окна отчёта и при его появлении добавили нашу кнопку. При нажатии на кнопку сделали отправку запроса на заранее созданный скрипт, который возвращал html, который нужно вставить в визуальный редактор. Если в течение выбранного периода сотрудник не взаимодействовал с задачами, появляется уведомление о том, что он ничего не делал с задачами.

В скрипте, который возвращает html отчёта выбрали все задачи, с которыми взаимодействовал сотрудник за выбранный период. За взаимодействие решили считать изменение статуса задачи, изменение пункта чек-листа или изменение затраченного времени.

  • Задачи, которые завершены выделяются знаком «+» перед именем задачи.
  • Задачи, которые ещё не завершены выделяются знаком «-».
  • Задачи которые просто были завершены без учета времени в выбранном периоде отмечаются знаком «x» перед названием.
  • Задачи, у которых прошёл крайний срок выделяются красным цветом.

Добавили отступ для названий задач перед подзадачами и пунктами чек-листа, чтобы они визуально выглядели вложенными в основную задачу. У основной задачи вывели в заголовке название проекта. Названия задач сделали ссылками, чтобы можно было сразу из окна отчёта перейти к задаче. В начале отчёта вывели расшифровку частей строк, а в конце вывели суммарное время, которое потрачено на задачи за выбранный период и расшифровку статусов и цветов.

новый модуль отчётов

Итог

Небольшая доработка упростила жизнь всем, кто работает с Битрикс24. В модифицированной версии модуля сотрудник тратит на создание детального отчёта 5 секунд. В обновлённом модуле в отчёт попадают все задачи, которыми сотрудник занимался в течение дня. Видно затраченное и запланированное время. Любую задачу можно открыть и посмотреть детали.

Для сравнения, отчёты одного и того же сотрудника в стандартном модуле и в новом.

Отчёт До
Отчёт После