Управління обліком часу

Редакція Flowtly6 хвОновлено

Flowtly надає менеджерам два інтерфейси для контролю обліку часу співробітників: «Календарний вигляд» та «Табличний вигляд». Обидва доступні для ролей ROLE_WORKING_HOURS_VIEWER або ROLE_WORKING_HOURS_MANAGER та перемикаються у верхньому правому куті модуля «Робочий час».

Календарний вигляд забезпечує місячний огляд зафіксованих годин з назвами проєктів та розподілом часу по днях.

Табличний вигляд надає двотижневу матрицю денного зафіксованого часу порівняно з очікуваними годинами по всіх обраних співробітниках.

Рольовий доступ у календарному вигляді

ROLE_WORKING_HOURS_VIEWER — перегляд записів лише за призначеними проєктами. ROLE_WORKING_HOURS_MANAGER — перегляд та редагування записів будь-якого співробітника та проєкту.

Що відображає календарний вигляд

Місячний огляд записів часу обраних співробітників. Кожен день відображає записи з загальними годинами за проєктом. При натисканні на день відкривається детальна розбивка з ім'ям співробітника, проєктом, часом та описом.

Рольовий доступ у табличному вигляді

  • ROLE_WORKING_HOURS_VIEWER — перегляд лише за своїми проєктами, без розгортання рядків.
  • ROLE_WORKING_HOURS_MANAGER — перегляд та редагування для всіх, без розгортання.
  • ROLE_PROJECTS_MANAGER додатково — розгортання для детальної розбивки за проєктами.
  • Обидві ролі разом — повний доступ.

Що відображає табличний вигляд

Сітка з денним зафіксованим та очікуваним часом по співробітниках. Дні поза межами діючої угоди співробітника не відображають очікуваного часу. Вихідні та свята — сірий фон. При розгортанні рядка — проєкти, час та ставки. Червоне попередження «Відсутня ставка» з посиланням на налаштування.

Переміщення запису часу до іншого проєкту

Редагування запису часу включає проєкт, до якого він прив'язаний, тому зміна цього поля переміщує години з одного проєкту до іншого, а не копіює їх. Це звичайний спосіб виправити час, зафіксований у невірному місці.

Flowtly відмовляє у переміщенні, якщо проєкт, з якого години виходять, був виставлений рахунок. Запис залишається точно там, де він був, і нічого не зберігається. Повідомлення на екрані є загальним повідомленням про помилку, а не поясненням правила — тому, якщо зміна проєкту не зберігається, а решта правок запису працює нормально, першим кроком слід перевірити виставлення рахунків за оригінальний проєкт.

Два деталі визначають, чи буде переміщення відхилено:

  • Перевірка стосується проєкту, з якого виходять години, а не проєкту призначення. Переміщення годин у проєкт, для якого виставлено рахунок, не обмежується.
  • Враховується будь-який рядок рахунку, виставленого для цього проєкту, а не лише рядки, виставлені в годинах. Проєкт, якому один раз виставили рахунок за фіксованим ціновим етапом, також відмовить у переміщенні, оскільки Flowtly не фіксує, які окремі записи лягли в основу конкретного рядка рахунку, і не здогадуватиметься.

Лише зміна проєкту є обмеженою. Тривалість, опис та дата годин проєкту з виставленим рахунком залишаються доступними для редагування, як завжди — проєкт з виставленим рахунком не стає лише для читання.

Якщо години дійсно належать до іншого місця, вирішуйте це як питання виставлення рахунків, а не відстеження часу: цифри у виставленому рахунку були отримані з цього проєкту, тому перед переміщенням часу зверніться до особи, яка керує виставленням рахунків для нього.

Фільтри

  • Фільтр за співробітниками — фільтруйте записи часу, вибираючи конкретних співробітників. Якщо ви можете переглядати час інших людей, сторінка відкривається з усіма, кого вам дозволено бачити; Лише я поруч із фільтром одним кліком перемикає на ваш власний час, а повторний клік знову показує всіх. Користувачі, які обліковують лише власний час, завжди бачать тільки себе.
  • Фільтр за проєктами
  • Комбінація обох

Фільтри застосовуються, щойно ви позначаєте людину або проєкт, — кнопки «Застосувати» немає. Вибрані люди, проєкти й місяць є частиною адреси сторінки, тож перезавантаження сторінки їх зберігає, і ви можете поділитися посиланням саме на цей вигляд.

Експорт

