Атестаційні завдання K2 ERP/Автоперевізник: відмінності між версіями

Створена сторінка: = Модуль обліку автоперевезень вантажів і пасажирів = == Реальний бізнес-контекст == Транспортна компанія організовує: * перевезення вантажів або пасажирів автомобільним транспортом; * має власний автопарк і водіїв; * виконує планування маршрутів; * ве...
 
Немає опису редагування
 
Рядок 1: Рядок 1:
= Модуль обліку автоперевезень вантажів і пасажирів =
{{DISPLAYTITLE:Атестаційні завдання K2 ERP/Автоперевізник}}
 
'''Атестаційне завдання K2 ERP — Автоперевізник''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні модуля обліку автоперевезень вантажів і пасажирів.
 
Модуль має забезпечувати повний цикл роботи транспортної компанії: облік автопарку, водіїв, маршрутів, рейсів, витрат, палива, оплат клієнтів, рахунків, актів виконаних перевезень, планового ТО та прибутковості рейсів.
 
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
'''Коротко.''' Потрібно реалізувати модуль для автоперевізника: транспорт, водії, маршрути, рейси, паливо, витрати, дохід, прибутковість, рахунки клієнтам, акти виконаних перевезень, календар планування і контроль технічного обслуговування.
</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%;"
! Поле
! Опис
|-
| Номер автомобіля
| Державний номер транспортного засобу
|-
| Марка і модель
| Наприклад: Mercedes Sprinter, MAN, Volvo, Богдан
|-
| Тип транспорту
| Вантажівка, автобус, мікроавтобус тощо
|-
| Вантажопідйомність
| Для вантажного транспорту
|-
| Кількість пасажирських місць
| Для пасажирського транспорту
|-
| Номер техпаспорта
| Дані реєстраційного документа
|-
| Витрата палива
| Норма л/100 км
|-
| Тип палива
| Дизель, бензин, газ, електро
|-
| Поточний пробіг
| Останній зафіксований показник одометра
|-
| Статус
| Доступний, у рейсі, на ремонті, неактивний
|}


=== 1. Структура довідників ===
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;">
'''Важливо.''' Транспорт, який перебуває в рейсі або на ремонті, не повинен призначатися на новий рейс без окремого підтвердження.
</div>


==== Довідник «Автотранспорт» ====
== Довідник «Водії» ==


Поля довідника:
Довідник водіїв містить працівників, які виконують перевезення.


* номер автомобіля;
== Поля водія ==
* марка і модель;
* тип транспорту:
** вантажівка;
** автобус;
** мікроавтобус;
* вантажопідйомність / кількість пасажирських місць;
* номер техпаспорта;
* витрата палива, л/100 км.


==== Довідник «Водії» ====
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| ПІБ
| Повне ім’я водія
|-
| Телефон
| Контактний номер
|-
| Номер водійського посвідчення
| Номер документа
|-
| Категорії допуску
| B, C, D, CE або інші
|-
| Дата завершення посвідчення
| Для контролю строку дії
|-
| Статус
| Доступний, у рейсі, у відпустці, неактивний
|-
| Примітки
| Додаткова інформація
|}


Поля довідника:
== Довідник «Маршрути» ==


* ПІБ;
Маршрут описує напрям перевезення.
* номер водійського посвідчення;
* категорії допуску:
** B;
** C;
** D;
* телефон.


==== Довідник «Маршрути» ====
== Поля маршруту ==


Поля довідника:
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Початкова точка
| Місто, адреса або склад відправлення
|-
| Кінцева точка
| Місто, адреса або пункт призначення
|-
| Відстань, км
| Планова довжина маршруту
|-
| Проміжні пункти
| Через які міста або точки проходить маршрут
|-
| Опис маршруту
| Додаткові умови або примітки
|-
| Плановий час у дорозі
| Орієнтовна тривалість рейсу
|}


* початкова точка;
== Довідник «Типи вантажів/послуг» ==
* кінцева точка;
* відстань, км;
* опис маршруту — через які пункти.


==== Довідник «Типи вантажів/послуг» ====
Тип перевезення допомагає розділяти рейси за видом послуг.


Типи:
== Приклади типів ==


* вантажні перевезення;
* вантажні перевезення;
* пасажирські перевезення;
* пасажирські перевезення;
* спеціальні доставки.
* спеціальні доставки;
* регулярні маршрути;
* експрес-доставка;
* міжнародні перевезення;
* міжміські перевезення;
* локальна доставка.


=== 2. Журнал «Рейси» ===
== Клієнти ==


==== Колонки журналу ====
Клієнти — це замовники перевезень.


* номер рейсу;
== Поля клієнта ==
* дата виїзду;
 
* автомобіль;
{| class="wikitable" style="width:100%;"
* водій;
! Поле
! Опис
|-
| Назва клієнта / ПІБ
| Компанія або фізична особа
|-
| Тип клієнта
| Фізична або юридична особа
|-
| Телефон
| Контактний номер
|-
| Email
| Електронна адреса
|-
| Адреса
| Адреса клієнта
|-
| Договір
| Номер або посилання на договір, якщо є
|-
| Умови оплати
| Передплата, післяплата, безготівково тощо
|}
 
== Журнал «Рейси» ==
 
Журнал рейсів є головним робочим екраном модуля.
 
== Колонки журналу рейсів ==
 
{| class="wikitable" style="width:100%;"
! Колонка
! Опис
|-
| Номер рейсу
| Унікальний номер рейсу
|-
| Дата виїзду
| Планова або фактична дата старту
|-
| Клієнт
| Замовник перевезення
|-
| Автомобіль
| Призначений транспорт
|-
| Водій
| Призначений водій
|-
| Маршрут
| Напрям перевезення
|-
| Тип перевезення
| Вантажне, пасажирське, спеціальне
|-
| Вартість перевезення
| Дохід по рейсу
|-
| Фактичний пробіг
| Різниця між кінцевим і стартовим одометром
|-
| Витрати на паливо
| Фактичні витрати палива
|-
| Додаткові витрати
| Дороги, стоянки, штрафи, інше
|-
| Статус рейсу
| Запланований, у процесі, завершений, скасований
|}
 
== Статуси рейсу ==
 
{| class="wikitable" style="width:100%;"
! Статус
! Значення
|-
| Запланований
| Рейс створено, але ще не розпочато
|-
| Підтверджений
| Транспорт і водій призначені, рейс погоджено
|-
| У процесі
| Рейс виконується
|-
| Очікує документів
| Рейс завершено, але документи ще не оформлені
|-
| Завершений
| Рейс виконано, витрати внесено, документи сформовано
|-
| Скасований
| Рейс не відбувся
|}
 
== Створення рейсу ==
 
При створенні рейсу потрібно вказати основні параметри перевезення.
 
== Поля рейсу ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Номер рейсу
| Генерується автоматично або вводиться вручну
|-
| Клієнт
| Замовник перевезення
|-
| Маршрут
| Вибір із довідника маршрутів
|-
| Автомобіль
| Вибір доступного транспорту
|-
| Водій
| Вибір доступного водія
|-
| Тип перевезення
| Вантажне, пасажирське або інше
|-
| Дата виїзду
| Планова дата старту
|-
| Дата прибуття
| Планова дата завершення
|-
| Вартість перевезення
| Дохід по рейсу
|-
| Коментар
| Додаткові умови
|}
 
== Процес виконання рейсу ==
 
== 1. Планування ==
 
На етапі планування менеджер:
 
* обирає маршрут;
* обирає транспорт;
* обирає водія;
* вказує клієнта;
* вказує планову дату виїзду;
* задає вартість перевезення.
 
== 2. Виїзд ==
 
При старті рейсу потрібно зафіксувати:
 
* дату і час виїзду;
* показник одометра на старті;
* залишок палива, опціонально;
* статус рейсу '''«У процесі»'''.
 
== 3. Виконання рейсу ==
 
Під час рейсу можна додавати витрати:
 
* паливо;
* платні дороги;
* стоянки;
* штрафи;
* ремонт у дорозі;
* добові;
* інші витрати.
 
== 4. Завершення рейсу ==
 
Після завершення рейсу потрібно зафіксувати:
 
* дату і час прибуття;
* кінцевий показник одометра;
* фактичний пробіг;
* остаточні витрати;
* фінансовий результат.
 
== Облік палива ==
 
Паливо є однією з ключових витрат автоперевізника.
 
== Поля паливної операції ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Рейс
| До якого рейсу належить витрата
|-
| Дата
| Дата заправки
|-
| Тип палива
| Дизель, бензин, газ тощо
|-
| Кількість літрів
| Обсяг палива
|-
| Ціна за літр
| Вартість одиниці
|-
| Сума
| Кількість × ціна
|-
| АЗС
| Опціонально, місце заправки
|-
| Коментар
| Додаткова інформація
|}
 
== Планова витрата палива ==
 
Планова витрата розраховується за нормою транспорту.
 
<pre>
Планове паливо = Відстань маршруту × Норма витрати / 100
</pre>
 
== Фактична витрата палива ==
 
Фактична витрата береться з внесених паливних операцій.
 
<pre>
Фактичне паливо = Сума літрів по рейсу
</pre>
 
== Порівняння плану і факту ==
 
Система повинна показувати відхилення:
 
<pre>
Відхилення = Фактичне паливо - Планове паливо
</pre>
 
== Додаткові витрати рейсу ==
 
Окрім палива, у рейсі можуть бути інші витрати.
 
== Приклади витрат ==
 
* платні дороги;
* стоянки;
* штрафи;
* ремонт у дорозі;
* мийка;
* добові водія;
* навантаження або розвантаження;
* інші операційні витрати.
 
== Поля витрати ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Рейс
| До якого рейсу належить витрата
|-
| Дата
| Коли виникла витрата
|-
| Тип витрати
| Паливо, дорога, стоянка, ремонт, штраф тощо
|-
| Сума
| Сума витрати
|-
| Валюта
| UAH, USD, EUR або інша
|-
| Документ
| Чек, квитанція, фото або інший файл
|-
| Коментар
| Пояснення витрати
|}
 
== Розрахунок прибутковості рейсу ==
 
Система повинна автоматично рахувати фінансовий результат рейсу.
 
== Загальні витрати рейсу ==
 
<pre>
Загальні витрати = Паливо + Додаткові витрати
</pre>
 
== Чистий прибуток рейсу ==
 
<pre>
Чистий прибуток = Дохід від перевезення - Загальні витрати
</pre>
 
== Рентабельність рейсу ==
 
<pre>
Рентабельність = Чистий прибуток / Дохід від перевезення × 100%
</pre>
 
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
'''Практичний сенс.''' Один рейс може виглядати вигідним за сумою оплати, але стати збитковим після врахування палива, простоїв, платних доріг і додаткових витрат.
</div>
 
== Календар планування рейсів ==
 
Календар потрібен для контролю завантаження транспорту і водіїв.
 
== У календарі потрібно бачити ==
 
* заплановані рейси;
* транспорт у рейсі;
* водіїв у рейсі;
* вільний транспорт;
* конфлікти призначення;
* рейси, що перетинаються по датах;
* завершені та скасовані рейси.
 
== Контроль конфліктів ==
 
Система повинна попереджати, якщо:
 
* автомобіль уже призначений на інший рейс у цей час;
* водій уже призначений на інший рейс;
* автомобіль перебуває на ремонті;
* водій неактивний або у відпустці;
* категорія водія не відповідає типу транспорту.
 
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
'''Критично.''' Один і той самий автомобіль або водій не повинні бути призначені на два рейси, які виконуються одночасно.
</div>
 
== Технічне обслуговування транспорту ==
 
Модуль має контролювати планове ТО транспорту.
 
== ТО може плануватися за ==
 
* пробігом;
* датою;
* мотогодинами, якщо застосовується;
* рекомендаціями сервісу;
* внутрішніми правилами компанії.
 
== Дані ТО ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Автомобіль
| Транспорт, для якого планується ТО
|-
| Тип ТО
| Планове, позапланове, ремонт
|-
| Планова дата
| Коли потрібно виконати ТО
|-
| Плановий пробіг
| При якому пробігу потрібно виконати ТО
|-
| Фактична дата
| Коли ТО виконано
|-
| Вартість
| Сума обслуговування
|-
| Коментар
| Деталі виконаних робіт
|}
 
== Документи по рейсу ==
 
== Рахунок клієнту ==
 
Рахунок формується на основі рейсу.
 
Рахунок має містити:
 
* номер рахунку;
* дату;
* клієнта;
* маршрут;
* маршрут;
* дату рейсу;
* тип перевезення;
* тип перевезення;
* суму до оплати;
* реквізити для оплати.
== Акт виконаних перевезень ==
Акт підтверджує факт надання послуги.
Акт має містити:
* номер акта;
* дату;
* клієнта;
* маршрут;
* транспорт;
* водія;
* дату виконання рейсу;
* вартість перевезення;
* вартість перевезення;
* фактичний пробіг, км;
* підписи сторін.
 
== Звітність ==
 
== Звіт «Рейси за період» ==
 
Звіт показує виконані рейси за вибраний період.
 
У звіті потрібно відображати:
 
* номер рейсу;
* дату;
* клієнта;
* маршрут;
* автомобіль;
* водія;
* дохід;
* витрати;
* чистий прибуток;
* статус.
 
== Звіт «Витрати на транспорт» ==
 
Звіт показує витрати по кожному автомобілю.
 
У звіті потрібно відображати:
 
* автомобіль;
* витрати на паливо;
* витрати на паливо;
* додаткові витрати:
* витрати на обслуговування;
** платні дороги;
* платні дороги;
** стоянки;
* стоянки;
* статус рейсу:
* інші витрати;
** запланований;
* загальну суму витрат.
** у процесі;
 
** завершений;
== Звіт «Робота водіїв» ==
** скасований.
 
Звіт показує активність водіїв.
 
У звіті потрібно відображати:
 
* водія;
* кількість рейсів;
* загальний пробіг;
* кількість завершених рейсів;
* кількість скасованих рейсів;
* суму доходу по рейсах;
* кількість прострочених або проблемних рейсів.
 
== Звіт «Прибутковість рейсів» ==
 
Звіт показує фінансовий результат рейсів.


==== Функціонал ====
У звіті потрібно відображати:


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


=== 3. Процес виконання рейсу ===
== Звіт «Планове ТО» ==


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


# Створення рейсу:
У звіті потрібно відображати:
#* обрання маршруту;
#* обрання транспорту;
#* обрання водія.
# Виїзд:
#* фіксація дати;
#* фіксація одометра на старті.
# Під час рейсу:
#* реєстрація витрат на паливо;
#* реєстрація штрафів;
#* реєстрація витрат на платні дороги.
# Завершення рейсу:
#* фіксація кінцевого одометра.
# Автоматичний підрахунок:
#* фактичної витрати палива;
#* прибутковості рейсу.


=== 4. Витрати і дохід ===
* автомобіль;
* поточний пробіг;
* плановий пробіг ТО;
* залишок км до ТО;
* планову дату ТО;
* статус ТО.


Функціонал:
== AJAX-інтерактив ==


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


=== 5. Додаткові функції ===
Через AJAX мають працювати:


* робота через AJAX для оновлення статусів рейсу без перезавантаження;
* вибір клієнта;
* контроль запланованих та завершених рейсів на календарі;
* вибір маршруту;
* генерація рахунків-фактур клієнтам за рейсами;
* вибір транспорту;
* підрахунок планових і фактичних витрат на паливо;
* вибір водія;
* автоматичне нагадування про планове ТО транспорту.
* створення рейсу;
* зміна статусу рейсу;
* внесення одометра;
* додавання витрат;
* додавання паливних операцій;
* розрахунок прибутковості;
* оновлення календаря;
* формування рахунку;
* формування акта;
* фільтрація журналів;
* оновлення звітів.


=== 6. Звіти ===
== Логування змін ==


==== Звіт «Рейси за період» ====
Модуль повинен фіксувати важливі зміни.


* кількість рейсів;
Журнал змін має зберігати:
* дохід і витрати;
* чистий прибуток.


==== Звіт «Витрати на транспорт» ====
* хто створив рейс;
* хто змінив маршрут;
* хто призначив автомобіль;
* хто призначив водія;
* хто змінив дату рейсу;
* хто змінив статус рейсу;
* хто вніс стартовий одометр;
* хто вніс кінцевий одометр;
* хто додав витрати;
* хто додав паливо;
* хто сформував рахунок;
* хто сформував акт;
* дату й час зміни;
* старе та нове значення, якщо це можливо.


* витрати на паливо;
== Права доступу ==
* витрати на обслуговування;
* додаткові витрати.


==== Звіт «Робота водіїв» ====
Модуль має підтримувати розмежування прав.


* кількість рейсів на кожного водія.
{| class="wikitable" style="width:100%;"
! Роль
! Можливості
|-
| Диспетчер
| Планує рейси, призначає транспорт і водіїв, контролює виконання
|-
| Водій
| Бачить свої рейси, може передавати дані по витратах і пробігу
|-
| Менеджер
| Працює з клієнтами, вартістю рейсу, рахунками і актами
|-
| Бухгалтер
| Контролює оплату, рахунки, акти і фінансові документи
|-
| Механік
| Контролює ТО, ремонт і технічний стан транспорту
|-
| Керівник
| Переглядає звіти, прибутковість, витрати і завантаження автопарку
|-
| Адміністратор
| Налаштовує довідники, права, маршрути, типи витрат і службові параметри
|}


== Технічні вимоги ==
== Технічні вимоги ==


{| class="wikitable"
{| class="wikitable" style="width:100%;"
! Параметр
! Параметр
! Опис
! Опис
Рядок 157: Рядок 836:
| K2 Cloud ERP на Python або PHP
| K2 Cloud ERP на Python або PHP
|-
|-
| БД
| База даних
| PostgreSQL або MySQL
| PostgreSQL або MySQL
|-
|-
| Фронтенд
| Фронтенд
| HTML5, JavaScript, AJAX, Axios або Fetch API
| HTML5, JavaScript
|-
| AJAX
| Axios або Fetch API
|-
|-
| UI-компоненти
| UI-компоненти
| DataTables для рейсів, Select2 для вибору транспорту і водіїв, календар для планування рейсів
| DataTables для рейсів, Select2 для вибору транспорту, водіїв і маршрутів
|-
| Календар
| Календар для планування рейсів
|-
| Файли
| Фото чеків, квитанцій, документів по витратах
|-
|-
| Друк
| Друк
| Генерація PDF-рахунків, актів виконаних перевезень
| PDF-рахунки, акти виконаних перевезень, маршрутні листи
|-
| Експорт
| Excel або PDF для звітів
|}
|}


== Критерії оцінки ==
== Рекомендовані сутності бази даних ==


{| class="wikitable"
Для реалізації задачі доцільно передбачити такі сутності:
 
* автотранспорт;
* типи транспорту;
* водії;
* категорії водійських посвідчень;
* маршрути;
* клієнти;
* типи перевезень;
* рейси;
* статуси рейсів;
* паливні операції;
* типи витрат;
* витрати рейсів;
* рахунки;
* акти виконаних перевезень;
* технічне обслуговування;
* календар рейсів;
* документи рейсу;
* журнал змін;
* звіти;
* права доступу.
 
== Практичне завдання ==
 
У межах атестації потрібно продемонструвати робочий сценарій.
 
Мінімальний сценарій:
 
# створити транспорт;
# створити водія;
# створити маршрут;
# створити клієнта;
# створити типи перевезень;
# створити рейс;
# призначити автомобіль і водія;
# вказати планову вартість перевезення;
# перевести рейс у статус '''«У процесі»''';
# зафіксувати стартовий одометр;
# додати паливну операцію;
# додати додаткові витрати;
# завершити рейс;
# зафіксувати кінцевий одометр;
# перевірити розрахунок фактичного пробігу;
# перевірити розрахунок планового і фактичного палива;
# перевірити розрахунок прибутковості рейсу;
# сформувати рахунок клієнту;
# сформувати акт виконаного перевезення;
# перевірити календар рейсів;
# створити планове ТО для автомобіля;
# сформувати звіт рейсів за період;
# сформувати звіт витрат на транспорт;
# сформувати звіт роботи водіїв;
# сформувати звіт прибутковості рейсів.
 
== Критерії оцінювання ==
 
{| class="wikitable" style="width:100%;"
! Критерій
! Критерій
! Бали
! Бали
! Що перевіряється
|-
|-
| Реалізація обліку транспорту, водіїв і маршрутів
| Реалізація обліку транспорту, водіїв і маршрутів
| 20
| 20
| Автопарк, водії, категорії допуску, маршрути, клієнти, типи перевезень
|-
|-
| Управління створенням і виконанням рейсів
| Управління створенням і виконанням рейсів
| 20
| 20
| Створення рейсу, призначення транспорту і водія, статуси, старт і завершення
|-
|-
| Облік витрат і підрахунок прибутковості рейсів
| Облік витрат і підрахунок прибутковості рейсів
| 20
| 20
| Паливо, додаткові витрати, пробіг, собівартість, чистий прибуток, рентабельність
|-
|-
| Формування рахунків і звітності
| Формування рахунків і звітності
| 20
| 20
| Рахунок клієнту, акт виконаних перевезень, звіти по рейсах, транспорту і водіях
|-
|-
| Інтерактивність через AJAX і планування на календарі
| Інтерактивність через AJAX і планування на календарі
| 20
| 20
| AJAX-створення рейсів, витрат, статусів, оновлення календаря і звітів
|-
! Разом
! 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-інтерактив і логування змін.


== Примітка ==
== Примітка ==


Модуль для автоперевізників — обов'язковий для:
Модуль для автоперевізників потрібен логістичним компаніям, вантажним перевізникам, автобусним компаніям, службам доставки, підприємствам із власним автопарком і компаніям, які виконують регулярні перевезення.
 
Автоматизація обліку рейсів дозволяє мінімізувати втрати, контролювати паливо, бачити реальну прибутковість, оптимізувати логістику і підвищувати ефективність використання транспорту.
 
== Коротко ==
 
{| class="wikitable" style="width:100%;"
! Питання
! Відповідь
|-
| Що потрібно створити?
| Модуль обліку автоперевезень вантажів і пасажирів
|-
| Які довідники потрібні?
| Автотранспорт, водії, маршрути, клієнти, типи перевезень
|-
| Який головний документ?
| Рейс
|-
| Що має містити рейс?
| Клієнта, маршрут, транспорт, водія, пробіг, витрати, дохід і статус
|-
| Що потрібно рахувати?
| Фактичний пробіг, паливо, загальні витрати, чистий прибуток і рентабельність
|-
| Які документи потрібні?
| Рахунок клієнту і акт виконаних перевезень
|-
| Які звіти потрібні?
| Рейси за період, витрати на транспорт, робота водіїв, прибутковість рейсів, планове ТО
|-
| Що є критичною вимогою?
| Повний цикл: рейс → виконання → витрати → прибутковість → документи → звіт
|}


* логістичних компаній;
== Див. також ==
* вантажних перевізників;
* автобусних компаній.


Автоматизація обліку рейсів дозволяє:
* [[K2 Cloud ERP|K2 ERP]]
* [[K2 ERP]]
* [[Атестаційні завдання K2 ERP]]
* [[TMS]]
* [[Автоперевізник]]
* [[Логістика]]
* [[Рейс]]
* [[Маршрут]]
* [[Автотранспорт]]
* [[Водії]]
* [[Паливо]]
* [[Рахунок на оплату]]
* [[Акт виконаних робіт]]
* [[Звітність]]


* мінімізувати втрати;
[[Категорія:K2 ERP]]
* оптимізувати логістику;
[[Категорія:Атестаційні завдання K2]]
* підвищити прибутковість бізнесу.
[[Категорія:Автоперевізник]]
[[Категорія:TMS]]
[[Категорія:Логістика]]
[[Категорія:Автотранспорт]]
[[Категорія:Корпоративна Wiki]]