1. Мета етапу
Закласти основу, на якій будуть побудовані всі наступні модулі: персонал, автопарк, контрагенти, Issue Log, диспетчеризація, фінанси.
До неї входить:
- робота кількох фірм в одній системі;
- гнучкі доступи для кожної людини: до модулів, дій, фірм, записів і окремих полів;
- правило «доступ через прив'язку»;
- історія змін: хто, що, кому і коли змінив;
- зв'язки між записями та вкладення: основа для Issue Log і документів у будь-якій картці.
Чому це перший етап. Ці механізми проходять через усі модулі. Якщо додати їх пізніше, довелося б переробляти кожен уже готовий модуль. Закладені на старті, вони автоматично працюють у кожному новому модулі.
2. Що ви отримаєте після етапу
- Розділ «Фірми»: MF sp. z o.o. і Fedko sp. z o.o. ведуться в одній системі. Нову фірму адміністратор додає сам, без програміста.
- Розділ «Користувачі та доступи»: кожній людині можна призначити роль як стартовий набір прав і змінити будь-яке право індивідуально.
- Доступ налаштовується за п'ятьма вимірами: модулі → дії → фірми → записи → поля.
- Працює правило «доступ через прив'язку».
- Розділ «Історія змін»: усі зміни доступів зберігаються, їх можна переглянути й відфільтрувати.
- До картки запису можна прикріпити документ або прив'язати інший запис.
- Усе це вже працює в наявних розділах системи: «Графік водіїв», «Водії», «Авто», «Довідники», «Користувачі».
3. Склад робіт
3.1. Фірми
Картка фірми — поля:
| Поле | Тип у формі | Обов'язкове | Приклад | За що відповідає |
|---|---|---|---|---|
| Коротка назва | Текст | Так | Fedko | Як фірма показується в перемикачі, бейджах, фільтрах і списках |
| Юридична назва | Текст | Так | Fedko sp. z o.o. | Повна назва для документів, фактур і договорів |
| NIP | Текст, 10 цифр | Так | 5260001234 | Податковий номер. Перевіряються формат і контрольна цифра; двох фірм з одним NIP бути не може. Надалі — ключ інтеграції з KSeF |
| REGON | Текст, 9 або 14 цифр | Ні | 123456789 | Статистичний номер для реквізитів |
| KRS | Текст, 10 цифр | Ні | 0000123456 | Номер у Національному судовому реєстрі для реквізитів |
| Адреса | Вулиця, індекс, місто, країна | Так | ul. Przykładowa 1, 00-001 Warszawa, Polska | Юридична адреса для документів |
| Логотип | Завантаження зображення (PNG, JPG, SVG) | Ні | — | Показується в списку фірм, надалі — на документах |
| Статус | Перемикач «Активна / Неактивна» | Так | Активна | Неактивна фірма зникає з перемикача й вибору в нових записах; її дані зберігаються |
| Банківські рахунки | Окрема вкладка картки | Ні | — | Кілька рахунків, поля — у таблиці нижче |
| KSeF | Блок налаштувань | — | — | Місце в картці резервуємо зараз, заповнюється в етапі «Фінанси» |
| Нумерація документів | Шаблон номера | — | — | Так само, етап «Фінанси» |
Банківський рахунок фірми — поля:
| Поле | Тип у формі | Обов'язкове | Приклад | За що відповідає |
|---|---|---|---|---|
| Банк | Текст | Так | PKO BP | Назва банку в списку рахунків |
| IBAN | Текст | Так | PL61 1090 1014 0000 0712 1981 2874 | Номер рахунку. Перевіряються формат і контрольна сума |
| Валюта | Випадний список: PLN, EUR, … | Так | EUR | У якій валюті рахунок; надалі — вибір рахунку у фінансах |
| SWIFT / BIC | Текст | Ні | BPKOPLPW | Для міжнародних платежів |
| Основний | Перемикач | — | Так | Рахунок за замовчуванням; основний лише один для кожної валюти |
| Примітка | Текст | Ні | Для лізингових платежів | Пояснення, для чого рахунок |
Що прив'язується до фірми:
| Дані | Прив'язка | Як працює |
|---|---|---|
| Фінанси (фактури, платежі, баланси) | Строго одна фірма | Дані однієї фірми ніколи не потрапляють в іншу. Розділення гарантує сама база даних, а не лише інтерфейс |
| Працівники | Одна або кілька фірм | Працівник може належати до кількох фірм одночасно |
| Авто | Фірма-власник | Позначка фірми на кожному авто |
| Контрагенти | Одна, кілька або всі фірми | Вибір фірм у картці контрагента |
| Issue Log і чати | Спільні | Без прив'язки до фірми |
Робота користувача з фірмами:
- кожен користувач бачить дані лише тих фірм, до яких має доступ;
- якщо доступ є до кількох фірм, у списках з'являється фільтр за фірмою, а в записах видно позначку фірми;
- нову фірму додає адміністратор у налаштуваннях; вона одразу доступна для прив'язки авто, працівників і контрагентів.
Наявні дані: поточні водії й авто з «Графіка водіїв» отримують позначку фірми (за замовчуванням Fedko, з можливістю змінити).
3.2. Користувачі та доступи
Принцип
- Роль — це шаблон. Наприклад, «Диспетчер» містить стартовий набір прав.
- Права людини = права ролі + індивідуальні зміни. Будь-яке право можна окремо додати або забрати конкретній людині. Решта прав і далі йде від ролі.
- Якщо змінити права ролі, зміни отримають усі люди з цією роллю, крім прав, які кожному змінили індивідуально.
П'ять вимірів доступу
| Вимір | Що налаштовується | Приклад |
|---|---|---|
| Модулі | До яких розділів є доступ | Диспетчер бачить «Графік водіїв», але не «Фінанси» |
| Дії | Перегляд, створення, редагування, видалення, погодження | Логіст переглядає графік, але не змінює його |
| Фірми | Дані яких фірм видно | Фінансист працює лише з MF |
| Записи | Свої / свого відділу / всі | Диспетчер бачить лише свої замовлення |
| Поля | Чутливі поля видно лише окремим людям | Зарплату бачать лише керівник і HR |
Як це працює в системі
- Записи. Обмеження «свої / відділу / всі» застосовується вже на рівні бази даних. Людина не отримує чужих записів у списках, пошуку, фільтрах, лічильниках, експорті.
- Поля. Чутливі поля об'єднуються в групи («Зарплата», «Особисті документи», «Банківські дані»). Без доступу до групи поле просто не приходить із сервера: його не видно ні на екрані, ні в експорті.
- Погодження. Окрема дія «погодити» для процесів, які цього потребують (відпустка, аванс, фактура тощо). Механізм закладаємо зараз, процеси підключатимуться разом із модулями.
- Відділи. Довідник відділів і прив'язка людей до них, щоб працював рівень «свого відділу».
- Відповідальний. У картках водія й авто з'являється поле «Відповідальний» (користувач системи). Саме за ним працює рівень «свої»: людина бачить записи, де відповідальна вона. У нових модулях так само (наприклад, замовлення диспетчера).
- Адміністратор. Повний доступ мають лише користувачі з позначкою «Адміністратор». Видати таку позначку може тільки інший адміністратор.
Рівні доступу до записів
| Значення | Що бачить людина | Приклад |
|---|---|---|
| Свої | Лише записи, де відповідальна вона | Диспетчер бачить лише своїх водіїв і свої авто |
| Відділу | Записи, де відповідальний — будь-хто з її відділу | Керівник диспетчерського відділу бачить водіїв усіх своїх диспетчерів |
| Усі | Усі записи фірм, до яких є доступ | Логіст бачить усіх водіїв |
Рівень задається окремо для кожного модуля: можна бачити всі авто, але лише своїх водіїв.
Стартові ролі
Створюємо 10 ролей зі стартовими наборами прав:
водій, рекрутер, HR, старший HR, фінансист, диспетчер, логіст, технічний спеціаліст, керівник, президент.
Стартові набори прав заповнюєте ви в таблиці «роль × модуль × дія» (додаємо Excel). Ролі можна перейменовувати, додавати й видаляти з адмінки.
Екран «Доступи користувача»
Окрема вкладка в картці користувача: роль, фірми, відділ, таблиця прав «модуль × дія», рівні доступу до записів і чутливі поля. Детально — у п. 4.7.
3.3. Доступ через прив'язку
Правило. Якщо документ прикріплений до запису, до якого людина має доступ, вона бачить цей документ, навіть без доступу до модуля, звідки він походить.
Приклад. Диспетчер не має доступу до модуля «Фінанси». До картки сервісу його авто прикріплена фактура за ремонт. Диспетчер відкриває й читає саме цю фактуру. Інших фактур він і далі не бачить, а сам модуль «Фінанси» для нього закритий.
Межі правила:
- доступ лише на перегляд, без редагування;
- лише пряма прив'язка: якщо до фактури прикріплений ще один документ, він не відкривається автоматично;
- доступ діє, поки існує прив'язка: відкріпили документ, і доступ зникає;
- кожне відкриття документа через прив'язку фіксується в історії.
3.4. Історія змін
Що фіксується в етапі 0:
- усі зміни доступів: роль, індивідуальні права, фірми, відділ, рівні доступу, групи полів;
- зміни ролей і їхніх наборів прав;
- створення й зміни фірм;
- надання й зняття позначки «Адміністратор»;
- блокування й розблокування користувачів.
Запис історії — поля:
| Поле | Приклад | За що відповідає |
|---|---|---|
| Дата й час | 02.10.2026, 14:32 | Коли відбулася зміна, з точністю до секунди |
| Хто змінив | Олена Коваль | Користувач, який зробив зміну |
| Тип зміни | Доступи користувача | Для фільтрації: доступи, ролі, фірми, відділи, користувачі, адміністратор, відкриття через прив'язку |
| Об'єкт | Іван Петренко | Кому або що змінили: користувач, роль, фірма, відділ |
| Що змінилося | Роль: Логіст → Диспетчер | Перелік змін у форматі «було → стало» |
Екран «Історія змін»:
- фільтри: за користувачем, який змінив; за людиною, якій змінили; за типом зміни; за періодом;
- історія змін доступів окремої людини прямо в її картці.
Історію не можна відредагувати чи видалити з інтерфейсу.
Механізм універсальний: ті самі записи історії використовуватимуть наступні модулі для змін у своїх картках.
3.5. Зв'язки між записями та вкладення
Вкладення:
- до будь-якої картки можна прикріпити файли: PDF, фото, документи;
- для кожного файлу видно, хто й коли його завантажив;
- файли зберігаються в захищеному сховищі й відкриваються лише тим, хто має доступ до картки (або через прив'язку).
Зв'язки між записями:
- будь-який запис можна прив'язати до іншого, наприклад авто ↔ документ, водій ↔ заявка;
- у картці видно список пов'язаних записів;
- на цьому механізмі побудуємо Issue Log («заявку можна прив'язати до будь-якого запису») і правило «доступ через прив'язку».
В етапі 0 вкладення й зв'язки доступні в картках водія й авто. Правило «доступ через прив'язку» перевіряємо на зв'язці «водій ↔ авто» і на документах, прикріплених до авто.
3.6. Наявні розділи системи
Переводимо на нову модель доступів усе, що вже працює:
- «Дашборд»;
- «Графік водіїв»;
- «Водії» (позначка фірми);
- «Авто» (позначка фірми);
- «Довідники»;
- «Користувачі» і «Ролі».
4. Інтерфейс: розділи, екрани, фільтри
4.1. Як система виглядає зараз (базові елементи)
Нові екрани будуємо з тих самих елементів, що вже є в системі, тому вони виглядатимуть і працюватимуть так само, як наявні розділи.
- Бічне меню зліва (згортається): Дашборд → Графік водіїв → Водій → Машина → Ролі → Користувачі, внизу «Налаштування». Пункт меню видно лише тим, хто має право перегляду розділу.
- Верхній рядок сторінки: зліва назва розділу, справа кнопка профілю (аватар, ім'я, e-mail).
- Сторінка-список (як «Водій», «Машина», «Користувачі»):
- панель інструментів: поле пошуку з іконкою лупи, випадні списки фільтрів, мультивибір із галочками, справа основна кнопка «Додати…»;
- сегменти з лічильниками над таблицею, наприклад «Активні (12) · Кандидати (3) · На паузі (1) · Звільнені (5)»;
- рядок активних фільтрів: кожен фільтр — «чіп» із хрестиком, поруч кнопка «Очистити все»;
- таблиця: клік по рядку відкриває картку, справа в рядку компактні іконки дій (редагувати, видалити тощо);
- підвал таблиці: вибір кількості рядків на сторінці та пагінація;
- під час завантаження — сірі «скелетони» рядків замість порожнього екрана.
- Картка запису — модальне вікно по центру: заголовок із хрестиком закриття, вкладки під заголовком (як у картці користувача: «Деталі · Безпека · Сесії» або в картці ролі: «Основне · Права · Користувачі»), внизу кнопки «Скасувати» і «Зберегти».
- Підтвердження небезпечних дій — окреме вікно «Ви впевнені?». Результат дії — спливаюче повідомлення (тост) у куті екрана: зелене — успіх, жовте — попередження, червоне — помилка.
- Налаштування — сторінка з горизонтальними вкладками зверху (зараз там вкладки довідників: «Група клієнта · ADR · Тип кузова · Мови · …»).
- Права ролі зараз — список прав, згрупований за модулями: у кожної групи галочки дій, кнопки «Вибрати все / Зняти все» і лічильник «5 / 27».
4.2. Карта змін в інтерфейсі
| Де | Що з'являється |
|---|---|
| Верхній рядок | Перемикач фірми |
| Бічне меню → «Налаштування» | Нові вкладки: «Фірми», «Відділи», «Історія змін» (поруч із «Довідниками») |
| «Користувачі» | Нові колонки й фільтри; у картці нові вкладки «Доступи» та «Історія» |
| «Ролі» | Вкладка «Права» стає таблицею «модуль × дія» + рівні записів + чутливі поля |
| «Водій», «Машина» | Колонка й фільтр «Фірма», поле «Відповідальний»; у картці вкладки «Документи» і «Пов'язані записи» |
| «Графік водіїв», «Дашборд» | Фільтр за фірмою, дані лише доступних фірм |
| Профіль користувача | Вкладка «Мої доступи» (лише перегляд) |
4.3. Перемикач фірми (верхній рядок)
- Розташування: верхній рядок, ліворуч від кнопки профілю.
- Вигляд: випадний список «Фірма: Усі ▾» з галочками — «MF sp. z o.o.», «Fedko sp. z o.o.».
- Показується лише тим, хто має доступ до двох і більше фірм. Хто має доступ до однієї фірми, перемикача не бачить, у нього все одразу відфільтровано.
- Вибір застосовується до всіх списків, графіка й дашборда та запам'ятовується між входами.
- Нова фірма, додана в налаштуваннях, з'являється в перемикачі автоматично.
Остаточний варіант (перемикач чи фільтр у кожному списку) залежить від вашої відповіді на питання 5.
4.4. Налаштування → «Фірми»
Шлях: Налаштування → вкладка «Фірми». Видно тим, хто має право «Фірми: перегляд».
Список фірм:
- Сегменти: «Активні (2) · Неактивні (0)».
- Панель інструментів: пошук за назвою або NIP; кнопка «Додати фірму» (лише з правом «Фірми: створення»).
- Таблиця:
| Колонка | Вміст |
|---|---|
| Фірма | Логотип + коротка назва |
| Юридична назва | Повна назва |
| NIP | 10 цифр |
| Користувачі | Скільки користувачів мають доступ |
| Водії / Авто | Скільки прив'язано |
| Статус | Бейдж «Активна» / «Неактивна» |
| → | Відкрити картку |
Картка фірми (модальне вікно), вкладки:
- Основне: поля картки фірми з п. 3.1. Логотип завантажується з попереднім переглядом. Помилки (неправильний NIP, повторний NIP) показуються під полем одразу під час введення.
- Банківські рахунки: таблиця «Банк · IBAN · Валюта · Основний · Дії» + кнопка «Додати рахунок» (модальне вікно з полями з п. 3.1); іконки редагування й видалення в рядку.
- Доступ: список користувачів із доступом до фірми (ім'я, роль, відділ) — лише перегляд, доступ змінюється в картці користувача.
- Історія: усі зміни цієї фірми (хто, що, коли).
Дії:
- «Зробити неактивною» — через вікно підтвердження. Неактивна фірма зникає з перемикача й із вибору в нових записах, але всі її дані зберігаються.
- Видалити фірму, до якої вже щось прив'язано, неможливо — лише деактивувати.
4.5. Налаштування → «Відділи»
- Таблиця в стилі довідників: «Назва · Керівник · Людей · Дії».
- Кнопка «Додати відділ» → модальне вікно з полями:
| Поле | Тип у формі | Обов'язкове | Приклад | За що відповідає |
|---|---|---|---|---|
| Назва | Текст | Так | Диспетчерський відділ | Показується в картці користувача і фільтрах |
| Керівник | Пошук користувача | Ні | Олена Коваль | Хто керує відділом; надалі — кому йдуть погодження |
| Учасники | Мультивибір користувачів | Ні | 6 людей | Хто входить у відділ; визначає рівень доступу «Відділу». Людина належить до одного відділу |
- Видалення відділу з людьми — через вікно підтвердження з попередженням, скільки людей втратять відділ.
4.6. «Користувачі»: список
Наявна сторінка, доповнюємо.
Панель інструментів (зараз: пошук, статус, роль, «Додати користувача»), додаємо фільтри:
| Фільтр | Тип | Значення |
|---|---|---|
| Фірма | Мультивибір із галочками | MF, Fedko, … (усі активні фірми) |
| Відділ | Випадний список | Усі відділи + «Без відділу» |
| Індивідуальні права | Випадний список | Усі / Лише з індивідуальними змінами / Без змін |
Активні фільтри показуються чіпами з кнопкою «Очистити все», як у списку водіїв.
Таблиця (зараз: Ім'я · E-mail · Роль · Статус · 2FA · Сесії · Остання активність), додаємо колонки:
| Колонка | Вміст |
|---|---|
| Фірми | Короткі бейджі: «MF», «Fedko» |
| Відділ | Назва відділу |
| Зміни прав | Бейдж «+2 / −1» (скільки прав додано й забрано вручну); порожньо, якщо змін немає |
Форма створення користувача:
| Поле | Тип у формі | Обов'язкове | За що відповідає |
|---|---|---|---|
| Ім'я | Текст | Так | Як людина показується в системі (є зараз) |
| Текст | Так | Логін; унікальний у системі (є зараз) | |
| Роль | Випадний список | Так | Стартовий набір прав (є зараз) |
| Фірми | Мультивибір із галочками | Так, хоча б одна | Дані яких фірм бачить людина (нове) |
| Відділ | Випадний список | Ні | Для рівня доступу «Відділу» (нове) |
4.7. Картка користувача: вкладка «Доступи»
Картка (зараз вкладки «Деталі · Безпека · Сесії») отримує вкладки:
Деталі · Доступи · Безпека · Сесії · Історія
На вкладці «Доступи» вікно розширюється, щоб помістилася таблиця прав.
Блок 1. Роль і фірми
| Поле | Тип у формі | Як працює |
|---|---|---|
| Роль | Випадний список | Підказка: «Роль задає стартові права. Зміни нижче діють поверх ролі». Зміна ролі перераховує таблицю прав, індивідуальні зміни зберігаються |
| Адміністратор | Перемикач | Видно й доступно лише адміністраторам. Увімкнений блокує решту налаштувань із поясненням «Адміністратор має повний доступ» |
| Фірми | Галочки з усіма активними фірмами | Хоча б одна обов'язкова |
| Відділ | Випадний список | Можна залишити порожнім |
Блок 2. Права за модулями — таблиця:
| Модуль | Перегляд | Створення | Редагування | Видалення | Погодження | Спеціальні дії | Записи |
|---|---|---|---|---|---|---|---|
| Дашборд | ☑ | — | — | — | — | — | — |
| Графік водіїв | ☑ | — | — | — | — | ☑ Призначати | Усі ▾ |
| Водії | ☑ | ☑ | ⊟ | ☐ | — | ☐ Звільняти | Свої ▾ |
| Авто | ☑ | ⊞ | ☑ | ☐ | — | ☑ ТО | Відділу ▾ |
| … |
- «—» — дія для модуля не існує.
- Стан кожної галочки видно одразу:
- звичайна галочка — право від ролі;
- галочка з зеленою позначкою «+» (⊞) — додано вручну;
- перекреслена з червоною позначкою «−» (⊟) — забрано вручну, хоча роль його дає.
- Наведення на галочку показує підказку: «Від ролі "Диспетчер"» або «Змінено вручну: Олена К., 02.10.2026».
- Записи — випадний список «Свої / Відділу / Усі» для кожного модуля; поруч та сама позначка, якщо значення відрізняється від ролі.
- Справа в рядку модуля — іконка «↺» «Повернути як у ролі» для цього модуля.
Блок 3. Чутливі поля — список груп із перемикачами «бачить / не бачить»; біля кожної групи — та сама позначка «від ролі / змінено вручну».
| Група | Поля | Коли з'являється |
|---|---|---|
| Внутрішні нотатки | «Нотатки» водія й авто | Етап 0 (для перевірки механізму) |
| Зарплата | Ставка, нарахування, аванси | Разом із модулем «Персонал / HR» |
| Особисті документи | PESEL, паспорт, посвідчення водія | Разом із модулем «Персонал / HR» |
| Банківські дані працівника | Особистий рахунок | Разом із модулем «Персонал / HR» |
Перелік груп і полів у них уточнюємо з вами (питання 9).
Низ вкладки:
- лічильник «Індивідуальних змін: 3»;
- кнопка «Скинути до прав ролі» → вікно підтвердження зі списком змін, які буде скасовано;
- «Скасувати» і «Зберегти».
Після збереження:
- тост «Доступи збережено»;
- кожна зміна потрапляє в історію;
- нові права діють для користувача одразу, без повторного входу: меню, кнопки й списки оновлюються під час наступного переходу між сторінками.
Вкладка «Історія» в картці користувача — список змін доступів саме цієї людини (формат як у розділі «Історія змін», п. 4.9).
4.8. «Ролі»
Список ролей (зараз: Роль · Опис · Користувачі · Права «5 / 27») — без змін, додаємо 10 стартових ролей.
Картка ролі, вкладки «Основне · Права · Користувачі»:
- Права — замість поточного списку галочок та сама таблиця «модуль × дія», що й у користувача (п. 4.7, блок 2), але без позначок «додано / забрано вручну». Плюс рівень записів за замовчуванням і чутливі поля за замовчуванням.
- Користувачі — додаємо колонку «Індивідуальні зміни» («+2 / −1»), щоб було видно, у кого права відрізняються від ролі.
Збереження ролі, якою вже користуються люди:
- вікно підтвердження: «Зміни отримають 8 користувачів. У 2 з них індивідуальні зміни збережуться»;
- кожна зміна потрапляє в історію.
Видалити роль, призначену комусь, неможливо: спочатку потрібно перепризначити людей.
4.9. Налаштування → «Історія змін»
Шлях: Налаштування → вкладка «Історія змін». Видно тим, хто має право «Історія змін: перегляд».
Панель інструментів:
| Фільтр | Тип | Значення |
|---|---|---|
| Пошук | Текстове поле | Пошук за текстом зміни |
| Тип зміни | Мультивибір із галочками | Доступи користувача, Ролі, Фірми, Відділи, Користувачі (створення, блокування), Адміністратор, Відкриття через прив'язку |
| Хто змінив | Пошук користувача | Будь-який користувач |
| Кому / що змінено | Пошук | Користувач, роль або фірма |
| Період | Дві дати «з» і «по» | Календар, як в інших розділах |
Активні фільтри — чіпами з «Очистити все».
Таблиця:
| Колонка | Приклад |
|---|---|
| Дата й час | 02.10.2026, 14:32 |
| Хто змінив | Аватар + «Олена Коваль» |
| Тип | Бейдж «Доступи» |
| Об'єкт | «Іван Петренко» (посилання на картку) |
| Що змінилося | «Графік водіїв: Редагування — забрано» або «Змін: 4» |
| → | Деталі |
Деталі зміни (модальне вікно): таблиця «Що · Було · Стало», наприклад:
| Що | Було | Стало |
|---|---|---|
| Роль | Логіст | Диспетчер |
| Фірми | MF | MF, Fedko |
| Водії → Записи | Усі | Свої |
Історія лише для перегляду: редагування й видалення в інтерфейсі немає. Підвал таблиці — як скрізь: кількість рядків на сторінці й пагінація.
4.10. «Водій» і «Машина»
Список (наявні сторінки):
- нова колонка «Фірма» (бейджі; у водія їх може бути кілька);
- нова колонка «Відповідальний» (аватар + ім'я);
- фільтри в панелі інструментів: «Фірма» (мультивибір) і «Відповідальний» (пошук користувача), з чіпами як у наявних фільтрів;
- лічильники в сегментах («Активні (12)» тощо) рахують лише записи, доступні користувачу.
Картка (модальне вікно водія / авто) отримує вкладки:
Основне · Документи · Пов'язані записи
Вкладка «Основне» — наявні поля плюс нові:
| Поле | Тип у формі | Обов'язкове | Приклад | За що відповідає |
|---|---|---|---|---|
| Фірма (водій) | Мультивибір із галочками | Так, хоча б одна | MF, Fedko | Водій може працювати на кілька фірм; видний при виборі кожної з них |
| Фірма (авто) | Випадний список | Так | Fedko | Фірма-власник авто |
| Відповідальний | Пошук користувача | Ні | Олена Коваль | Визначає рівень доступу «Свої» і «Відділу» |
| Нотатки | Текст (наявне поле) | Ні | — | Видно лише тим, хто має доступ до групи «Внутрішні нотатки»; решта поля не бачить |
Вкладка «Документи»:
- зона «Перетягніть файли сюди або оберіть»: PDF, JPG, PNG, DOCX, з обмеженням розміру файлу;
- таблиця документів:
| Колонка | Приклад | Примітка |
|---|---|---|
| Назва | Поліс OC 2026.pdf | Клік відкриває перегляд (PDF і фото — у вікні перегляду) |
| Тип | Іконка за типом файлу | |
| Розмір | 1,2 МБ | — |
| Хто завантажив | Олена Коваль | — |
| Дата | 02.10.2026 | — |
| Дії | Переглянути · Завантажити · Видалити | Видалення — через підтвердження, лише з правом редагування картки |
Вкладка «Пов'язані записи»:
- список, згрупований за типом: «Авто (1)», «Водії (2)»;
- кнопка «Прив'язати запис» → вікно: тип запису (випадний список) + пошук запису;
- рядок зв'язку:
| Колонка | Приклад | Примітка |
|---|---|---|
| Запис | KR 12345 | Посилання на картку |
| Тип | Авто | — |
| Хто прив'язав | Олена Коваль | — |
| Дата | 02.10.2026 | — |
| Дії | Відв'язати | Через підтвердження |
4.11. Як виглядає «доступ через прив'язку»
- Користувач відкриває картку авто, до якого має доступ, і бачить у «Пов'язаних записах» водія, хоча до розділу «Водій» доступу не має.
- Клік відкриває картку водія з плашкою вгорі: «Доступ через прив'язку до авто KR 12345 · лише перегляд».
- У такій картці немає кнопок редагування, видалення, завантаження документів і вкладок, яких немає в праві (наприклад, «Документи» водія).
- Пункту «Водій» у бічному меню в цього користувача й далі немає, і в загальному пошуку інших водіїв він не бачить.
- Кожне таке відкриття записується в історію з типом «Відкриття через прив'язку».
4.12. Що бачить користувач без прав
- Немає перегляду розділу — пункту немає в меню; якщо відкрити адресу напряму, з'являється сторінка «Немає доступу до цього розділу».
- Немає створення / редагування / видалення — відповідних кнопок та іконок просто немає (як зараз кнопка «Додати користувача»).
- Рівень «свої» або «відділу» — у списках, пошуку, фільтрах і лічильниках лише доступні записи; чужий запис за прямим посиланням відкривається як «Немає доступу».
- Немає доступу до групи полів — поле не показується взагалі (без «зірочок»), його немає й в експорті.
- Немає доступу до фірми — записи цієї фірми ніде не з'являються, фірми немає в перемикачі.
4.13. Профіль → «Мої доступи»
У вікні профілю (кнопка з аватаром справа вгорі) — нова вкладка «Мої доступи»: роль, фірми, відділ і таблиця прав лише для перегляду. Людина сама бачить, що їй доступно, без запитів до адміністратора.
5. Що НЕ входить в етап 0
- Модулі «Персонал / HR», «Власний автопарк», «Клієнти та контрагенти» — це етап 1.
- Модуль «Фінанси», фактури, інтеграція з KSeF — це етап 4. В етапі 0 готуємо для них лише розділення даних за фірмами.
- Issue Log — етап 2. В етапі 0 готуємо лише механізм зв'язків, на якому він працюватиме.
- Конкретні процеси погодження (відпустка, аванс тощо) підключаються разом із відповідними модулями.
- Історія змін у картках бізнес-модулів з'являється разом із самими модулями.
- Групи чутливих полів «Зарплата», «Особисті документи», «Банківські дані» наповнюються разом із модулями, де ці поля з'являться.
Правила доступу з етапу 0 автоматично діятимуть у кожному новому модулі.
6. Як приймаємо етап
Перевіряємо на наявних розділах системи за такими сценаріями:
| № | Сценарій | Очікуваний результат |
|---|---|---|
| 1 | Адміністратор додає нову фірму в «Налаштування → Фірми» | Фірма з'являється в перемикачі й у виборі фірми в картках без участі програміста |
| 2 | Користувачу надано доступ лише до фірми MF | У «Водій», «Машина», графіку й дашборді лише дані MF; перемикача фірми немає |
| 3 | Водій належить до двох фірм | Він видний при виборі кожної з них |
| 4 | Користувачу з роллю «Диспетчер» індивідуально забрано право «Графік водіїв: Призначати» | Графік відкривається, але перетягувати машини не можна; решта прав ролі працює; у таблиці прав галочка показана як «забрано вручну» |
| 5 | Змінюємо права ролі | Вікно підтвердження показує кількість людей; зміни отримують усі з роллю, крім індивідуально змінених прав |
| 6 | Доступ до водіїв «лише свої» | У списку, пошуку, фільтрах і лічильниках сегментів лише водії, де користувач відповідальний |
| 7 | Без доступу до групи «Внутрішні нотатки» | Поля «Нотатки» немає ні в картці, ні в таблиці |
| 8 | У користувача доступ до «Машина», але не до «Водій»; авто прив'язане до водія | Він відкриває картку цього водія з плашкою «Доступ через прив'язку · лише перегляд»; інших водіїв не бачить, пункту «Водій» у меню немає |
| 9 | Зв'язок водій ↔ авто видалили | Картка водія для цього користувача більше не відкривається |
| 10 | Змінили доступ користувачу | У «Історії змін» і на вкладці «Історія» його картки видно: хто, кому, що (було → стало) і коли |
| 11 | Користувач відкриває «Профіль → Мої доступи» | Бачить свої роль, фірми й права, змінити нічого не може |
7. Що потрібно від вас
- Реквізити MF sp. z o.o. і Fedko sp. z o.o. (назва, NIP, REGON, KRS, адреса, банківські рахунки, логотип).
- Заповнена таблиця стартових прав «роль × модуль × дія» (додаємо Excel).
- Список відділів і людей у них.
- Список користувачів для старту: ім'я, e-mail, роль, фірми, відділ.
- Відповіді на питання нижче.
8. Питання
Фірми
- Які дані мають бути в картці фірми, крім перелічених у п. 3.1?
- Авто завжди належить одній фірмі чи може належати кільком?
- Якщо працівник належить до кількох фірм, чи має він окремі договори та кадрові дані в кожній?
- Чи є люди (керівник, президент), які мають бачити дані всіх фірм разом, наприклад зведені звіти?
- Як зручніше працювати: перемикач «поточна фірма» вгорі екрана чи всі дані одразу з фільтром за фірмою?
Доступи
- Підтвердьте список ролей: водій, рекрутер, HR, старший HR, фінансист, диспетчер, логіст, технічний спеціаліст, керівник, президент.
- Чи достатньо трьох рівнів доступу до записів: «свої / свого відділу / всі»? Що означає «свої» для диспетчера: створені ним чи призначені на нього?
- Які у вас є відділи чи команди, і хто ними керує?
- Які поля чутливі: зарплата, PESEL, паспорт, банківський рахунок працівника, медичні дані, інше? Хто їх бачить?
- «Доступ через прив'язку»: достатньо перегляду, чи потрібне також завантаження файлу? Лише документи чи будь-які записи (наприклад, картка працівника, прив'язана до заявки)?
- Хто надаватиме доступи: один адміністратор чи кілька? Чи може керівник відділу надавати доступи у своєму відділі?
- Двофакторна автентифікація обов'язкова для всіх чи лише для окремих ролей?
Історія змін
- Скільки часу зберігати історію змін? Хто має її бачити?
- В етапі 0 робимо історію змін доступів. Чи потрібна вам одразу й історія змін усіх записів у системі, чи її можна додавати разом із модулями?