Как мы заново написали модуль учета рабочего времени сотрудников в среде Битрикс24 для инжинирингового холдинга

Задача учета времени работы сотрудников всегда актуальна. Для этой цели разработано много инструментов. Если вы пользуетесь Битрикс24, то наверняка знаете о стандартном модуле учета рабочего времени. Он покрывает, наверное, около 90% типичных потребностей бизнес-пользователя. Остальные 10% – это специфичные сценарии, которые партнеры 1С:Битрикс24 специально разрабатывают для решения каких-то конкретных задач. 

Ниже расскажем о том, как мы написали модуль учета времени работы сотрудников проектной организации, изменив архитектуру и логику этого процесса.

Чего бизнес-пользователи хотят от тайм-трекеров

Не всем организациям нужно подробно учитывать время, которое они тратят на задачи. Компания, у которой нет необходимости считать и обосновывать бюджет проекта, которая зарабатывает свой месячный ФОТ за 4 дня или ей достаточно того, что сотрудник просто пришел на работу и выполняет свои обязанности, не станет применять тайм-трекинг.

Другое дело, если ваши услуги оплачиваются по схеме Time&Materials или вы берете проектную команду в аренду. Здесь за временем приходится следить.

С точки зрения собственников и руководителей внедрение тайм-трекинга полезно для:

  • обоснования стоимости работ по проекту и размера оплаты труда исполнителей;
  • контроля сроков выполнения работ, отслеживания "провисающих" задач;

  • определения наиболее трудоемких задач;
  • выявления "слабых мест", установления причин непроизводительной работы;
  • обнаружения скрытых резервов рабочего времени, выявления причин срыва сроков, появления авралов;
  • балансирования нагрузки между работниками и определения времени, требуемого для решения конкретных задач;
  • оценки достаточности штата и др.

Проще говоря – система учета рабочего времени всегда знает на что конкретно было потрачено время каждого сотрудника. Это позволяет быстро получать ответы на управленческие вопросы.

Но у медали есть и обратная сторона. Как правило, людям не нравится вести подробный учет своего рабочего времени, особенно в условиях многозадачности. Проектному менеджеру и исполнителю приходится работать как минимум в 2-3 средах: писать код или готовить чертежи и сметы в одних профессиональных приложениях, поддерживать коммуникацию в других, создавать документы – в третьих, вести учет – в четвертых и т.д. Поэтому очень важно сделать процесс учета времени одновременно простым, точным и требующим минимальных усилий. А еще лучше – автоматизированным, защищенным от ошибок перегруженных или ленивых сотрудников.

Если в компании работает несколько человек, то контролировать бюджет времени по проекту – задача монотонная, но выполнимая. А если коллектив состоит из десятков или сотен сотрудников, географически разделенных или работающих удаленно? 

Наш заказчик – это многопрофильная инжиниринговая Группа, которая предлагает своим клиентам решения, позволяющие реализовать сложные архитектурно-строительные проекты. Компания представлена офисами в России (Москва, Санкт-Петербург, Новосибирск), Узбекистане, Белоруссии и других странах. В распределенной команде работают более 700 сотрудников: консультантов, архитекторов, инженеров, менеджеров и управляющих качеством строительства, специалистов по ценообразованию и работе с государственными инстанциями. Им требовался удобный для всех уровней управления инструмент, интегрированный с Битрикс24, предназначенный для ежедневного сбора и контроля данных об отработанном времени сотрудников по проектам.

Почему не все трекеры одинаково полезны или условия на старте

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

Опыт использования продуктов первой группы довольно противоречив и мы не располагаем кейсами по данному направлению. А вот опытом разработки с нуля модуля учета времени по проектам, которые ведутся в Битрикс24, мы с вами поделимся.

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

Untitled.png

С одной стороны, Битрикс24 – открытая платформа с хорошей основой, и стандартный модуль закрывал основные потребности клиента по ведению проектов: постановку задач внутри проекта, отслеживание сроков и статусов, указание плановых трудозатрат и т.д.

Но в части управления рабочим временем проектов Битрикс24 был неидеален. В частности, менеджерам проектов нужно было подтверждать затраты времени исполнителей, а такой функционал не был предусмотрен ни в Битриксе “из коробки”, ни в “облаке”.

Еще до обращения в ИНТЕРВОЛГУ заказчик своими силами “допилил” Б24 и согласование менеджерами заработало. Это сняло часть проблем, но приложение все еще не было удобным. Не были реализованы: контроль полноты заполнения таблиц, возможность формирования промежуточной отчетности, показ уведомлений об ошибках для пользователей и др. А хранение таймшитов в БД Битрикса нельзя было назвать изящным. Поэтому Заказчик решил обратиться в ИНТЕРВОЛГУ, чтобы комплексно и профессионально решить оставшийся блок задач. Ниже приведем описание некоторых из них.

