Коннектор работает следующим образом:
Ежедневно в 00:00 коннектор получает время всех пользователей групп, учитывая исключения, выходные и отпуска, проверяет соответствует ли заполненное время указанному в настройках коннектора. Если нет, создаются отложенные jobs NotifyJob в базе данных на стороне Getupd в стандартной очереди. В каждом задании создается задача на стороне Планфикс на основании названия и шаблона указанного в настройках коннектора. Также создается запись в таблице timetracking_tasks в базе данных Getupd.
Пользователи Планфикс, не заполнившие время, получают задачи, заполняют время и нажимают кнопку "Время заполнено" и на сторону Getupd уходит вебхук, по которому создается отложенная задача в стандартной очереди на проверку времени. Задача проверяет все ли верно заполнено, и если да, то завершает задачу.
Установка невозможна без подключения Аккаунта ПланФикс на сайте getupd.io. Как это сделать смотрим по ссылке.
Для того чтобы подключить коннектор сохранения отчетов, необходимо подключить аккаунт Планфикс REST API
Аккаунт Планфикс REST API подключается по аналогии с аккаунтом
Нажимаем Добавить, и подключаем аккаунт:
Где:
Название — произвольное название вашего подключения.
URL — URL вашего аккаунта в ПланФиксе.
Токен — Ваш токен в ПланФиксе. Переходим в Настройки — Управление аккаунтом — Доступ к API — REST API. При первом подключении токена не будет. Нажимаем Создать новый токен.
Переходим во вкладку коннекторы, Добавить коннектор / Модуль учета рабочего времени.
После Добавления модуля, необходимо выбрать аккаунт Планфикс REST API.
И создаем коннектор. Открывается окно с настройками, в котором мы будем настраивать подключение работу нашего модуля:
Настройка кнопки.
Эта кнопка нужна для того, чтобы пользователь, получивший уведомление, смог заполнить недостающее время и снова отправить запрос в Getupd на проверку времени. Если всё заполнено, то задача-уведомление завершается, если нет, то в задачу в комментарии приходит соответствующий ответ от Getupd
Переходим в Планфикс. Управление аккаунтом/Объекты/Наш объект/Кнопки/Создать новую кнопку.
Название кнопки произвольное.
Выбираем в каких объектах будет отображаться созданная кнопка.
Выбираем кто видит кнопку и может ее нажимать.
Настраиваем внешний вид кнопки.
Возвращаемся в настройки коннектора. Нам понадобятся вот эти данные:
Копируем URL, возвращаемся в Планфикс и вставляем данные в поле URL.
В поле Содержимое запроса, нажимаем текстом, и вставляем скопированные из настроек коннектора Тело запроса:
В Планфикс в Поле заголовке нажимаем добавить и вставляем скопированные из настроек коннектора Заголовок и затем его значение
Проверяем что бы заголовок Content-Type имел значение application/json.
Для корректной работы ставим галочки Добавлять полученный ответ комментарием в задачу, Добавлять комментарий в задачу, если сервер е отвечает и Повторять запрос, если сервер возвращает ошибочный код ответа.
Нажимаем сохранить. Кнопка создана.
Возвращаемся в настройки коннектора.
Заголовок оповещения:
В заголовках можно использовать следующие переменные:
checked_date - это дата, за которую проверяется отработанное время.
worked_time - фактически отработанное время.
need_time - необходимое время.
fullname - полное имя пользователя.
name - имя пользователя.
Например заголовок может выглядит так:
Пользователю придет задача с заголовком: Не соблаговолите проставить не достающее время за 26-03-2025, Анна?
По аналогии вы можете проставить любые из перечисленных переменных, которые должны быть между двумя фигурными скобками: {{ checked_date }} у {{ fullname }}.
Шаблон оповещения:
Это текст задачи, который получит пользователь.
Можно скопировать данный текст:
<p>Необходимо указать недостающее время за {{ checked_date }}.</p> <br> <p>Сейчас указано {{ worked_time }} из {{ need_time }}.</p> {% if tasks | length %} <br> <p>Вот список задач, в которых было указано фактическое время:</p> <ul> {% for task in tasks %} <li><a href="{{ task.url }}">{{ task.title }}</a></li> {% endfor %} </ul> {% endif %} <br> <p>Проставь недостающее время по тем задачам или посмотри те, в которых работал. По итогу установи зеленую кнопку, если уверен, что проставил 7 часов и более.</p> <p>Или серую кнопку, если согласен, что больше часов за прошедший день не сможешь проставить.</p> |
Где:
checked_date - это дата, за которую проверяется отработанное время
worked_time - фактически отработанное время
need_time - необходимое время
fullname - полное имя пользователя
name - имя пользователя
tasks - список задач с указанием url и названия в Планфикс
Советуем не менять данные расположенные между тегами <br>. Кроме слов «Сейчас указано», «Вот список задач...».
Остальной текст вы пишите на свое усмотрение, теги проставлены для корректного отображения текста в задаче.
Проект:
Для того что бы задачи из данного объекта не отображались в разных объектах, советуем создать отдельный проект, куда будут прикреплены создаваемые задачи.
Если у вас не отображаются созданные проекты, начните набирать название проекта, и затем выберите из списка.
Постановщик задач:
Указываем сотрудника который будет установлен постановщиком задач.
Процесс задачи:
Процесс задачи совпадает с объектом, но данный параметр необходим для выбора статуса задачи, без указания данного процесса статус у нас не подтянется. статус задачи в которую переходит задача уведомление при повторной проверки заполненного времени. Звучит сложно, но нам лишь нужно подставить такой же процесс как у нас в объекте.
Статус:
Указываем статус, в который перейдет задача-уведомление при повторной проверки заполненного времени.
Количество часов:
Указываем количество часов которые должен отработать сотрудник.
Количество часов в сокращенном дне
У кажите, сколько часов необходимо отработать сотрудникам в сокращенный день.
В нашем случае, количество часов в предпраздничные дни, 7.
Объекты задач для отпуска:
Выбираем список объектов задач, для проверки находился ли сотрудник в отпуске в нужное время. Так же идет проверка был ли вчера праздничный или выходной день, данные о выходных и праздничных днях подтягиваются из производственного календаря.
Группы:
Выбираем пользователей которые будут получать задачу-уведомление.
Выберите исключения:
И пользователей которые не будут получать задачу-уведомление.
Аналитика.
Для корректной работы нам необходимо добавить в выбранную аналитику два поля Задача ссылка и Задача название которые будут использоваться для того что бы данные подтягивались постоянно автоматически, и в задаче-уведомлении была ссылка на задачу и ссылка на название задачи (например, нет постоянного перехода по API для получения названия задачи).
Переходим Управление аккаунтом/Аналитика/Ваша аналитика
Для примера: Перехожу в аналитику Управление временем/Фактическое время работы
Редактируем аналитику и добавляем необходимы поля.
!!! Новые поля Задача ссылка и Задача название должны быть вычисляемыми полями.
Возвращаемся в настройки коннектора и выбираем нужные соответствия полям:
Настройка запуска коннектора
В настройках запуска коннектора указываем 0 0 * * *, каждый знак через пробел.
Коннектор настроен.
Как это работает:
Сотруднику приходить задача-уведомление.
Переходим в задачу-уведомление
Нажмем кнопку Время заполнено.
Получаем ответ.
Так как время было не дополнено, получаем:
Перехожу в задачу и проставляю время. Добавила еще 2 часа, и нажала на кнопку Завершить. При таком сценарии задачу не переходит в статус Завершенная. Нажала на кнопку Время заполнено, ответ:
Добавлю еще два часа. Только не в этой задаче которая указана в уведомительной, а в другой, но так же за 28.03.2025. Модуль получил данные за 28.03.2025 и выдал ответ:
И задача переходит в статус Завершенная.
С дополнительными вопросами по работе сервиса обращайтесь на почту mailbox@getupd.io или нажмите на кнопку «Обратиться за помощью». Служба поддержки поможет разобраться с первичной настройкой коннекторов.