Нас достаточно часто спрашивают, как можно построить в ПланФиксе работу по ведению рабочего календаря, в котором бы отображались отпуска, больничные и прочие виды отсутствия сотрудников. Сегодняшний кейс будет полезен как для решения конкретно этой задачи, так и в качестве демонстрации общего подхода к решению бизнес-задач при помощи ПланФикса.
Перед стартом – небольшое отступление:
вообще, в наших планах есть создание встроенного функционала рабочего календаря, в котором будут отображаться как стандартные для того или иного государства праздники (производственный календарь страны), так и корпоративная сетка рабочих дней. Плюс, туда же можно будет загонять календарь отпусков/больничные/отгулы за прогулы и прочие виды отлынивания от работы. Прелесть встроенного функционала будет в том, что отмеченное в нем отсутствие система сможет учитывать при расчете ожидаемых дат завершения задач, что актуально для диаграммы Ганта и в принципе при планировании сроков. Но пока этот функционал мирно дремлет в планах, кое-что можно сделать своими руками, при помощи доступных уже сегодня инструментов – а именно, отображение графика отсутствий в календарном виде + кое-какие бизнес-процессы, связанные с согласованием и учетом этих отсутствий.
Стартуем мы с вами с относительно простого варианта.
Исходные условия бизнес-задачи будут у нас следующие:
- сотрудники сами вносят данные о предполагаемом отпуске или отсутствии (в том числе и по личным делам);
- руководитель должен видеть все эти данные в календаре в разрезе по сотрудникам, чтобы представлять, на кого и когда он может рассчитывать.
То есть, такая себе либеральная компания без особой бюрократии и согласований – но с разумным стремлением к порядку.
Для реализации нам понадобятся:
- Проект, в котором будут собираться такие задачи – я назвал его “Рабочий календарь”. Думаю, вы сможете создать его без подробных подсказок.
- Шаблон задач “Отсутствия”. Я решил немного оптимизировать его и поубирать лишние поля. В порядке эксперимента записал небольшой скринкаст о том, как это делается:
(микрофончик у меня плохонький, поэтому заранее прошу прощения за качество звука)
Дополнительно я добавил в шаблон кастомное поле “Личные дела” – оно нужно для того, чтобы иметь возможность исключать время, затраченное на личные дела, из оплачиваемого времени сотрудника. По этому поводу тоже записал короткий скринкаст – он будет полезен для демонстрации создания кастомного поля в принципе, я его потом собираюсь использовать в справке:
Итак, каждый сотрудник при необходимости отсутствия на рабочем месте:
– создает задачу по шаблону “Отсутствия”,
– дает ей говорящее название вроде “Отпуск”, “Отгул”, “Больничный” и т.п.
– при необходимости указывает, что это отсутствие происходит по личным причинам (то есть, не будет оплачиваться).
Еще нам понадобится фильтр задач “Рабочий календарь”, в котором руководитель будет видеть куда разбежались его тараканы. Вот его параметры:
Как видите, я просто отбираю задачи из проекта “Рабочий календарь” и группирую их по постановщику. Так как каждый сотрудник самостоятельно создает задачи со своими отсутствиями, это приводит к тому, что задачи в списке (и на календаре) разбиваются по сотрудникам.
Для удобства отображения выбираем для этого фильтра вид отображения “Диаграмма Ганта“:
И вот он, наш график отсутствий:
Как видите, вполне наглядно и удобно. Шкала календаря может изменяться от часов до месяцев, двигаться по нему можно, перемещая ползунок, так что с просмотром графика в нужной детализации за любой период проблем не будет.
Теперь давайте создадим отчет “Отсутствие по личным делам” – в нем можно посмотреть кто из сотрудников сколько отсутствовал по личным делам в выбранный промежуток времени. Вот скриншоты с его настройками (по клику вы увидите их в полном виде):
Вот как выглядят результаты выполнения отчета:
Эти данные можно использовать просто для контроля или для учета вычетов при расчете зарплаты.
Всё, настройка завершена. В этом виде наш рабочий календарь уже вполне можно использовать – даже если сделать таким образом только график отпусков работников, уже будет полезно, а мы с вами тут и прочие отсутствия учитываем. В качестве развития идеи, давайте рассмотрим несколько “если”.
Если нам нужно вести учет отсутствия в часах, а не днях
Ничего менять не придется – просто сотрудники должны указывать не только даты, но и время начала/окончания отсутствия. Все будет работать точно также: график покажет кто когда отсутствовал или собирается отсутствовать, а отчет поможет подбить итоги отсутствия по личным делам.
Если график нужно видеть не только руководителю, но и другим сотрудникам
Так как каждое отсутствие – это задача, достаточно сделать так, чтобы эти задачи видели нужные люди. Проще всего для этого добавить их в качестве участников этих задач, и сделать это лучше всего в шаблоне “Отсутствия” (Редактировать/Участники/Указываем нужных/Сохранить).
Причем добавлять можно не только отдельных сотрудников, но и целые группы. Например, если создавать задачи по шаблону, в котором в качестве участника задана группа, содержащая всех сотрудников аккаунта, то такие задачи станут доступны всем этим сотрудникам и они смогут увидеть их в рабочем календаре. То есть, все будут видеть всё – иногда такое тоже полезно.
Чтобы они могли просматривать его, нужно дать им доступ к настроенному нами фильтру “Рабочий календарь”:
Если нужно согласовывать отпуска и отсутствия
Представим, что наша изначально либеральная компания помаленьку двигается в сторону ужесточения контроля и теперь отпуска нужно согласовывать с руководителем. Как это можно сделать?
Например, так:
- добавляем в шаблоне поле “Исполнитель” (обычно оно там есть, просто ранее в своем скринкасте я удалил его в целях оптимизации);
- прописываем в этом поле шаблона исполнителем руководителя (или другое лицо, которое согласовывает отпуска);
Теперь задачи-отсутствия сразу попадают к руководителю на согласование. В простом виде согласование может выглядеть так: руководитель видит заявку на отпуск и может принять задачу (значит, она уже согласована) или отклонить ее (в комментарии к отклонению он может написать причину).
В более сложном варианте можно сделать специальный набор статусов для отсутствий, который будет включать в себя кастомный статус “Согласовано”. Редактируем шаблон “Отсутствия”, изменяем в нем стандартный набор статусов на созданный нами кастомный – и задачи, которые будут созданы по этому шаблону, получат этот набор статусов. При таком подходе фактом согласования будет уже не просто принятие задачи руководителем, а перевод ее в этот статус.
В обоих вариантах нам понадобится включить дополнительное условие отбора в фильтр “Рабочий календарь” и в отчет “Отсутствие по личным делам” – нужно исключить из них несогласованные задачи. В картинках описывать все это не буду, мне кажется это достаточно простым. Но если кто-то столкнется с затруднениями в процессе настройки – ставьте задачу на техподдержку ПланФикса, мы обязательно поможем.
Если отсутствия вносит не каждый за себя, а руководитель / HR менеджер за всех сотрудников
Добавляем в наш шаблон поле “Сотрудник” и указываем в нем сотрудника, по которому планируется отсутствие. Это позволит ответственному сотруднику вводить данные, вообще не подключая сотрудников к этой задаче. Тут тоже понадобится слегка перенастроить фильтр и отчет – вместо постановщика или исполнителя, условия должны оперировать созданным полем “Сотрудник” – группировка должна идти по этому полю, а не по постановщику.
***
Пока это все “если”, которые пришли мне в голову. Надеюсь, иллюстрация удалась и теперь вы представляете, как сделать календарь отпусков и прочих отсутствий для своей компании. Но если ваша ситуация сложнее и как подойти к ее реализации в ПланФиксе вам по-прежнему непонятно – напишите об этом в комментариях или поставьте задачу в техподдержку, если удобнее пообщаться приватно.
по такому подходу можно учитывать и рабочие дни. Вот только как учитывать количество часов за каждый день, как рабочий так отгул?
Боюсь в ответе попасть пальцем в небо) Нужно более подробное описание ситуации.
В моём случае учитываются не только рабочие и нерабочие дни, но ещё и к-во рабочих часов за рабочий день или количество часов на которые отпросился сотрудник.
Рабочих дней может быть 10, а вот рабочих часов 70-75. И из них уже считаются различные показатели.
Навскидку мне кажется, что в таком случае можно вводить информацию аналитиками в часах. Единственное что – придется каждый день вводить данные, да еще в разрезе по каждому сотруднику (если их рабочие часы различаются), а это достаточно нудно. Но в принципе можно попробовать возложить эту почетную функцию на периодическую задачу. которая будет автоматически создаваться с нужными аналитиками каждый рабочий день.
Добрый день.
Много воды, наверно, утекло с момента создания этой темы. Возможно, она уже закрыта и я останусь без ответа, но рискну.
Для начала скажу, что график отпусков составляется руководителем лично.
2 вопроса по полю “Сотрудник” (если его создавать):
1. Приходится вбивать вручную фамилию сотрудника. Может есть возможность использовать переменную в поле? Если да, то как? (я не нашёл в списке переменных). Опять же, если да, то как быть с теми, у кого даже рабочей электронной почты нет (не все же в офисе за компом сидят)*?
2. По какой-то причине при создании фильтра по этому полю группировка не доступна. Вернее в выпадающем списке это поле не появляется.
Именно из-за того, что не получилось с группировкой, хотел сделать логически наоборот: указывать отпускников исполнителями, это бы спасло в плане группировки, но тогда возвращаемся к вопросу не имеющих электронную почту. Вбивать свою или какую попало – как-то не по-перфекционистски.
Здравствуйте!
Темы срока давности не имеют, так что свободно задавайте вопросы в любой)
Конкретно по рабочему календарю – прямо сейчас мы работаем над нативным рабочим календарем, который будет встроен в ПланФикс и позволит учитывать индивидуальный рабочий график для каждого сотрудника, включая отпуска, больничные, отгулы-прогулы и т.п. Как мне кажется, правильнее будет дождаться появления этого функционала и плясать уже от него.
Принято, спасибо!
Доброго времени суток!
Возникла сложность с графиком отсутствий, когда он заполняется и в днях и в часах. У Вас в описании есть пункт настройки отчета “формула (D-C)/180”.. Так вот, для задач без указания времени (только дат) эта формула работает верно, а для задач (отсутствий) с указанным конкретным временем она работает не верно (требуется указание формулы “(D-C)/60”).. можно ли как то учесть этот момент и либо ставить условие в расчетах столбца, либо привести к единой формуле расчеты планфикса?
Здравствуйте!
Вообще, с момента написания этой заметки в ПланФиксе появился штатный инструмент для такого учета, возможно им будет пользоваться удобнее: https://blog.planfix.ru/rabochij-kalendar-vyhodnye/
https://blog.planfix.ru/kalendar-otpuskov/
Если же по каким-то причинам пользоваться этим инструментом неудобно – напишите, попробуем совместными усилиями добить этот отчет.
Штатный инструмент видели, но он совсем на дни ориентирован. А мой вопрос больше заключался в фиксации событий “опоздал на два часа”, “был пол дня с родственниками в больнице” и тому подобных.. Потому у меня в предыдущем комментарии и стоял вопрос именно в почасовке..
Понял. Тогда предлагаю заменить формулу в последнем столбце отчета на такую:
ЕСЛИ((D-C)<1439;(D-C)/60;(D-C)/180+0.01)
У меня на тестовых данных она дала хороший результат, попробуйте.
А возможно ли поставить рабочий день
9,00-13,00
13,30-17,30
?
Пока нет, только целые часы. Но есть постоянные запросы на это, так что стоит ожидать доработок.
По моему некоторое время назад это было возможно сделать.
Спасибо за ответ!