Рабочий календарь в ПланФиксе: график отпусков и отсутствий

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

Помедитируйте немного на картинку – и за работу!


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

Стартуем мы с вами с относительно простого варианта.

Исходные условия бизнес-задачи будут у нас следующие:

  • сотрудники сами вносят данные о предполагаемом отпуске или отсутствии (в том числе и по личным делам);
  • руководитель должен видеть все эти данные в календаре в разрезе по сотрудникам, чтобы представлять, на кого и когда он может рассчитывать.

То есть, такая себе либеральная компания без особой бюрократии и согласований – но с разумным стремлением к порядку.
Для реализации нам понадобятся:

  • Проект, в котором будут собираться такие задачи – я назвал его “Рабочий календарь”. Думаю, вы сможете создать его без подробных подсказок.
  • Шаблон задач “Отсутствия”. Я решил немного оптимизировать его и поубирать лишние поля. В порядке эксперимента записал небольшой скринкаст о том, как это делается:

(микрофончик у меня плохонький, поэтому заранее прошу прощения за качество звука)

Дополнительно я добавил в шаблон кастомное поле “Личные дела” – оно нужно для того, чтобы иметь возможность исключать время, затраченное на личные дела, из оплачиваемого времени сотрудника. По этому поводу тоже записал короткий скринкаст – он будет полезен для демонстрации создания кастомного поля в принципе, я его потом собираюсь использовать в справке:


Итак, каждый сотрудник при необходимости отсутствия на рабочем месте:

– создает задачу по шаблону “Отсутствия”,

– дает ей говорящее название вроде “Отпуск”, “Отгул”, “Больничный” и т.п.

– при необходимости указывает, что это отсутствие происходит по личным причинам (то есть, не будет оплачиваться).

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

Фильтр задач

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

Для удобства отображения выбираем для этого фильтра вид отображения “Диаграмма Ганта“:
Выбор вида отображения

И вот он, наш график отсутствий:

График отсутствий в ПланФиксе

(кликните для просмотра в полном размере)

Как видите, вполне наглядно и удобно. Шкала календаря может изменяться от часов до месяцев, двигаться по нему можно, перемещая ползунок, так что с просмотром графика в нужной детализации за любой период проблем не будет.

Теперь давайте создадим отчет “Отсутствие по личным делам” – в нем можно посмотреть кто из сотрудников сколько отсутствовал по личным делам в выбранный промежуток времени. Вот скриншоты с его настройками (по клику вы увидите их в полном виде):
Отчет
Отчет

Отчет

Вот как выглядят результаты выполнения отчета:

Отчет

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

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

Если нам нужно вести учет отсутствия в часах, а не днях
Ничего менять не придется – просто сотрудники должны указывать не только даты, но и время начала/окончания отсутствия. Все будет работать точно также: график покажет кто когда отсутствовал или собирается отсутствовать, а отчет поможет подбить итоги отсутствия по личным делам.

Если график нужно видеть не только руководителю, но и другим сотрудникам
Так как каждое отсутствие – это задача, достаточно сделать так, чтобы эти задачи видели нужные люди. Проще всего для этого добавить их в качестве участников этих задач, и сделать это лучше всего в шаблоне “Отсутствия” (Редактировать/Участники/Указываем нужных/Сохранить).

Причем добавлять можно не только отдельных сотрудников, но и целые группы. Например, если создавать задачи по шаблону, в котором в качестве участника задана группа, содержащая всех сотрудников аккаунта, то такие задачи станут доступны всем этим сотрудникам и они смогут увидеть их в рабочем календаре. То есть, все будут видеть всё – иногда такое тоже полезно.

Чтобы они могли просматривать его, нужно дать им доступ к настроенному нами фильтру “Рабочий календарь”:

ПланФикс - доступ к фильтру

Если нужно согласовывать отпуска и отсутствия
Представим, что наша изначально либеральная компания помаленьку двигается в сторону ужесточения контроля и теперь отпуска нужно согласовывать с руководителем. Как это можно сделать?

Например, так:

  • добавляем в шаблоне поле “Исполнитель” (обычно оно там есть, просто ранее в своем скринкасте я удалил его в целях оптимизации);
  • прописываем в этом поле шаблона исполнителем руководителя (или другое лицо, которое согласовывает отпуска);

Теперь задачи-отсутствия сразу попадают к руководителю на согласование. В простом виде согласование может выглядеть так: руководитель видит заявку на отпуск и может принять задачу (значит, она уже согласована) или отклонить ее (в комментарии к отклонению он может написать причину).

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