Кнопка Завантажити табель відкриває вікно з параметрами: діапазон дат, підпроєкти (відображається лише при використанні фільтра проєктів), групування, тип звіту та формат.

  • Групувати за і, за бажанням, Потім за: Член команди, Проєкт або Завдання. Пропонується лише те, за чим можна розділити ваш вибір: Член команди, коли експорт охоплює більше ніж одну особу, Проєкт, коли він охоплює більше ніж один проєкт або включає підпроєкти, і Завдання завжди. Коли Завдання — єдиний варіант, вікно про це повідомляє. Потім за з'являється після вибору Групувати за і ніколи не пропонує той самий варіант двічі.
  • Тип звіту: Тип 1 (детальний) містить кожен запис; Тип 2 — Для клієнта: підсумок послуг — це підсумок із цінами для клієнта. Раніше вони називалися Внутрішній (детальний) і Для клієнта — підсумок послуг.
  • Формат (PDF, CSV або XLSX) для Типу 1. XLSX має ті самі стовпці, що й CSV, числа збережено як числа, тож їх можна одразу підсумувати, і для нього діє той самий ліміт записів, що й для CSV. Тип 2 — завжди PDF зі ставкою та сумою нетто в кожному рядку.
  • Запам’ятати ці налаштування: наступного разу вікно відкриється з цим типом звіту, групуванням і форматом.

Попередній перегляд структури

Поруч із параметрами експорту діалог показує Попередній перегляд звіту з позначкою Лише структура: він показує будову звіту, а не готові сторінки. Ви бачите кожну групу з кількістю записів і годин, перші записи першої групи, після яких іде рядок на кшталт … ще 12 записів, і загальний підсумок. Для звіту Тип 2 — Для клієнта: підсумок послуг перегляд також показує ставку й суму нетто кожного рядка та загальну суму нетто.

Рядок угорі підсумовує експорт. Для Типу 1 він виглядає, наприклад, так: ≈ 4 сторінки · 3 учасники · 5 груп: кількість сторінок є оцінкою, а учасники — це люди, чий час містить експорт. Для Типу 2 натомість показано суму нетто, наприклад ≈ 2 сторінки · нетто 71 550,00 PLN.

Якщо група мала б початися на останніх рядках сторінки, перед нею вставляється розрив сторінки, щоб її заголовок залишився разом із її рядками. Перегляд позначає це пунктирною лінією Розрив сторінки перед цією групою · інакше її було б розділено, а примітка поруч із параметрами називає групу й сторінку.

Перегляд оновлюється після кожної зміни дат, вибору, типу звіту та групування. Якщо за цей період для вибраних людей і проєктів час не записано, він про це повідомляє, і кнопка Завантажити залишається неактивною, доки ви не розширите діапазон або не зміните вибір. Якщо перегляд не вдалося завантажити, ви все одно можете завантажити звіт або вибрати Завантажити перегляд знову. Для дуже великого експорту перегляд рахує лише перші записи й повідомляє про це; завантажений файл усе одно містить усі.

Запам’ятовування налаштувань

Позначте Запам’ятати ці налаштування перед завантаженням, і тип звіту, групування та формат файлу буде використано знову під час наступного відкриття вікна. Вони зберігаються окремо для кожної особи та організації, тож діють і в іншому браузері чи на іншому комп’ютері. Коли щось збережено, прапорець уже позначено.

Діапазон дат і вибрані особи та проєкти ніколи не запам’ятовуються, бо вони описують один експорт, а не спосіб роботи. Щоб забути збережене, зніміть прапорець і завантажте звіт.

Якщо запам’ятоване групування не підходить до поточного вибору (наприклад, збережено Член команди, а експорт охоплює одну особу), вікно повідомляє про це й називає групування, яке не вдалося застосувати, замість того щоб мовчки видати звіт без групування. Групування знову діє, щойно вибір це дозволяє.

Попередні експорти та порівняння з сьогоднішніми годинами

Кожен завантажений табель зберігається, тому вікно Export Report також показує під параметрами експорту список Попередні експорти. У кожному рядку зазначено день експорту, хто його виконав, і короткий опис охоплення — скільки осіб і як саме згруповано дані.

З рядка можна зробити дві речі:

  • Завантажити файл знову. Ви отримуєте початковий файл, точно в тому вигляді, в якому його надіслали, а не новий експорт сьогоднішніх годин.
  • Порівняти з поточними годинами. Саме це знадобиться, коли хтось оскаржує рахунок.

Експорти зберігаються з моменту появи цієї функції, тому список починається порожнім і заповнюється з кожним новим експортом. Файлів, завантажених раніше, у ньому немає.

Що показує порівняння

Порівняти з поточними годинами ставить поруч три версії того самого табеля, по одному запису в рядку:

  • Зараз — години в тому вигляді, в якому вони записані сьогодні.
  • Після коригувань — години в тому вигляді, в якому їх подав звіт, якщо цей експорт створено з перевіреного чернетки. Порожньо для експорту без коригувань.
  • Експортовано — те, що насправді містив надісланий файл.

