Атестаційні завдання K2 ERP/Охоронна компанія
Атестаційне завдання K2 ERP — Охоронна компанія — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля обліку об’єктів охорони, постів, співробітників, графіків чергувань, табелів, інцидентів, договорів, оплат, спорядження та звітності.
Модуль має забезпечувати повний цикл роботи охоронної компанії: клієнт → договір → об’єкт охорони → пости → призначення охоронців → графік змін → фактичне чергування → інциденти → акти й службові записки → рахунки → оплати → звіти.
Коротко. Потрібно реалізувати модуль охоронної компанії: клієнти, договори, об’єкти, пости, охоронці, графіки чергувань, табелі, інциденти, документи, спорядження, фінанси, зарплати, сповіщення, звіти й AJAX-інтерактив.
Назва завдання
Модуль обліку об’єктів охорони, постів, співробітників, графіків чергувань та інцидентів для охоронної компанії.
Мета завдання
Мета завдання — створити в K2 ERP модуль для автоматизації роботи охоронної компанії.
Система повинна дозволяти:
- вести клієнтів;
- вести договори на охорону;
- вести об’єкти охорони;
- вести пости охорони;
- вести співробітників охоронної компанії;
- вести сертифікати, медичні довідки та службові документи;
- планувати графіки чергувань;
- формувати зміни за шаблонами;
- контролювати фактичний вихід на зміну;
- вести табель відпрацьованого часу;
- реєструвати інциденти;
- прикріплювати фото, файли й пояснення до інцидентів;
- формувати службові записки, акти та протоколи;
- вести облік спорядження;
- контролювати строки дії договорів, довідок і сертифікатів;
- виставляти рахунки клієнтам;
- фіксувати оплати;
- розраховувати зарплату або нарахування за змінами;
- формувати звіти по об’єктах, постах, інцидентах, чергуваннях і фінансах.
Головний принцип. Керівник охоронної компанії має бачити, хто, коли і на якому посту чергує, які інциденти сталися, які договори активні, хто відпрацював зміни і які об’єкти приносять дохід.
Реальний бізнес-контекст
Охоронна компанія надає послуги фізичної охорони різним клієнтам.
Типові об’єкти охорони:
- магазини;
- склади;
- банки;
- бізнес-центри;
- житлові комплекси;
- заводи;
- офіси;
- торгові центри;
- будівельні майданчики;
- парковки;
- логістичні комплекси;
- приватні будинки.
Компанії потрібно:
- вести договори з клієнтами;
- знати, які об’єкти охороняються;
- бачити кількість постів на кожному об’єкті;
- призначати охоронців на зміни;
- контролювати відпрацьовані години;
- фіксувати інциденти;
- формувати акти й службові записки;
- контролювати оплату послуг;
- розраховувати зарплату співробітникам;
- контролювати документи охоронців.
Основний бізнес-процес
Типовий процес роботи охоронної компанії виглядає так:
- менеджер створює клієнта;
- створює договір на охорону;
- створює об’єкт охорони;
- додає пости охорони на об’єкті;
- вказує режим роботи постів;
- створює співробітників-охоронців;
- формує графік чергувань;
- призначає охоронців на пости;
- охоронець виходить на зміну;
- зміна фіксується як відпрацьована;
- у разі події створюється інцидент;
- до інциденту додаються фото або документи;
- формується службова записка або акт;
- за період формується рахунок клієнту;
- клієнт оплачує послуги;
- система формує звіти по об’єктах, змінах, інцидентах і фінансах.
Основні об’єкти модуля
| Об’єкт | Призначення |
|---|---|
| Клієнти | Замовники охоронних послуг |
| Договори | Умови надання охоронних послуг |
| Об’єкти охорони | Локації, які охороняються |
| Пости охорони | Конкретні місця чергування на об’єкті |
| Співробітники | Охоронці, старші зміни, керівники груп |
| Графіки чергувань | Планові зміни співробітників |
| Табель | Фактично відпрацьований час |
| Інциденти | Події, порушення, надзвичайні ситуації |
| Документи | Сертифікати, довідки, посвідчення, службові записки |
| Спорядження | Радіостанції, форма, ліхтарі, жетони, інше майно |
| Рахунки | Нарахування клієнтам за охоронні послуги |
| Оплати | Фактичні платежі клієнтів |
| Зарплати | Нарахування співробітникам за зміни |
| Звіти | Аналітика по роботі компанії |
Довідник «Клієнти»
Клієнти — це компанії або фізичні особи, які замовляють охоронні послуги.
Поля клієнта
| Поле | Опис |
|---|---|
| Назва компанії або ПІБ | Найменування клієнта |
| Тип клієнта | Юридична особа, ФОП, фізична особа |
| Контактна особа | Представник клієнта |
| Телефон | Контактний номер |
| Електронна адреса | |
| Адреса | Юридична або фактична адреса |
| Коментар | Додаткова інформація |
| Статус | Активний, призупинений, архівний |
Довідник «Договори»
Договір визначає умови надання охоронних послуг.
Поля договору
| Поле | Опис |
|---|---|
| Номер договору | Унікальний номер |
| Клієнт | Замовник послуг |
| Дата початку | Початок дії договору |
| Дата завершення | Завершення дії договору |
| Тип оплати | Помісячно, поквартально, погодинно, за пост |
| Сума договору | Загальна або місячна сума |
| Валюта | UAH або інша валюта, якщо потрібно |
| Статус | Активний, завершується, завершений, розірваний |
| Файл договору | Скан або PDF договору |
Довідник «Об’єкти охорони»
Об’єкт охорони — це місце, де надаються охоронні послуги.
Поля об’єкта охорони
| Поле | Опис |
|---|---|
| Назва об’єкта | Наприклад: Склад №1, Бізнес-центр, ЖК |
| Клієнт | Власник або замовник охорони |
| Договір | Договір, за яким охороняється об’єкт |
| Тип об’єкта | Магазин, склад, банк, завод, ЖК, офіс тощо |
| Адреса | Фактична адреса об’єкта |
| Режим охорони | 24/7, денна, нічна, змінна, за викликом |
| Кількість постів | Скільки постів на об’єкті |
| Відповідальний менеджер | Хто веде об’єкт |
| Статус | Активний, призупинений, архівний |
Режими охорони
| Режим | Опис |
|---|---|
| 24/7 | Цілодобова охорона |
| Денна | Охорона тільки вдень |
| Нічна | Охорона тільки вночі |
| Змінна | Графік за змінами |
| Разова | Охорона на окремий захід або період |
Довідник «Пости охорони»
Пост охорони — це конкретна точка чергування на об’єкті.
Приклади постів
- центральний вхід;
- КПП;
- зона складу;
- паркінг;
- рецепція;
- периметр;
- відеоспостереження;
- внутрішній двір;
- нічний обхід;
- вантажна зона.
Поля поста охорони
| Поле | Опис |
|---|---|
| Об’єкт | До якого об’єкта належить пост |
| Назва поста | Назва місця чергування |
| Тип поста | Стаціонарний, мобільний, патрульний, відеонагляд |
| Графік роботи | День, ніч, 24/7, змінний |
| Потрібна кількість охоронців | Скільки людей має бути на посту |
| Інструкція поста | Короткі правила роботи на посту |
| Статус | Активний, тимчасово закритий, архівний |
Довідник «Співробітники»
Співробітники — це охоронці та інші працівники компанії.
Поля співробітника
| Поле | Опис |
|---|---|
| ПІБ | Повне ім’я співробітника |
| Посада | Охоронець, старший зміни, начальник охорони |
| Телефон | Контактний номер |
| Електронна адреса | |
| Дата прийняття | Дата початку роботи |
| Основний об’єкт | Об’єкт, де співробітник працює найчастіше |
| Ставка | Погодинна, змінна або місячна |
| Статус | Активний, у відпустці, лікарняний, звільнений |
Документи співробітника
Для охоронців важливо контролювати службові документи.
Приклади документів
- посвідчення охоронця;
- сертифікат безпеки;
- медична довідка;
- дозвіл або навчальний документ;
- трудовий договір;
- інструктаж з безпеки;
- інші службові документи.
Поля документа співробітника
| Поле | Опис |
|---|---|
| Співробітник | До кого належить документ |
| Тип документа | Сертифікат, довідка, посвідчення тощо |
| Номер | Номер документа |
| Дата видачі | Коли видано |
| Дата завершення | Коли завершується дія |
| Файл | Скан або PDF |
| Статус | Дійсний, завершується, прострочений |
База «Графіки чергувань»
Графік чергувань містить планові зміни охоронців.
Колонки графіка
| Колонка | Опис |
|---|---|
| Дата | Дата чергування |
| Об’єкт | Де відбувається зміна |
| Пост | На якому посту |
| Співробітник | Хто призначений |
| Зміна | Денна, нічна, добова, інша |
| Час початку | Початок зміни |
| Час завершення | Кінець зміни |
| Статус | Заплановано, відпрацьовано, пропущено, замінено |
Типи змін
- денна;
- нічна;
- добова;
- 12 годин;
- 24 години;
- індивідуальна;
- резервна.
Статуси зміни
| Статус | Значення |
|---|---|
| Заплановано | Зміна створена в графіку |
| Підтверджено | Співробітник підтвердив вихід |
| Відпрацьовано | Зміна виконана |
| Пропущено | Співробітник не вийшов |
| Замінено | На зміну призначено іншого співробітника |
| Скасовано | Зміну скасовано |
Автоматичне формування графіка
Система може формувати графіки за шаблоном.
Приклади шаблонів
- доба через дві;
- день / ніч / вихідний;
- 2 через 2;
- 5/2;
- індивідуальний графік;
- постійний охоронець на посту.
Табель обліку часу
Табель фіксує фактично відпрацьований час.
Поля табеля
| Поле | Опис |
|---|---|
| Співробітник | Хто працював |
| Об’єкт | Де працював |
| Пост | На якому посту |
| Дата | Дата чергування |
| Планові години | За графіком |
| Фактичні години | Реально відпрацьовано |
| Нічні години | Якщо потрібно для нарахувань |
| Статус | Відпрацьовано, пропуск, заміна, лікарняний |
База «Інциденти»
Інцидент — це подія на об’єкті охорони.
Типи інцидентів
- спроба проникнення;
- підозріла особа;
- крадіжка;
- пошкодження майна;
- технічна несправність;
- пожежна тривога;
- конфлікт;
- порушення режиму доступу;
- втрата ключів;
- порушення периметра;
- інше.
Поля інциденту
| Поле | Опис |
|---|---|
| Номер інциденту | Унікальний номер |
| Об’єкт | Де стався інцидент |
| Пост | На якому посту зафіксовано |
| Дата і час | Коли стався інцидент |
| Тип інциденту | Категорія події |
| Опис | Детальний опис ситуації |
| Охоронець | Хто зафіксував |
| Статус | Відкрито, на розслідуванні, закрито |
| Результат | Підсумок розгляду |
| Фото / файли | Додані матеріали |
Статуси інциденту
| Статус | Значення |
|---|---|
| Відкрито | Інцидент створено |
| На розслідуванні | Подія перевіряється |
| Очікує рішення | Потрібне рішення відповідального |
| Закрито | Інцидент опрацьовано |
| Скасовано | Запис створено помилково |
Документи по інцидентах
Система повинна формувати документи по інциденту.
Приклади документів
- службова записка;
- акт про інцидент;
- пояснення охоронця;
- протокол події;
- фотозвіт;
- звіт для клієнта.
Спорядження
Охоронна компанія може вести облік спорядження.
Приклади спорядження
- форма;
- радіостанція;
- ліхтар;
- жетон;
- ключі;
- журнал поста;
- засоби зв’язку;
- бейдж;
- інше майно.
Поля спорядження
| Поле | Опис |
|---|---|
| Найменування | Назва спорядження |
| Інвентарний номер | Номер для обліку |
| Тип | Форма, зв’язок, ключі, інше |
| Стан | Нове, робоче, потребує ремонту, списано |
| Видано кому | Співробітник |
| Об’єкт | Де використовується |
| Дата видачі | Коли видано |
| Дата повернення | Якщо повернуто |
Фінанси
Модуль має підтримувати фінансовий облік послуг охорони.
Нарахування клієнтам
Нарахування може виконуватися:
- за об’єкт;
- за пост;
- за кількість годин;
- за місяць;
- за зміну;
- за разову послугу;
- за додатковий пост.
Поля рахунку клієнту
| Поле | Опис |
|---|---|
| Клієнт | Кому виставлено рахунок |
| Договір | За яким договором |
| Об’єкт | За який об’єкт |
| Період | Місяць або інший період |
| Сума | Сума до оплати |
| Оплачено | Скільки оплачено |
| Борг | Залишок до оплати |
| Статус | Не оплачено, частково оплачено, оплачено |
Зарплати співробітникам
Система може розраховувати нарахування співробітникам за зміни.
Варіанти нарахування
- погодинна ставка;
- ставка за зміну;
- місячна ставка;
- доплата за нічні години;
- доплата за додаткову зміну;
- штраф або утримання, якщо реалізовано.
Формула погодинного нарахування
Нарахування = Фактичні години × Погодинна ставка
Формула змінного нарахування
Нарахування = Кількість відпрацьованих змін × Ставка за зміну
Сповіщення
Система має надсилати або показувати нагадування.
Події для сповіщень
- закінчується договір із клієнтом;
- не вистачає охоронця на пост;
- співробітник не підтвердив зміну;
- зміна пропущена;
- відкритий інцидент не закрито;
- закінчується медична довідка;
- закінчується сертифікат;
- клієнт має прострочену оплату;
- спорядження не повернуто.
Звіти
Звіт «Об’єкти охорони»
У звіті потрібно відображати:
- клієнта;
- об’єкт;
- адресу;
- кількість постів;
- режим охорони;
- статус договору;
- відповідального менеджера.
Звіт «Графік чергувань»
У звіті потрібно відображати:
- дату;
- об’єкт;
- пост;
- зміну;
- співробітника;
- статус зміни.
Звіт «Табель відпрацьованого часу»
У звіті потрібно відображати:
- співробітника;
- об’єкт;
- пост;
- кількість змін;
- планові години;
- фактичні години;
- нічні години;
- пропуски.
Звіт «Інциденти за період»
У звіті потрібно відображати:
- дату;
- об’єкт;
- пост;
- тип інциденту;
- охоронця;
- статус;
- результат.
Звіт «Фінанси по клієнтах»
У звіті потрібно відображати:
- клієнта;
- об’єкт;
- суму нарахувань;
- оплачено;
- борг;
- статус оплати.
Звіт «Зарплати охоронців»
У звіті потрібно відображати:
- співробітника;
- кількість змін;
- кількість годин;
- ставку;
- суму нарахування;
- утримання, якщо є;
- суму до виплати.
AJAX-інтерактив
Інтерфейс має працювати швидко й без перезавантаження сторінок.
Через AJAX мають працювати:
- пошук клієнтів;
- пошук об’єктів;
- пошук охоронців;
- створення графіка;
- зміна статусу зміни;
- заміна охоронця на посту;
- реєстрація інциденту;
- додавання фото до інциденту;
- закриття інциденту;
- формування рахунку;
- фіксація оплати;
- фільтрація звітів.
Логування змін
Модуль повинен фіксувати важливі дії.
Журнал змін має зберігати:
- хто створив клієнта;
- хто створив договір;
- хто створив об’єкт;
- хто створив пост;
- хто призначив охоронця на зміну;
- хто змінив графік;
- хто замінив охоронця;
- хто закрив зміну;
- хто створив інцидент;
- хто закрив інцидент;
- хто додав файл або фото;
- хто виставив рахунок;
- хто зафіксував оплату;
- хто змінив ставку співробітника;
- дату й час дії;
- старе та нове значення, якщо це можливо.
Права доступу
Модуль має підтримувати рольову модель.
| Роль | Можливості |
|---|---|
| Диспетчер | Створює графіки, призначає охоронців, контролює зміни |
| Охоронець | Переглядає свої зміни, фіксує інциденти, додає пояснення |
| Старший зміни | Контролює пости, підтверджує виходи, закриває зміни |
| Менеджер об’єкта | Веде клієнтів, об’єкти, договори, рахунки і звіти |
| Бухгалтер | Веде рахунки, оплати, борги, зарплатні нарахування |
| Керівник | Переглядає всі звіти, інциденти, фінанси і завантаженість |
| Адміністратор | Налаштовує довідники, права, шаблони документів і службові параметри |
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| База даних | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript |
| AJAX | Fetch API або Axios |
| UI-компоненти | DataTables для об’єктів, постів, графіків змін і інцидентів; Select2 для пошуку співробітників, клієнтів і об’єктів |
| Календар | FullCalendar або аналог для планування змін, опціонально |
| Файли | Завантаження фото, актів, договорів, довідок і сертифікатів |
| Друк | PDF-службові записки, акти, рахунки, табелі, звіти |
| Експорт | Excel або PDF для графіків, табелів, фінансів і інцидентів |
Рекомендовані сутності бази даних
Для реалізації задачі доцільно передбачити такі сутності:
- клієнти;
- договори;
- об’єкти охорони;
- пости охорони;
- співробітники;
- документи співробітників;
- графіки чергувань;
- шаблони графіків;
- табель часу;
- інциденти;
- типи інцидентів;
- файли інцидентів;
- спорядження;
- видача спорядження;
- рахунки клієнтам;
- оплати;
- зарплатні нарахування;
- сповіщення;
- журнал змін;
- звіти;
- права доступу.
Практичне завдання
У межах атестації потрібно продемонструвати робочий сценарій.
Мінімальний сценарій:
- створити клієнта;
- створити договір на охорону;
- створити об’єкт охорони;
- створити кілька постів на об’єкті;
- створити співробітників-охоронців;
- додати медичну довідку або сертифікат співробітника;
- створити графік чергувань;
- призначити охоронця на пост;
- змінити статус зміни на «Відпрацьовано»;
- сформувати табель за період;
- створити інцидент на об’єкті;
- додати фото або файл до інциденту;
- змінити статус інциденту на «Закрито»;
- сформувати службову записку в PDF;
- створити рахунок клієнту за період;
- зафіксувати оплату;
- розрахувати нарахування співробітнику за зміни;
- сформувати звіт графіка чергувань;
- сформувати звіт інцидентів;
- сформувати фінансовий звіт по клієнтах;
- перевірити журнал змін.
Критерії оцінювання
| Критерій | Бали | Що перевіряється |
|---|---|---|
| Реалізація бази клієнтів, об’єктів і співробітників | 20 | Клієнти, договори, об’єкти охорони, пости, співробітники, документи |
| Управління графіками чергувань і постами охорони | 20 | Графіки, шаблони змін, призначення охоронців, заміни, табель часу |
| Реєстрація і обробка інцидентів | 20 | Типи інцидентів, картка інциденту, файли, статуси, службові записки |
| Фінансовий облік послуг і зарплат | 20 | Договори, рахунки клієнтам, оплати, борги, нарахування співробітникам |
| Інтерактивність через AJAX і зручність обліку | 20 | Швидкий пошук, зміна графіка, інциденти, оплати, фільтри, звіти без перезавантаження |
| Разом | 100 | Максимальна оцінка |
Шкала оцінювання
| Бали | Рівень | Опис |
|---|---|---|
| 90–100 | Відмінно | Модуль повністю працює: клієнти, договори, об’єкти, пости, охоронці, графіки, табель, інциденти, фінанси, зарплати і звіти реалізовані коректно |
| 75–89 | Добре | Основна логіка працює, є незначні недоліки, які не руйнують процес роботи охоронної компанії |
| 60–74 | Зараховано | Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання |
| 0–59 | Не зараховано | Відсутня критична логіка: об’єкти, пости, графіки, співробітники, інциденти, фінанси або звіти |
Критичні помилки
Критичними помилками вважаються ситуації, коли:
- неможливо створити клієнта;
- неможливо створити об’єкт охорони;
- неможливо створити пост;
- неможливо створити співробітника;
- неможливо створити графік чергувань;
- зміна не прив’язується до поста;
- зміна не прив’язується до охоронця;
- неможливо зафіксувати відпрацьовану зміну;
- табель не формується;
- неможливо створити інцидент;
- інцидент не прив’язується до об’єкта;
- неможливо сформувати рахунок клієнту;
- оплата не змінює борг;
- зарплатне нарахування не враховує відпрацьовані зміни;
- звіти не відповідають фактичним графікам, інцидентам і оплатам;
- зміни графіків, інцидентів і оплат не логуються.
Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл охоронної компанії: клієнт → договір → об’єкт → пост → охоронець → графік → табель → інцидент → рахунок → оплата → звіт.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений модуль охоронної компанії в K2 ERP.
Модуль має підтримувати клієнтів, договори, об’єкти охорони, пости, співробітників, документи, графіки чергувань, табелі, інциденти, спорядження, рахунки, оплати, зарплатні нарахування, сповіщення, звіти, AJAX-інтерактив і журнал змін.
Примітка
ERP для охоронної компанії є важливою для контролю персоналу, якості обслуговування клієнтів, своєчасного реагування на інциденти, прозорого фінансового обліку і формування довіри з боку замовників.
Чіткий облік змін, постів, інцидентів, договорів і оплат підвищує організованість бізнесу та дозволяє керівництву швидко бачити реальний стан компанії.
Коротко
| Питання | Відповідь |
|---|---|
| Що потрібно створити? | Модуль обліку охоронної компанії |
| Які довідники потрібні? | Клієнти, договори, об’єкти, пости, співробітники, типи інцидентів |
| Який головний процес? | Планування змін охоронців на постах і контроль фактичного чергування |
| Що потрібно контролювати? | Графіки, табелі, документи охоронців, інциденти, договори, оплати |
| Які документи потрібні? | Договори, службові записки, акти інцидентів, табелі, рахунки |
| Які звіти потрібні? | Об’єкти, графіки, табель часу, інциденти, фінанси, зарплати |
| Що є критичною вимогою? | Кожна зміна має бути прив’язана до об’єкта, поста і співробітника |
| Що бажано додати? | Календар змін, облік спорядження, фото інцидентів, сповіщення, PDF-документи |