Перед вами таблица, которую заполняли сотрудники, работающие в проектах. Из списка выбирался проект, по каждому календарному дню в него вносилось время, которое сотрудник посвятил проекту. К ячейке можно было добавить комментарий с конкретизацией работ. Сверху производилось суммирование и иногда случалось так, что исполнитель “переоценивал” свои усилия.

Таблица исполнителя

Каждая заполненная ячейка становилась записью в таблице tTimesheets. При такой структуре документа невозможно было внести часы и сделать комментарии, если в течение дня исполнитель выполнял разные задачи по проекту. Поэтому возникала необходимость добавлять еще одну строку с тем же самым проектом. Ячейка, проверенная проектным менеджером, вручную перекрашивалась либо в желтый (не согласовано), либо в зеленый (согласовано) цвета.

Таблица менеджера

В конце месяца менеджер сводил данные по трудозатратам. Если данных не было, то форма не отображалась, выводилось диалоговое окно “За выбранный период данных для согласования нет” и производился возврат на форму ввода. Это было проблемой, т.к. данные вносились исполнителями 1 раз в месяц и не всегда вовремя. Поиск путей ее решения тоже попал в ТЗ.

Основными требованиями к продукту стали:

  1. Высокая скорость открытия страницы для ввода данных по учету времени (не более 5 сек.) и страницы для согласования времени менеджером проекта (не более 10 сек.);
  2. Максимально информативные сообщения об ошибках, включающие все технические идентификаторы, доступные в контексте ситуации;

  3. Хранение всех справочных данных для модуля в базе Microsoft SQL Server (временные периоды, сотрудники, проекты и т.д.). После внесения данных о трудозатратах, их проверки и корректировки, данные передаются обратно в БД и сессия закрывается;

  4. Удобное редактирование данных и просмотр комментариев по введенным значениям;

  5. Всякие мелкие детали и украшательства, вроде ежедневного напоминания исполнителям о необходимости заполнить сведения о проделанной работе, а менеджерам – о необходимости согласования работ по итогам недели.

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

Алгоритм работы с модулем, в общих словах, должен был быть таким: месяц открывается, исполнители ежедневно заполняют данные по использованному времени, менеджеры корректируют и согласовывают, месяц закрывается. Согласованная  информация передается в общую базу данных на сервере заказчика.

Схема.jpg

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

Т.к. все задачи и требования были согласованы заранее, то действовали мы по методологии Waterfall.

Результат работы над MVP

Авторизация

Настроили обмены данными между Битрикс24 и MS SQL Server. Например, при выборе пользователем в Битрикс24 раздела “Учет времени” делается запрос к базе данных MS SQL к хранимой процедуре (создана силами заказчика) по полю employeeID, возвращающей SID текущего пользователя (SID) и дату, с которой он действует (SID_VALID_FROM). Эти данные хранятся в сессии текущего пользователя и используются для записи вводимого времени для сокращения числа запросов к базе. Решили вопрос с разными SID одного пользователя (смена фамилии, уход-возвращение в компанию).

Режим ввода потраченного времени

Разделили ввод времени по проектам (таблица) и комментариев (форма). Форму с итоговыми часами по каждому календарному дню и комментариями закрепили. Теперь она всегда “под рукой”, каким бы длинным не был список проектов. Для ускорения вывода названий проектов в таблицу разместили кнопку «Заполнить из моих». Теперь не нужно тратить время на скролл и поиск своих проектов в длинном списке всех проектов компании. Сотрудник, заполняющий таблицу, сразу получает список проектов, которые отметил как свои.

Интерфейс МУВС

Для поддержания связи со “старым” интерфейсом реализовали подсветку ячейки с комментарием красным треугольником (как в Excel). Доработали способ хранения данных, чтобы сотрудники, вводящие название проекта вручную, могли получить список уже после трех введенных символов.

Добавили “Стадии проекта” и теперь ввод данных выполняется в разрезе Сотрудник – Проект – СТАДИЯ – День. К любому проекту можно привязать любую стадию. Без указания стадии введенные данные не сохраняются.

Режим согласования времени

В новом модуле все данные группируются по проектам\стадиям и сотрудникам

Группировка по стадиям проекта.png