В обоих вариантах нам понадобится включить дополнительное условие отбора в фильтр “Рабочий календарь” и в отчет “Отсутствие по личным делам” – нужно исключить из них несогласованные задачи. В картинках описывать все это не буду, мне кажется это достаточно простым. Но если кто-то столкнется с затруднениями в процессе настройки – ставьте задачу на техподдержку ПланФикса, мы обязательно поможем.

Если отсутствия вносит не каждый за себя, а руководитель / HR менеджер за всех сотрудников
Добавляем в наш шаблон поле “Сотрудник” и указываем в нем сотрудника, по которому планируется отсутствие. Это позволит ответственному сотруднику вводить данные, вообще не подключая сотрудников к этой задаче. Тут тоже понадобится слегка перенастроить фильтр и отчет – вместо постановщика или исполнителя, условия должны оперировать созданным полем “Сотрудник” – группировка должна идти по этому полю, а не по постановщику.

***

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

Дмитрий Гончаренко Команда ПланФикса

14 комментариев

      1. В моём случае учитываются не только рабочие и нерабочие дни, но ещё и к-во рабочих часов за рабочий день или количество часов на которые отпросился сотрудник.
        Рабочих дней может быть 10, а вот рабочих часов 70-75. И из них уже считаются различные показатели.

        1. Навскидку мне кажется, что в таком случае можно вводить информацию аналитиками в часах. Единственное что – придется каждый день вводить данные, да еще в разрезе по каждому сотруднику (если их рабочие часы различаются), а это достаточно нудно. Но в принципе можно попробовать возложить эту почетную функцию на периодическую задачу. которая будет автоматически создаваться с нужными аналитиками каждый рабочий день.

  1. Добрый день.

    Много воды, наверно, утекло с момента создания этой темы. Возможно, она уже закрыта и я останусь без ответа, но рискну.
    Для начала скажу, что график отпусков составляется руководителем лично.
    2 вопроса по полю “Сотрудник” (если его создавать):
    1. Приходится вбивать вручную фамилию сотрудника. Может есть возможность использовать переменную в поле? Если да, то как? (я не нашёл в списке переменных). Опять же, если да, то как быть с теми, у кого даже рабочей электронной почты нет (не все же в офисе за компом сидят)*?
    2. По какой-то причине при создании фильтра по этому полю группировка не доступна. Вернее в выпадающем списке это поле не появляется.

    Именно из-за того, что не получилось с группировкой, хотел сделать логически наоборот: указывать отпускников исполнителями, это бы спасло в плане группировки, но тогда возвращаемся к вопросу не имеющих электронную почту. Вбивать свою или какую попало – как-то не по-перфекционистски.

    1. Здравствуйте!
      Темы срока давности не имеют, так что свободно задавайте вопросы в любой)
      Конкретно по рабочему календарю – прямо сейчас мы работаем над нативным рабочим календарем, который будет встроен в ПланФикс и позволит учитывать индивидуальный рабочий график для каждого сотрудника, включая отпуска, больничные, отгулы-прогулы и т.п. Как мне кажется, правильнее будет дождаться появления этого функционала и плясать уже от него.

  2. Доброго времени суток!
    Возникла сложность с графиком отсутствий, когда он заполняется и в днях и в часах. У Вас в описании есть пункт настройки отчета “формула (D-C)/180”.. Так вот, для задач без указания времени (только дат) эта формула работает верно, а для задач (отсутствий) с указанным конкретным временем она работает не верно (требуется указание формулы “(D-C)/60”).. можно ли как то учесть этот момент и либо ставить условие в расчетах столбца, либо привести к единой формуле расчеты планфикса?

    1. Здравствуйте!
      Вообще, с момента написания этой заметки в ПланФиксе появился штатный инструмент для такого учета, возможно им будет пользоваться удобнее: https://blog.planfix.ru/rabochij-kalendar-vyhodnye/
      https://blog.planfix.ru/kalendar-otpuskov/

      Если же по каким-то причинам пользоваться этим инструментом неудобно – напишите, попробуем совместными усилиями добить этот отчет.

      1. Штатный инструмент видели, но он совсем на дни ориентирован. А мой вопрос больше заключался в фиксации событий “опоздал на два часа”, “был пол дня с родственниками в больнице” и тому подобных.. Потому у меня в предыдущем комментарии и стоял вопрос именно в почасовке..

        1. Понял. Тогда предлагаю заменить формулу в последнем столбце отчета на такую:
          ЕСЛИ((D-C)<1439;(D-C)/60;(D-C)/180+0.01)

          У меня на тестовых данных она дала хороший результат, попробуйте.

Добавить комментарий