Немного о причинах, почему у вас может возникнуть задача отслеживать рабочее время как ваше собственное, так и коллег в вашей команде:
1. Руководство поставила лимит сколько время вы должны тратить на наряды, сколько на проекты
2. Перед выполнением определенной задачи вы можете получить вводные, которые надо донести до исполнителя, а писать некогда.
3. Руководство может в любой момент спросить, чем вы сейчас и ваши сотрудники заняты и т.д.
Есть много вариантов онлайн трекеров. Некоторые даже с интеграцией с другими системами. Но руководство сказало - нет! Не должны мы сливать наши данные куда-то в интернет. Поэтому осталось написать самому, так как подходящего - не нашел.
Основные функции:
1. Минималистичный интерфейс (поэтому это отдельная база - висит маленьким окном внизу справа. При необходимости можно и на весь экран растянуть)
2. Интеграция через веб-сервисы. Для примера приложена обработка для Интеграции с Итилиум (отправить задачу в трекер, получить время выполнения задачи)
3. Уведомление руководителя о действиях по задачам сотрудников (старт, стоп, закрытие) всплывающим сообщением (у руководителя база должна быть открыта)
4. Остановка/продолжение таймера при закрытии базы
5. Реализованы 3 роли. Разделение настроено через RLS. "Сотрудник" видит только свои задачи. "Руководитель" - только задачи своих сотрудников. "Администратор" "настраивает" список сотрудников, задачи которых видит "Руководитель" (в таб. части, в элементе справочника "Пользователи")
6. Создание задачи через перетаскивание письма из Outlook в окно программы
7. "Руководитель" видит список пользователей, которые не вошли в базу трекера
8. Простой отчет по времени работы.
9. В задачу можно добавлять web-ссылку для оперативного открытия задачи в бэкенд-системе
Основные принципы работы
Поскольку интеграция настроена с Итилиум, пользователей завожу с доменной авторизацией и Имя для входа = Имя в Итилиуме. Конфигурация простая, БСП механизмов нет, пользователи добавляются через конфигуратор или веб-сервис;
В основной форме все часто используемые команды доступны по правой кнопке мыши; При активации колонки "Сотрудник" и вызова команды "Учет времени" - отчет открывается с отбором по выделенному сотруднику; При активации колонки "Код" и вызова команды "Учет времени" - отчет открывается с отбором по выделенной задаче
Старт/стоп таймера - двойной клик на номере задачи. Двойной клик по остальным полям - открытие задачи;
Описание веб-сервисов:
task - получение всего справочника Задачи (ID и Код)
task/{ID} - получение детальной информации по задаче (по ID); создание новой задачи
task/{ID}/time - получение всего времени выполнения по задаче
user - получение всего справочника Пользователи (ID и Код)
user/{ID} - получение детальной информации о пользователе; создание пользователя
Чтобы вам было легче делать интеграцию, прикладываю в файлах обработку - пример Интеграции для Итилиум (вызывается в нарядах через кнопку "Заполнить...")
Разрабатывалось и работает на релизе 8.3.19.1522. Режим совместимости не использовался
Для интеграции, понятно, что базу надо опубликовать на веб сервере. На скриншоте обработки видно, как настраивается интеграция.
Пожелания по развитию, замечания, принимаются, но сильного усложнения не намереваюсь делать. Все таки эта конфигурация больше фронт-енд для основных систем по ведению проектов, задач, сервис деска и т.д.
Если кто-то сделает интеграцию для Jira (чтобы из нее отправлять задачу в трекер и получать потом время и комментарии) - с удовольствием добавлю сюда.