Атестаційні завдання K2 ERP/Охоронна компанія: відмінності між версіями
R (обговорення | внесок) Первинна публікація |
R (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
{{DISPLAYTITLE:Атестаційні завдання K2 ERP/Охоронна компанія}} | |||
= Модуль обліку | '''Атестаційне завдання K2 ERP — Охоронна компанія''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні модуля обліку об’єктів охорони, постів, співробітників, графіків чергувань, табелів, інцидентів, договорів, оплат, спорядження та звітності. | ||
Модуль має забезпечувати повний цикл роботи охоронної компанії: клієнт → договір → об’єкт охорони → пости → призначення охоронців → графік змін → фактичне чергування → інциденти → акти й службові записки → рахунки → оплати → звіти. | |||
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
'''Коротко.''' Потрібно реалізувати модуль охоронної компанії: клієнти, договори, об’єкти, пости, охоронці, графіки чергувань, табелі, інциденти, документи, спорядження, фінанси, зарплати, сповіщення, звіти й AJAX-інтерактив. | |||
</div> | |||
__TOC__ | |||
== Назва завдання == | |||
'''Модуль обліку об’єктів охорони, постів, співробітників, графіків чергувань та інцидентів для охоронної компанії'''. | |||
== Мета завдання == | |||
Мета завдання — створити в K2 ERP модуль для автоматизації роботи охоронної компанії. | |||
Система повинна дозволяти: | |||
* вести клієнтів; | |||
* вести договори на охорону; | |||
* вести об’єкти охорони; | |||
* вести пости охорони; | |||
* вести співробітників охоронної компанії; | |||
* вести сертифікати, медичні довідки та службові документи; | |||
* планувати графіки чергувань; | |||
* формувати зміни за шаблонами; | |||
* контролювати фактичний вихід на зміну; | |||
* вести табель відпрацьованого часу; | |||
* реєструвати інциденти; | |||
* прикріплювати фото, файли й пояснення до інцидентів; | |||
* формувати службові записки, акти та протоколи; | |||
* вести облік спорядження; | |||
* контролювати строки дії договорів, довідок і сертифікатів; | |||
* виставляти рахунки клієнтам; | |||
* фіксувати оплати; | |||
* розраховувати зарплату або нарахування за змінами; | |||
* формувати звіти по об’єктах, постах, інцидентах, чергуваннях і фінансах. | |||
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;"> | |||
'''Головний принцип.''' Керівник охоронної компанії має бачити, хто, коли і на якому посту чергує, які інциденти сталися, які договори активні, хто відпрацював зміни і які об’єкти приносять дохід. | |||
</div> | |||
== Реальний бізнес-контекст == | == Реальний бізнес-контекст == | ||
Охоронна компанія надає послуги фізичної охорони різним клієнтам. | |||
Типові об’єкти охорони: | |||
** житлові комплекси; | * магазини; | ||
* | * склади; | ||
* | * банки; | ||
* | * бізнес-центри; | ||
* | * житлові комплекси; | ||
* заводи; | |||
* офіси; | |||
* торгові центри; | |||
* будівельні майданчики; | |||
* парковки; | |||
* логістичні комплекси; | |||
* приватні будинки. | |||
Компанії потрібно: | |||
* вести договори з клієнтами; | |||
* знати, які об’єкти охороняються; | |||
* бачити кількість постів на кожному об’єкті; | |||
* призначати охоронців на зміни; | |||
* контролювати відпрацьовані години; | |||
* фіксувати інциденти; | |||
* формувати акти й службові записки; | |||
* контролювати оплату послуг; | |||
* розраховувати зарплату співробітникам; | |||
* контролювати документи охоронців. | |||
== Основний бізнес-процес == | |||
Типовий процес роботи охоронної компанії виглядає так: | |||
# менеджер створює клієнта; | |||
# створює договір на охорону; | |||
# створює об’єкт охорони; | |||
# додає пости охорони на об’єкті; | |||
# вказує режим роботи постів; | |||
# створює співробітників-охоронців; | |||
# формує графік чергувань; | |||
# призначає охоронців на пости; | |||
# охоронець виходить на зміну; | |||
# зміна фіксується як відпрацьована; | |||
# у разі події створюється інцидент; | |||
# до інциденту додаються фото або документи; | |||
# формується службова записка або акт; | |||
# за період формується рахунок клієнту; | |||
# клієнт оплачує послуги; | |||
# система формує звіти по об’єктах, змінах, інцидентах і фінансах. | |||
== Основні об’єкти модуля == | |||
{| class="wikitable" style="width:100%;" | |||
! Об’єкт | |||
! Призначення | |||
|- | |||
| Клієнти | |||
| Замовники охоронних послуг | |||
|- | |||
| Договори | |||
| Умови надання охоронних послуг | |||
|- | |||
| Об’єкти охорони | |||
| Локації, які охороняються | |||
|- | |||
| Пости охорони | |||
| Конкретні місця чергування на об’єкті | |||
|- | |||
| Співробітники | |||
| Охоронці, старші зміни, керівники груп | |||
|- | |||
| Графіки чергувань | |||
| Планові зміни співробітників | |||
|- | |||
| Табель | |||
| Фактично відпрацьований час | |||
|- | |||
| Інциденти | |||
| Події, порушення, надзвичайні ситуації | |||
|- | |||
| Документи | |||
| Сертифікати, довідки, посвідчення, службові записки | |||
|- | |||
| Спорядження | |||
| Радіостанції, форма, ліхтарі, жетони, інше майно | |||
|- | |||
| Рахунки | |||
| Нарахування клієнтам за охоронні послуги | |||
|- | |||
| Оплати | |||
| Фактичні платежі клієнтів | |||
|- | |||
| Зарплати | |||
| Нарахування співробітникам за зміни | |||
|- | |||
| Звіти | |||
| Аналітика по роботі компанії | |||
|} | |||
== Довідник «Клієнти» == | |||
Клієнти — це компанії або фізичні особи, які замовляють охоронні послуги. | |||
== Поля клієнта == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва компанії або ПІБ | |||
| Найменування клієнта | |||
|- | |||
| Тип клієнта | |||
| Юридична особа, ФОП, фізична особа | |||
|- | |||
| Контактна особа | |||
| Представник клієнта | |||
|- | |||
| Телефон | |||
| Контактний номер | |||
|- | |||
| Email | |||
| Електронна адреса | |||
|- | |||
| Адреса | |||
| Юридична або фактична адреса | |||
|- | |||
| Коментар | |||
| Додаткова інформація | |||
|- | |||
| Статус | |||
| Активний, призупинений, архівний | |||
|} | |||
== Довідник «Договори» == | |||
Договір визначає умови надання охоронних послуг. | |||
== Поля договору == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Номер договору | |||
| Унікальний номер | |||
|- | |||
| Клієнт | |||
| Замовник послуг | |||
|- | |||
| Дата початку | |||
| Початок дії договору | |||
|- | |||
| Дата завершення | |||
| Завершення дії договору | |||
|- | |||
| Тип оплати | |||
| Помісячно, поквартально, погодинно, за пост | |||
|- | |||
| Сума договору | |||
| Загальна або місячна сума | |||
|- | |||
| Валюта | |||
| UAH або інша валюта, якщо потрібно | |||
|- | |||
| Статус | |||
| Активний, завершується, завершений, розірваний | |||
|- | |||
| Файл договору | |||
| Скан або PDF договору | |||
|} | |||
== Довідник «Об’єкти охорони» == | |||
Об’єкт охорони — це місце, де надаються охоронні послуги. | |||
== Поля об’єкта охорони == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва об’єкта | |||
| Наприклад: Склад №1, Бізнес-центр, ЖК | |||
|- | |||
| Клієнт | |||
| Власник або замовник охорони | |||
|- | |||
| Договір | |||
| Договір, за яким охороняється об’єкт | |||
|- | |||
| Тип об’єкта | |||
| Магазин, склад, банк, завод, ЖК, офіс тощо | |||
|- | |||
| Адреса | |||
| Фактична адреса об’єкта | |||
|- | |||
| Режим охорони | |||
| 24/7, денна, нічна, змінна, за викликом | |||
|- | |||
| Кількість постів | |||
| Скільки постів на об’єкті | |||
|- | |||
| Відповідальний менеджер | |||
| Хто веде об’єкт | |||
|- | |||
| Статус | |||
| Активний, призупинений, архівний | |||
|} | |||
== Режими охорони == | |||
{| class="wikitable" style="width:100%;" | |||
! Режим | |||
! Опис | |||
|- | |||
| 24/7 | |||
| Цілодобова охорона | |||
|- | |||
| Денна | |||
| Охорона тільки вдень | |||
|- | |||
| Нічна | |||
| Охорона тільки вночі | |||
|- | |||
| Змінна | |||
| Графік за змінами | |||
|- | |||
| Разова | |||
| Охорона на окремий захід або період | |||
|} | |||
== Довідник «Пости охорони» == | |||
Пост охорони — це конкретна точка чергування на об’єкті. | |||
== Приклади постів == | |||
* центральний вхід; | |||
* КПП; | |||
* зона складу; | |||
* паркінг; | |||
* рецепція; | |||
* периметр; | |||
* відеоспостереження; | |||
* внутрішній двір; | |||
* нічний обхід; | |||
* вантажна зона. | |||
== Поля поста охорони == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Об’єкт | |||
| До якого об’єкта належить пост | |||
|- | |||
| Назва поста | |||
| Назва місця чергування | |||
|- | |||
| Тип поста | |||
| Стаціонарний, мобільний, патрульний, відеонагляд | |||
|- | |||
| Графік роботи | |||
| День, ніч, 24/7, змінний | |||
|- | |||
| Потрібна кількість охоронців | |||
| Скільки людей має бути на посту | |||
|- | |||
| Інструкція поста | |||
| Короткі правила роботи на посту | |||
|- | |||
| Статус | |||
| Активний, тимчасово закритий, архівний | |||
|} | |||
== Довідник «Співробітники» == | |||
Співробітники — це охоронці та інші працівники компанії. | |||
== Поля співробітника == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| ПІБ | |||
| Повне ім’я співробітника | |||
|- | |||
| Посада | |||
| Охоронець, старший зміни, начальник охорони | |||
|- | |||
| Телефон | |||
| Контактний номер | |||
|- | |||
| Email | |||
| Електронна адреса | |||
|- | |||
| Дата прийняття | |||
| Дата початку роботи | |||
|- | |||
| Основний об’єкт | |||
| Об’єкт, де співробітник працює найчастіше | |||
|- | |||
| Ставка | |||
| Погодинна, змінна або місячна | |||
|- | |||
| Статус | |||
| Активний, у відпустці, лікарняний, звільнений | |||
|} | |||
== Документи співробітника == | |||
Для охоронців важливо контролювати службові документи. | |||
== Приклади документів == | |||
* посвідчення охоронця; | |||
* сертифікат безпеки; | |||
* медична довідка; | |||
* дозвіл або навчальний документ; | |||
* трудовий договір; | |||
* інструктаж з безпеки; | |||
* інші службові документи. | |||
== Поля документа співробітника == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Співробітник | |||
| До кого належить документ | |||
|- | |||
| Тип документа | |||
| Сертифікат, довідка, посвідчення тощо | |||
|- | |||
| Номер | |||
| Номер документа | |||
|- | |||
| Дата видачі | |||
| Коли видано | |||
|- | |||
| Дата завершення | |||
| Коли завершується дія | |||
|- | |||
| Файл | |||
| Скан або PDF | |||
|- | |||
| Статус | |||
| Дійсний, завершується, прострочений | |||
|} | |||
== База «Графіки чергувань» == | |||
Графік чергувань містить планові зміни охоронців. | |||
== Колонки графіка == | |||
{| class="wikitable" style="width:100%;" | |||
! Колонка | |||
! Опис | |||
|- | |||
| Дата | |||
| Дата чергування | |||
|- | |||
| Об’єкт | |||
| Де відбувається зміна | |||
|- | |||
| Пост | |||
| На якому посту | |||
|- | |||
| Співробітник | |||
| Хто призначений | |||
|- | |||
| Зміна | |||
| Денна, нічна, добова, інша | |||
|- | |||
| Час початку | |||
| Початок зміни | |||
|- | |||
| Час завершення | |||
| Кінець зміни | |||
|- | |||
| Статус | |||
| Заплановано, відпрацьовано, пропущено, замінено | |||
|} | |||
== Типи змін == | |||
* денна; | |||
* нічна; | |||
* добова; | |||
* 12 годин; | |||
* 24 години; | |||
* індивідуальна; | |||
* резервна. | |||
== Статуси зміни == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Заплановано | |||
| Зміна створена в графіку | |||
|- | |||
| Підтверджено | |||
| Співробітник підтвердив вихід | |||
|- | |||
| Відпрацьовано | |||
| Зміна виконана | |||
|- | |||
| Пропущено | |||
| Співробітник не вийшов | |||
|- | |||
| Замінено | |||
| На зміну призначено іншого співробітника | |||
|- | |||
| Скасовано | |||
| Зміну скасовано | |||
|} | |||
== Автоматичне формування графіка == | |||
Система може формувати графіки за шаблоном. | |||
== Приклади шаблонів == | |||
* доба через дві; | |||
* день / ніч / вихідний; | |||
* 2 через 2; | |||
* 5/2; | |||
* індивідуальний графік; | |||
* постійний охоронець на посту. | |||
== Табель обліку часу == | |||
Табель фіксує фактично відпрацьований час. | |||
== Поля табеля == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Співробітник | |||
| Хто працював | |||
|- | |||
| Об’єкт | |||
| Де працював | |||
|- | |||
| Пост | |||
| На якому посту | |||
|- | |||
| Дата | |||
| Дата чергування | |||
|- | |||
| Планові години | |||
| За графіком | |||
|- | |||
| Фактичні години | |||
| Реально відпрацьовано | |||
|- | |||
| Нічні години | |||
| Якщо потрібно для нарахувань | |||
|- | |||
| Статус | |||
| Відпрацьовано, пропуск, заміна, лікарняний | |||
|} | |||
== База «Інциденти» == | |||
Інцидент — це подія на об’єкті охорони. | |||
== Типи інцидентів == | |||
* спроба проникнення; | |||
* підозріла особа; | |||
* крадіжка; | |||
* пошкодження майна; | |||
* технічна несправність; | |||
* пожежна тривога; | |||
* конфлікт; | |||
* порушення режиму доступу; | |||
* втрата ключів; | |||
* порушення периметра; | |||
* інше. | |||
== Поля інциденту == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Номер інциденту | |||
| Унікальний номер | |||
|- | |||
| Об’єкт | |||
| Де стався інцидент | |||
|- | |||
| Пост | |||
| На якому посту зафіксовано | |||
|- | |||
| Дата і час | |||
| Коли стався інцидент | |||
|- | |||
| Тип інциденту | |||
| Категорія події | |||
|- | |||
| Опис | |||
| Детальний опис ситуації | |||
|- | |||
| Охоронець | |||
| Хто зафіксував | |||
|- | |||
| Статус | |||
| Відкрито, на розслідуванні, закрито | |||
|- | |||
| Результат | |||
| Підсумок розгляду | |||
|- | |||
| Фото / файли | |||
| Додані матеріали | |||
|} | |||
== Статуси інциденту == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Відкрито | |||
| Інцидент створено | |||
|- | |||
| На розслідуванні | |||
| Подія перевіряється | |||
|- | |||
| Очікує рішення | |||
| Потрібне рішення відповідального | |||
|- | |||
| Закрито | |||
| Інцидент опрацьовано | |||
|- | |||
| Скасовано | |||
| Запис створено помилково | |||
|} | |||
== Документи по інцидентах == | |||
Система повинна формувати документи по інциденту. | |||
== Приклади документів == | |||
* службова записка; | |||
* акт про інцидент; | |||
* пояснення охоронця; | |||
* протокол події; | |||
* фотозвіт; | |||
* звіт для клієнта. | |||
== Спорядження == | |||
Охоронна компанія може вести облік спорядження. | |||
== Приклади спорядження == | |||
* форма; | |||
* радіостанція; | |||
* ліхтар; | |||
* жетон; | |||
* ключі; | |||
* журнал поста; | |||
* засоби зв’язку; | |||
* бейдж; | |||
* інше майно. | |||
== Поля спорядження == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Найменування | |||
| Назва спорядження | |||
|- | |||
| Інвентарний номер | |||
| Номер для обліку | |||
|- | |||
| Тип | |||
| Форма, зв’язок, ключі, інше | |||
|- | |||
| Стан | |||
| Нове, робоче, потребує ремонту, списано | |||
|- | |||
| Видано кому | |||
| Співробітник | |||
|- | |||
| Об’єкт | |||
| Де використовується | |||
|- | |||
| Дата видачі | |||
| Коли видано | |||
|- | |||
| Дата повернення | |||
| Якщо повернуто | |||
|} | |||
== Фінанси == | |||
Модуль має підтримувати фінансовий облік послуг охорони. | |||
== Нарахування клієнтам == | |||
Нарахування може виконуватися: | |||
* за об’єкт; | |||
* за пост; | |||
* за кількість годин; | |||
* за місяць; | |||
* за зміну; | |||
* за разову послугу; | |||
* за додатковий пост. | |||
== Поля рахунку клієнту == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Клієнт | |||
| Кому виставлено рахунок | |||
|- | |||
| Договір | |||
| За яким договором | |||
|- | |||
| Об’єкт | |||
| За який об’єкт | |||
|- | |||
| Період | |||
| Місяць або інший період | |||
|- | |||
| Сума | |||
| Сума до оплати | |||
|- | |||
| Оплачено | |||
| Скільки оплачено | |||
|- | |||
| Борг | |||
| Залишок до оплати | |||
|- | |||
| Статус | |||
| Не оплачено, частково оплачено, оплачено | |||
|} | |||
== Зарплати співробітникам == | |||
Система може розраховувати нарахування співробітникам за зміни. | |||
== | == Варіанти нарахування == | ||
* погодинна ставка; | |||
* ставка за зміну; | |||
* місячна ставка; | |||
* доплата за нічні години; | |||
* доплата за додаткову зміну; | |||
* штраф або утримання, якщо реалізовано. | |||
== Формула погодинного нарахування == | |||
= | <pre> | ||
Нарахування = Фактичні години × Погодинна ставка | |||
</pre> | |||
== Формула змінного нарахування == | |||
= | <pre> | ||
Нарахування = Кількість відпрацьованих змін × Ставка за зміну | |||
</pre> | |||
== Сповіщення == | |||
Система має надсилати або показувати нагадування. | |||
== Події для сповіщень == | |||
* закінчується договір із клієнтом; | |||
* не вистачає охоронця на пост; | |||
* співробітник не підтвердив зміну; | |||
* зміна пропущена; | |||
* відкритий інцидент не закрито; | |||
* закінчується медична довідка; | |||
* закінчується сертифікат; | |||
* клієнт має прострочену оплату; | |||
* спорядження не повернуто. | |||
== | == Звіти == | ||
== Звіт «Об’єкти охорони» == | |||
У звіті потрібно відображати: | |||
* | * клієнта; | ||
* | * об’єкт; | ||
* адресу; | |||
* кількість постів; | |||
* режим охорони; | |||
* статус договору; | |||
* відповідального менеджера. | |||
== | == Звіт «Графік чергувань» == | ||
У звіті потрібно відображати: | |||
* | * дату; | ||
* об’єкт; | |||
* пост; | * пост; | ||
* | * зміну; | ||
* | * співробітника; | ||
* статус зміни. | |||
* | |||
== | == Звіт «Табель відпрацьованого часу» == | ||
У звіті потрібно відображати: | |||
* співробітника; | |||
* об’єкт; | |||
* пост; | |||
* кількість змін; | |||
* планові години; | |||
* фактичні години; | |||
* нічні години; | |||
* пропуски. | |||
== | == Звіт «Інциденти за період» == | ||
У звіті потрібно відображати: | |||
* дату; | |||
* об’єкт; | |||
* пост; | |||
* тип інциденту; | |||
* охоронця; | |||
* статус; | |||
* результат. | |||
* | == Звіт «Фінанси по клієнтах» == | ||
** | |||
** | У звіті потрібно відображати: | ||
* клієнта; | |||
* об’єкт; | |||
* суму нарахувань; | |||
* оплачено; | |||
* борг; | |||
* статус оплати. | * статус оплати. | ||
== | == Звіт «Зарплати охоронців» == | ||
* | У звіті потрібно відображати: | ||
* | |||
* співробітника; | |||
* кількість змін; | |||
* кількість годин; | |||
* ставку; | |||
* суму нарахування; | |||
* утримання, якщо є; | |||
* суму до виплати. | |||
== AJAX-інтерактив == | |||
Інтерфейс має працювати швидко й без перезавантаження сторінок. | |||
Через AJAX мають працювати: | |||
* пошук клієнтів; | |||
* пошук об’єктів; | |||
* пошук охоронців; | |||
* створення графіка; | |||
* зміна статусу зміни; | |||
* заміна охоронця на посту; | |||
* реєстрація інциденту; | |||
* додавання фото до інциденту; | |||
* закриття інциденту; | |||
* формування рахунку; | |||
* фіксація оплати; | |||
* фільтрація звітів. | |||
== Логування змін == | |||
Модуль повинен фіксувати важливі дії. | |||
Журнал змін має зберігати: | |||
* хто створив клієнта; | |||
* хто створив договір; | |||
* хто створив об’єкт; | |||
* хто створив пост; | |||
* хто призначив охоронця на зміну; | |||
* хто змінив графік; | |||
* хто замінив охоронця; | |||
* хто закрив зміну; | |||
* хто створив інцидент; | |||
* хто закрив інцидент; | |||
* хто додав файл або фото; | |||
* хто виставив рахунок; | |||
* хто зафіксував оплату; | |||
* хто змінив ставку співробітника; | |||
* дату й час дії; | |||
* старе та нове значення, якщо це можливо. | |||
== Права доступу == | |||
Модуль має підтримувати рольову модель. | |||
{| class="wikitable" style="width:100%;" | |||
! Роль | |||
! Можливості | |||
|- | |||
| Диспетчер | |||
| Створює графіки, призначає охоронців, контролює зміни | |||
|- | |||
| Охоронець | |||
| Переглядає свої зміни, фіксує інциденти, додає пояснення | |||
|- | |||
| Старший зміни | |||
| Контролює пости, підтверджує виходи, закриває зміни | |||
|- | |||
| Менеджер об’єкта | |||
| Веде клієнтів, об’єкти, договори, рахунки і звіти | |||
|- | |||
| Бухгалтер | |||
| Веде рахунки, оплати, борги, зарплатні нарахування | |||
|- | |||
| Керівник | |||
| Переглядає всі звіти, інциденти, фінанси і завантаженість | |||
|- | |||
| Адміністратор | |||
| Налаштовує довідники, права, шаблони документів і службові параметри | |||
|} | |||
== Технічні вимоги == | == Технічні вимоги == | ||
{| class="wikitable" | |||
!Параметр | {| class="wikitable" style="width:100%;" | ||
!Опис | ! Параметр | ||
! Опис | |||
|- | |- | ||
|Бекенд | | Бекенд | ||
|K2 Cloud ERP на Python або PHP | | K2 Cloud ERP на Python або PHP | ||
|- | |- | ||
| | | База даних | ||
|PostgreSQL або MySQL | | PostgreSQL або MySQL | ||
|- | |- | ||
|Фронтенд | | Фронтенд | ||
|HTML5, JavaScript | | HTML5, JavaScript | ||
|- | |- | ||
| | | AJAX | ||
| | | Fetch API або Axios | ||
|- | |- | ||
|Друк | | UI-компоненти | ||
| | | DataTables для об’єктів, постів, графіків змін і інцидентів; Select2 для пошуку співробітників, клієнтів і об’єктів | ||
|- | |||
| Календар | |||
| FullCalendar або аналог для планування змін, опціонально | |||
|- | |||
| Файли | |||
| Завантаження фото, актів, договорів, довідок і сертифікатів | |||
|- | |||
| Друк | |||
| PDF-службові записки, акти, рахунки, табелі, звіти | |||
|- | |||
| Експорт | |||
| Excel або PDF для графіків, табелів, фінансів і інцидентів | |||
|} | |} | ||
== Критерії | == Рекомендовані сутності бази даних == | ||
{| class="wikitable" | |||
!Критерій | Для реалізації задачі доцільно передбачити такі сутності: | ||
!Бали | |||
* клієнти; | |||
* договори; | |||
* об’єкти охорони; | |||
* пости охорони; | |||
* співробітники; | |||
* документи співробітників; | |||
* графіки чергувань; | |||
* шаблони графіків; | |||
* табель часу; | |||
* інциденти; | |||
* типи інцидентів; | |||
* файли інцидентів; | |||
* спорядження; | |||
* видача спорядження; | |||
* рахунки клієнтам; | |||
* оплати; | |||
* зарплатні нарахування; | |||
* сповіщення; | |||
* журнал змін; | |||
* звіти; | |||
* права доступу. | |||
== Практичне завдання == | |||
У межах атестації потрібно продемонструвати робочий сценарій. | |||
Мінімальний сценарій: | |||
# створити клієнта; | |||
# створити договір на охорону; | |||
# створити об’єкт охорони; | |||
# створити кілька постів на об’єкті; | |||
# створити співробітників-охоронців; | |||
# додати медичну довідку або сертифікат співробітника; | |||
# створити графік чергувань; | |||
# призначити охоронця на пост; | |||
# змінити статус зміни на '''«Відпрацьовано»'''; | |||
# сформувати табель за період; | |||
# створити інцидент на об’єкті; | |||
# додати фото або файл до інциденту; | |||
# змінити статус інциденту на '''«Закрито»'''; | |||
# сформувати службову записку в PDF; | |||
# створити рахунок клієнту за період; | |||
# зафіксувати оплату; | |||
# розрахувати нарахування співробітнику за зміни; | |||
# сформувати звіт графіка чергувань; | |||
# сформувати звіт інцидентів; | |||
# сформувати фінансовий звіт по клієнтах; | |||
# перевірити журнал змін. | |||
== Критерії оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Критерій | |||
! Бали | |||
! Що перевіряється | |||
|- | |||
| Реалізація бази клієнтів, об’єктів і співробітників | |||
| 20 | |||
| Клієнти, договори, об’єкти охорони, пости, співробітники, документи | |||
|- | |||
| Управління графіками чергувань і постами охорони | |||
| 20 | |||
| Графіки, шаблони змін, призначення охоронців, заміни, табель часу | |||
|- | |- | ||
| | | Реєстрація і обробка інцидентів | ||
|20 | | 20 | ||
| Типи інцидентів, картка інциденту, файли, статуси, службові записки | |||
|- | |- | ||
| | | Фінансовий облік послуг і зарплат | ||
|20 | | 20 | ||
| Договори, рахунки клієнтам, оплати, борги, нарахування співробітникам | |||
|- | |- | ||
| | | Інтерактивність через AJAX і зручність обліку | ||
|20 | | 20 | ||
| Швидкий пошук, зміна графіка, інциденти, оплати, фільтри, звіти без перезавантаження | |||
|- | |- | ||
| | ! Разом | ||
| | ! 100 | ||
! Максимальна оцінка | |||
|} | |||
== Шкала оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Бали | |||
! Рівень | |||
! Опис | |||
|- | |- | ||
| | | 90–100 | ||
| | | Відмінно | ||
| Модуль повністю працює: клієнти, договори, об’єкти, пости, охоронці, графіки, табель, інциденти, фінанси, зарплати і звіти реалізовані коректно | |||
|- | |||
| 75–89 | |||
| Добре | |||
| Основна логіка працює, є незначні недоліки, які не руйнують процес роботи охоронної компанії | |||
|- | |||
| 60–74 | |||
| Зараховано | |||
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання | |||
|- | |||
| 0–59 | |||
| Не зараховано | |||
| Відсутня критична логіка: об’єкти, пости, графіки, співробітники, інциденти, фінанси або звіти | |||
|} | |} | ||
== Критичні помилки == | |||
Критичними помилками вважаються ситуації, коли: | |||
* неможливо створити клієнта; | |||
* неможливо створити об’єкт охорони; | |||
* неможливо створити пост; | |||
* неможливо створити співробітника; | |||
* неможливо створити графік чергувань; | |||
* зміна не прив’язується до поста; | |||
* зміна не прив’язується до охоронця; | |||
* неможливо зафіксувати відпрацьовану зміну; | |||
* табель не формується; | |||
* неможливо створити інцидент; | |||
* інцидент не прив’язується до об’єкта; | |||
* неможливо сформувати рахунок клієнту; | |||
* оплата не змінює борг; | |||
* зарплатне нарахування не враховує відпрацьовані зміни; | |||
* звіти не відповідають фактичним графікам, інцидентам і оплатам; | |||
* зміни графіків, інцидентів і оплат не логуються. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл охоронної компанії: клієнт → договір → об’єкт → пост → охоронець → графік → табель → інцидент → рахунок → оплата → звіт. | |||
</div> | |||
== Очікуваний результат == | |||
У результаті виконання атестаційного завдання має бути створений модуль охоронної компанії в K2 ERP. | |||
Модуль має підтримувати клієнтів, договори, об’єкти охорони, пости, співробітників, документи, графіки чергувань, табелі, інциденти, спорядження, рахунки, оплати, зарплатні нарахування, сповіщення, звіти, AJAX-інтерактив і журнал змін. | |||
== Примітка == | == Примітка == | ||
Чіткий облік змін, інцидентів і | ERP для охоронної компанії є важливою для контролю персоналу, якості обслуговування клієнтів, своєчасного реагування на інциденти, прозорого фінансового обліку і формування довіри з боку замовників. | ||
Чіткий облік змін, постів, інцидентів, договорів і оплат підвищує організованість бізнесу та дозволяє керівництву швидко бачити реальний стан компанії. | |||
== Коротко == | |||
{| class="wikitable" style="width:100%;" | |||
! Питання | |||
! Відповідь | |||
|- | |||
| Що потрібно створити? | |||
| Модуль обліку охоронної компанії | |||
|- | |||
| Які довідники потрібні? | |||
| Клієнти, договори, об’єкти, пости, співробітники, типи інцидентів | |||
|- | |||
| Який головний процес? | |||
| Планування змін охоронців на постах і контроль фактичного чергування | |||
|- | |||
| Що потрібно контролювати? | |||
| Графіки, табелі, документи охоронців, інциденти, договори, оплати | |||
|- | |||
| Які документи потрібні? | |||
| Договори, службові записки, акти інцидентів, табелі, рахунки | |||
|- | |||
| Які звіти потрібні? | |||
| Об’єкти, графіки, табель часу, інциденти, фінанси, зарплати | |||
|- | |||
| Що є критичною вимогою? | |||
| Кожна зміна має бути прив’язана до об’єкта, поста і співробітника | |||
|- | |||
| Що бажано додати? | |||
| Календар змін, облік спорядження, фото інцидентів, сповіщення, PDF-документи | |||
|} | |||
== Див. також == | |||
* [[K2 Cloud ERP|K2 ERP]] | |||
* [[K2 ERP]] | |||
* [[Атестаційні завдання K2 ERP]] | |||
* [[Кадровий облік]] | |||
* [[Табель обліку робочого часу]] | |||
* [[Графік змін]] | |||
* [[Документообіг]] | |||
* [[Інцидент]] | |||
* [[Договір]] | |||
* [[Каса]] | |||
* [[Зарплата]] | |||
* [[AJAX]] | |||
[[Категорія:K2 ERP]] | |||
[[Категорія:Атестаційні завдання K2]] | |||
[[Категорія:Охоронна компанія]] | |||
[[Категорія:Кадровий облік]] | |||
[[Категорія:Графіки чергувань]] | |||
[[Категорія:Документообіг]] | |||
[[Категорія:Корпоративна Wiki]] | |||
Поточна версія на 20:44, 1 травня 2026
Атестаційне завдання 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-документи |