Сделали несколько других доработок:
  • Улучшили синхронизацию задач Битрикс24 и модуля учета времени. Теперь, при изменении записей о затратах времени в задаче, происходит их копирование в модуль. В случае ошибок — приходит уведомление в “колокольчик”;

  • Изменили правила работы с тегами. Убрали возможность создания тегов пользователем, теперь только выбор из списка значений. Теги жестко привязаны к проекту;

  • Создали сценарий постановки задач из почты;

  • Оптимизировали процедуру создания бэкапа БД, т.к. стандартный функционал часто выдавал timeout;

  • Неправильные действия пользователей теперь не приводят к возникновению аварийных ситуаций за счет разграничения прав доступа;

  • Все экранные формы пользовательского интерфейса выполнены в едином графическом дизайне стиля «Битрикс24»;

  • Для обозначения одних и тех же операций используются одинаковые графические значки, кнопки и другие управляющие (навигационные) элементы;

  • Реакция системы на действия пользователя (наведение указателя «мыши», переключение фокуса, нажатие кнопки) стали типовыми для каждого действия над одними и теми же графическими элементами, независимо от их расположения на экране.

  • и др.

На разработку, тестирование и отладку MVP “Модуль учета времени сотрудников” команда ИНТЕРВОЛГИ потратила не более 300 часов.

В качестве эпилога

Задача, которую перед нами поставил клиент, с одной стороны, была в рамках нашей компетенции, т.к. ИНТЕРВОЛГА профессионально внедряет Битрикс24 более 10 лет и является золотым сертифицированным партнером 1С-Битрикс. С другой стороны, в процессе разработки требовались решения, которые в других проектах не применялись. За несколько месяцев сотрудничества был реализован весь запланированный функционал, проведено тестирование и модуль запущен в работу. По мере формирования бэклога дорабатывались возможности языковых локализаций, поиск по шифру проектов и дополнительной информации, производилась оптимизация внутренних контролей и т.д.

Сегодня модуль учета времени – уже далеко не MVP, но мы продолжаем поддерживать приложение и работать по другим проектам заказчика.

Если у вас есть идеи, требующие технической реализации на платформах 1С и/или Битрикс – заполните форму внизу.

Поделиться
24.03.2023
Оцените статью
Мы работаем по одному из двух форматов:
  • аренда команды (от 2 человек, не менее 3 месяцев);
  • итерации с фиксированной ценой (1-3 месяца длительностью).
ИНТЕРВОЛГА предоставляет:
  • регулярные онлайн-планерки с заказчиком;
  • квалифицированных специалистов;
  • организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
  • полную прозрачность и регулярность отчетов о результатах.
Ключевые услуги:
  • нагруженный интернет-магазин;
  • личный кабинет;
  • оптовые продажи — B2B-платформа;
  • маркетплейс;
  • технический аудит сайта;
  • Битрикс24 — корпоративные HR-порталы;
  • Битрикс24 — построение CRM-системы;
  • Битрикс24 — личные кабинеты сотрудников;
  • Битрикс24 — аудит портала;
  • 1С — интеграция с другими системами;
  • 1С — доработка системы;
  • маркетинг — комплексное интернет-продвижение;
  • маркетинг — продвижение для B2B.

Статьи по теме

Как правильно составить требования к CRM для крупного бизнесаПодробный гайд, который поможет запустить CRM максимально быстро, остаться в рамках бюджета и избежать разногласий с интегратором — емко, по полочкам и без «вод...
От ручных отчетов к дашборду: вся правда о процессах компании за 1 минутуЕсли не любите читать длинные отчеты, а предпочитаете сразу ухватить всю суть, то пока нет ничего лучше дашбордов. Сделали их на PowerBI в закрытом контуре клие...
Аналитика по 100 сделкам за 2 минуты и 20 рублей теперь реальностьНе хватает типовых отчетов CRM, чтобы понять что происходит с продажами? Нет времени, чтобы, держа руку на пульсе, погружаться во все детали сделок? Ответ здесь...
Умный поиск по CRM Битрикс24 и базам знанийЧем старше компания, тем больше у неё документов, отчетов, записей встреч. Как не тратить часы на поиск нужных сведений, а получать мгновенный ответ на вопрос? ...
Как CRM объединяет продажи и производство на промышленном предприятииСрыв сроков поставок — частое следствие асинхронной работы отделов предприятия. Решение — промышленная CRM, которая синхронизирует продажи и остальные подраздел...
Ты нормальный вообще? Как квалифицировать лидов в Битрикс24 с помощью ChatGPTСортируете лидов по старинке, самостоятельно решая чей это клиент? Но эту задачу уже можно поручить ИИ не переживая, что он ошибётся или сольет заявки конкурент...
Хотите получать лучшие статьи от INTERVOLGA раз в месяц?
Подпишитесь на рассылку — спамить не будем