Рядок, який змінився після експорту, позначено, а примітка розписує різницю: експортовано 2:30, зараз 3:00. Це відповідь на «файл каже одне, а система інше» — вона вказує, який запис змінився і наскільки.

Два рядки читаються по-різному, і ця різниця важлива:

  • Більше недоступний — запис зараз неможливо прочитати. Його могли видалити, або він просто поза межами того, що вам дозволено бачити. Порівняння не каже, який саме випадок, а його години залишаються поза підсумком «Зараз», замість того щоб враховуватися як нуль. Коли якийсь рядок у цьому стані, порівняння повідомляє, скільки їх, тому підсумок, який ніби не збігається, має пояснення, а не лишається загадкою.
  • Додано після експорту — запис зроблено зараз, у межах періоду та фільтрів, які охоплював експорт, але у файлі його не було.

Сам експортований файл ніколи не змінюється. Порівняння повідомляє лише про те, що сталося після нього.

Як групування виглядає в кожному звіті

  • CSV - якщо вибрано метод групування, кожен рядок вказує проєкт або особу, до якої він належить, у тому самому написанні, що й в експорті без групування.
  • Тип 2 (PDF) - якщо вибрати Член команди або Проєкт як метод групування, оцінені рядки групуються відповідно. Кожна група містить свої рядки зі ставкою та сумою нетто, завершується проміжним підсумком, а звіт завершується загальним підсумком. Група особи ніколи не об'єднує рядки з різних проєктів.
  • Заголовок клієнта - коли всі рядки звіту для клієнта належать одному клієнту, звіт починається з цього клієнта та замовника роботи, незалежно від того, чи він згрупований. Звіт, що охоплює кількох клієнтів, не має єдиного заголовка клієнта.
  • Назви проєктів у рядках - коли звіт не згрупований за проєктом, кожен рядок починається зі свого проєкту: Проєкт · опис.
  • Час без особи - записи без особи збираються в групі Без особи.

Який розмір може мати експорт

Експорт завжди містить усі записи, що відповідають вашому вибору; його ніколи не обрізають. Занадто великий вибір натомість відхиляється, а діалогове вікно показує причину, щоб ви могли його змінити:

  • Кількість записів. PDF може містити до 10 000 записів часу, а CSV — до 50 000. Понад це виберіть коротший діапазон дат або менше людей чи проєктів. Оскільки CSV вміщує більше, вибір Типу 1, завеликий для PDF, усе ще можна експортувати як CSV.
  • Тривалість періоду. Діапазон дат може охоплювати щонайбільше один рік. Для довшого періоду експортуйте його частинами.

Експорт цілого проєкту разом з фазами

Фільтр проєктів відповідає лише обраним проєктам і нічому, що знаходиться нижче них. Вибір лише батьківського проєкту поверне тільки години, зареєстровані безпосередньо на ньому. Для проєкту, розбитого на фази, це зазвичай майже нічого — години знаходяться на фазах.

Позначте Uwzględnij podprojekty, щоб включити всі фази нижче обраних проєктів на будь-якому рівні вкладеності. У поєднанні з Групувати за → Проєкт і форматом CSV це відповідає на питання «скільки годин пішло на цей проєкт і куди саме» в одному файлі: один рядок на фазу, що охоплює всіх співробітників, які реєстрували час.

Дві речі, які варто знати:

  • Параметр діє лише вниз. Вибір однієї фази додає її власні підфази, але ніколи батьківський проєкт або сусідні фази.
  • За замовчуванням вимкнено, тому вже використовуваний експорт повертатиме рівно те, що повертав раніше.

Звідки беруться заплановані години

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

Найкраще це видно для співробітників, зайнятих лише частину видимого періоду:

  • Співробітник, який приєднується в середині періоду, планується починаючи з дати початку угоди; дні до цієї дати не мають очікуваного часу.
  • Співробітник, угода якого завершилася, планується лише до дати закінчення. Період, що повністю припадає після його відходу, не показує планових годин.
  • Співробітник, зайнятий протягом усього періоду, планується на весь його обсяг відповідно до тижневого нормативу за угодою.

Типи угод, що не беруть участі в системних розрахунках, — наприклад, лист про наміри або запис про виробничу практику, — не встановлюють очікуваного часу. Якщо у співробітника немає жодної угоди — наприклад, підрядник з погодинною оплатою — замість цього застосовується стандартний повний робочий день, щоб дні такого співробітника залишалися видимими для перегляду, а не відображалися як нуль.

Приклади використання

  • Моніторинг навантаження команди: визначення співробітників з незаповненими годинами.
  • Звітність для клієнтів: генерація детального табелю за проєктом у PDF.
  • Перевірка бюджету проєкту: контроль наявності ставок перед виставленням рахунків.
  • Аналіз розподілу ресурсів: огляд розподілу часу між проєктами за квартал.

Пов’язані посібники