Как я сделал таблицу, чтобы вести учет рабочего времени
У нас на работе гибкий график.
Приходить и уходить можно, когда вам удобно, но в месяц суммарно я должен отработать из расчета ежедневного стандартного восьмичасового рабочего дня. В отделе кадров время присутствия на рабочем месте рассчитывается, когда сотрудник проходит на территорию и прикладывает магнитный пропуск, но доступа к этой информации у работников нет.
Таблица помогает мне в полной мере пользоваться возможностями гибкого графика, давая представление о необходимости задержаться на работе или, наоборот, наличии возможности уйти пораньше.
С чего все начиналось
Начиналось все с простой таблицы в «Экселе», куда я каждый день руками вбивал время прихода и ухода. Я хотел понимать, сколько времени мне нужно переработать или, наоборот, насколько раньше я могу уйти с работы, чтобы заняться своими делами. Потом я решил, что будет гораздо удобнее хранить такую таблицу в облаке, чтобы можно было в любой момент узнать текущее состояние моего рабочего времени, что позволило бы более гибко планировать свои дела.
После был длительный период всяческого украшательства таблицы. Например, я сделал так, чтобы определенные ячейки окрашивались в спектре от красного цвета к зеленому в зависимости от величины недоработки/переработки, полученной по итогам дня. Во времена, когда в гугл-таблицах еще не было таких штатных инструментов, как условное форматирование ячеек с раскраской по градиенту, это было интересной задачей. Но с некоторых пор Гугл добавил такую функцию.
Так, таблица определяет, в какое время я оказался на рабочем месте, и окрашивает ячейки в разные цвета в зависимости от того, нужно ли мне поработать еще:
- угрожающе-красный свидетельствует о том, что я недоработал более двух часов в месяц или одного часа в день;
- медитативно-зеленый означает, что я потратил на работу больше положенного времени — более двух часов в месяц или одного часа в день.
Дальше облачное приложение перекочевало в смартфон, что позволило повысить точность записи времени прихода-ухода, так как территория предприятия достаточно большая и путь от проходной до рабочего места может занимать 5—10 минут. Не то чтобы такая точность была необходима, но, как перфекционисту, она мне очень грела душу.
Затем я начал пытаться автоматизировать систему. Приложение гугл-таблиц для смартфона оказалось не очень удобным, да и вбивать данные зимой было совсем «не айс». Первые попытки были связаны с применением встроенного приложения Айфона «Команды» — тогда я и решил использовать гугл-скрипт, который активировался при нажатии на ярлык, созданный в этом приложении, осуществлял запись текущего времени и отправлял его в необходимую ячейку таблицы.
Итоговое время рассчитывалось при помощи стандартных формул в гугл-таблице. На этом этапе, в общем-то, можно было и остановиться, но автоматизация не была доведена до совершенства, и зима все еще причиняла неудобства в виде необходимости нажимать этот несчастный ярлык любыми открытыми частями тела. Перчатки снимать дело не благородное, сами понимаете.
Дальше, на сабреддите, посвященном приложению «Команды», я наткнулся на пост одного разработчика, который предлагал протестировать его приложение — «прокачанную» версию приложения «Эпл». В нем-то я и нашел свое успокоение.
Приложение позволяло создавать триггеры на основе геолокации, которые выполнялись автоматически в фоновом режиме и не требовали подтверждения действий со стороны пользователя, чем очень грешили «Команды». То есть оно наполняет таблицу данными, когда входите на определенную территорию и покидаете ее, с учетом характерных временных периодов и задержкой на повторное срабатывание.
Насколько я понимаю, данные по геолокации приложение брало при помощи штатных средств: то есть не создавало собственные операции, чтобы зафиксировать геолокацию, а довольствовалось теми командами, которые смартфон выполнял для своих собственных целей. Это позволило сохранить расход батареи практически на прежнем уровне. На всякий случай, чтобы исключить лишний расход, в триггер были введены дополнительные условия по рабочим дням недели и диапазону времени прихода и ухода.
В результате после небольшого периода отладки и выбора оптимального радиуса зоны-триггера вся эта схема работает без погрешностей уже больше года.
Как сделать такую же таблицу
Для того чтобы сделать аналогичную чудо-таблицу, можно использовать мой шаблон. Но для того чтобы ее автоматизировать, придется приложить немного усилий:
- Создать гугл-скрипт, который при активации будет вызывать действия, чтобы записать время прихода или ухода в определенных ячейках.
- Привязать его к триггеру, который будет автоматически запускать скрипт при выполнении определенных условий.
Триггер можно создать в различных приложениях автоматизации для смартфона, например IFTTT, Tasker, Automate для Андроида или Pushcut для Ай-ос. Требования к триггеру:
- Он должен надежно фиксировать момент нахождения на работе.
- Никаких ложных срабатываний.
- Минимальное влияние на расход батареи телефона, в котором он реализован.
Поэтому, если хотите, чтобы все инструменты работали совместно, — просто скачать шаблон таблицы не получится. Потребуется отладка скрипта и установка соответствующего триггера, который с ним сообщается.
Результат
Эта таблица определенно не является жизненно необходимой, но, как совестливому и гиперответственному человеку, мне важно, чтобы все было как надо. Или хотя бы плюс-минус в пределах допустимого разумного. Таблица помогает ориентироваться в моих возможностях — позволяет уйти, когда нужно освободиться пораньше, и не страдать потом от угрызений совести. Даже несмотря на то, что у нас на работе весьма демократичный порядок и на первом месте стоит результат, а не «отсидка», с такими угрызениями я все равно сталкиваюсь.
При этом можно вспомнить отдельные моменты, когда таблица действительно выручала. У всех демократичных порядков есть свой предел, и если у вас скапливается больше 5—10 часов недоработки, то на такое не обратить внимание достаточно сложно. Особенно в условиях, когда эти цифры приходят руководству в конце месяца без каких-то специальных запросов. В этих случаях таблица помогала мне понять, в какие дни произошла «утечка» рабочего времени, определить, чем она была вызвана, и объясниться перед начальством.
После завершения работы над таблицей я нахожусь в катарсисе, как человек, которому необходимо автоматизировать все рутинные действия или максимально оптимизировать их. Ну и конечно, с удовольствием возглавил бы крестовый поход автоматизации на борьбу с рутиной на заказ, но пока еще не придумал, как организовать себе такую подработку.