Атестаційні завдання K2 ERP/WMS
!; Бажано розділити:
У межах цього задача FIFO застосовують, коли потрібно для списання собівартості товару за партіями.; Звіт має показувати не лише виручку, а й собівартість та фінансовий результат.; !;== Бізнес-сценарій ==
Звіт «Прибутки за період»
Цілі тесту
Реєстр видаткових накладних
- товар;
- складський облік;
- партію;
- кількість залишку;
- собівартість;
- суму залишку.; На основі рахунку-фактури створюється «Видаткова накладна».; У звіті бажано передбачити:
паралельно з цим потрібно розрізняти тип рядка:
Під час виконання задача потрібно використовувати об’єктно-орієнтований підхід.; Послуга не повинна створювати складський залишок, але має змогу впливати на суму документа, витрати або собівартість залежно від логіки реалізації.; Разом У табличній частині мають бути товари й послуги.; K2_Attestation_Wholesale_FIFO_07.png|Друкована форма видаткової накладної|посилання=Файл:K2_Attestation_Wholesale_FIFO_07.png
Партійний обліковий облік потрібен для того, щоб платформа знала, з якого надходження списується товар.; У друкованій формі потрібно показати постачальника, дату, номер документа, складський облік, табличну частину, кількість, ціни, суми та підсумки.; У результаті має бути створене рішення для бізнесу, яке надає можливість:
Вибір товарів у видатковій накладній має відбуватися з поточних залишків.; Критично. Видаткова накладна не має змогу бути проведена, якщо на складі недостатньо товару.; * товари;
- послуги;
- контрагенти;
- склади;
- документи;
- рядки документів;
- партії товарів;
- рухи товарів;
- рухи собівартості;
- рахунки-фактури;
- податкові накладні;
- користувачі;
- журнал змін документів.; характеристика
Вимоги до структури бази даних
Зазвичай вона має реєстр документів, у якому можна переглядати створені документи, шукати потрібну накладну, відкривати її та створювати нову.; K2_Attestation_Wholesale_FIFO_04.png|Друкована форма прибуткової накладної|посилання=Файл:K2_Attestation_Wholesale_FIFO_04.png База даних повинна підтримувати електронний документообіг, табличні частини документів, партійний обліковий облік, рухи товарів і рухи собівартості.; Потрібно побудувати структуру бази даних у графічному вигляді та продемонструвати її.;== Вимоги до веб-рішення == У шапці документа доцільно передбачити: |- | Структура бази даних | 15 | Повнота моделі даних, наявність документів, рядків, партій, рухів, складів, контрагентів і зв’язків |- | SQL | 10 | Коректність SQL-скриптів для MySQL, PostgreSQL або SQLite |- | електронний документообіг | 15 | Ланцюжок замовлення, рахунку-фактури, видаткової та податкової накладної |- | Прибуткові та видаткові накладні | 15 | Реєстри, форми, табличні частини, товари й послуги, друковані форми |- | AJAX та web-інтерфейс | 10 | Створення, редагування, збереження й проведення документів без перезавантаження сторінки |- | FIFO | 15 | Коректне списання собівартості за партіями |- | Контроль залишків | 10 | Попередження про нестачу та заборона проведення документа |- | Звіти | 10 | продажі та реалізація, прибутки, залишки на дату |- | ООП і якість коду | 10 | Структура коду, читабельність, підтримуваність, поділ логіки |- | Демонстрація | 5 | Доступний веб-URL і зафіксований час виконання |- Оптова торгівля, WMS, FIFO та електронний документообіг.; !; WMS.; Виконану роботу потрібно продемонструвати у вигляді веб-сторінки, доступної з інтернет-URL.; характеристика
Шкала оцінювання
У табличній частині повинні бути товари й послуги.; Документ
!; У звіті потрібно відображати: |- | Товар | Номенклатура, до якої належить партія |- | складський облік | складський облік, на якому зберігається партія |- | Дата надходження | Дата прибуткової накладної |- | Кількість початкова | Скільки товару надійшло |- | Кількість залишку | Скільки товару залишилося в партії |- | Собівартість | Закупівельна ціна або облікова собівартість одиниці |- | Документ-підстава | Прибуткова накладна, яка створила партію |}
Послуги повинні додаватися у табличну частину видаткової накладної разом із товарами.; Що перевіряється
Перед продажем клієнту спочатку створюється документ «Замовлення».; !; Звіт має показувати залишки товарів на складі на зазначену дату.; Товари й послуги мають зазначатися в одній табличній частині документа, але облікова логіка для них різна: товари впливають на складські залишки, а послуги не повинні списуватися зі складу як товар.;== FIFO ==
Послуги мають обліковуватися в тій самій табличній частині, що й товари.;
У друкованій формі потрібно показати клієнта, дату, номер, складський облік, товари, послуги, кількість, ціни, суми та підсумки.; Замовлення та рахунок-фактура готують продаж, але самі по собі не повинні списувати товар зі складу.; Це потрібно враховувати при логіці проведення та FIFO.;=== Форма прибуткової накладної ===
- товар;
- послуга.; Продаж товарів клієнтам оформлюється документом «Видаткова накладна».; Реєстр видаткових накладних має дозволяти переглядати, шукати, відкривати та створювати документи реалізації.; | Показати кількість нестачі й заборонити проведення документа
|- | Як списується собівартість?; Мінімальний сценарій:
!; Максимальна оцінка
Критичні помилки
K2_Attestation_Wholesale_FIFO_03.png|Послуги у прибутковій накладній|посилання=Файл:K2_Attestation_Wholesale_FIFO_03.png
Видаткова накладна
Основні документи
Якщо товару не вистачає, платформа повинна:
!;=== Друкована форма прибуткової накладної ===
!; 115
електронний документообіг
{| class="wikitable" style="width:100%;"
== Назва задача ==
'''істотно.''' Документи заднім числом у межах задача не вводяться, але старі документи можуть неоперативно переводитися.;=== Форма видаткової накладної ===
[[Категорія:Оптова торгівля]]
* період;
* товар;
* клієнта;
* складський облік;
* кількість продажу;
* суму продажу;
* документ реалізації.;== Вимоги до програмної реалізації ==
У шапці документа потрібно передбачити:
Мінімальна логіка:
Реєстр прибуткових накладних має дозволяти:
K2_Attestation_Wholesale_FIFO_10.png|Ілюстрація до атестаційного задача|посилання=Файл:K2_Attestation_Wholesale_FIFO_10.png
== Рекомендовані сутності бази даних ==
__TOC__
# створити товари, послуги, контрагентів і складський облік;
# оформити прибуткову накладну;
# провести прибуткову накладну;
# перевірити створення партій;
# створити замовлення клієнта;
# створити рахунок-фактуру на основі замовлення;
# створити видаткову накладну на основі рахунку-фактури;
# додати в табличну частину товари й послуги;
# провести видаткову накладну;
# перевірити списання товарів за FIFO;
# створити податкову накладну на основі видаткової;
# сформувати друковані форми;
# сформувати звіт продажів;
# сформувати звіт прибутку;
# сформувати звіт залишків на дату;
# продемонструвати попередження при нестачі товару.; | Веб-рішення для оптової торгівлі та WMS-обліку
|-
| Який ключовий електронний документообіг?; Видаткова накладна зменшує залишки товарів і списує собівартість за FIFO.; Призначення
Потрібно використовувати AJAX або аналогічний підхід для:
|-
| '''Прибуткова накладна'''
| Фіксує надходження товарів і послуг
| Збільшує залишки товарів
|-
| '''Замовлення'''
| Фіксує намір клієнта купити товари або послуги
| Не списує товар
|-
| '''Рахунок-фактура'''
| Формує рахунок для оплати клієнтом
| Не списує товар
|-
| '''Видаткова накладна'''
| Оформлює продаж товарів і послуг
| Списує товари зі складу
|-
| '''Податкова накладна'''
| Формує податковий документ на основі реалізації
| Не змінює складські залишки напряму
|}
Для реалізації задачі доцільно передбачити такі сутності:
Надходження товарів від постачальників оформлюється документом '''«Прибуткова накладна»'''.; У результаті виконання атестаційного задача має бути створене веб-рішення для оптової торгівлі.; Вплив на складський облік
=== Реєстр прибуткових накладних ===
Код має бути структурованим, зрозумілим і придатним для підтримки.; !; Напрям
'''FIFO''' — це метод списання, за яким першим списується товар, що першим надійшов на складський облік.; K2_Attestation_Wholesale_FIFO_09.png|Ілюстрація до атестаційного задача|посилання=Файл:K2_Attestation_Wholesale_FIFO_09.png
'''центральний принцип.''' WMS-завдання перевіряє не лише вміння зробити форми документів, а й розуміння руху товарів: що надійшло, що продано, з якої партії списано, яка собівартість і який залишок доступний на дату.; !;== Партійний обліковий облік ==
Форма прибуткової накладної має містити шапку документа й табличну частину.; | Так, товари й послуги мають бути в одній табличній частині
|-
| Що має робити платформа при нестачі товару?; Рівень
Це зменшує ризик помилок і сприяє не створювати документи, які неможливо провести.;</div>
== Очікувані звіти ==
# '''Замовлення''';
# '''Рахунок-фактура''';
# '''Видаткова накладна''';
# '''Податкова накладна'''.; !; При проведенні видаткової накладної платформа має перевіряти наявність товарів на складі.; При створенні сторінок документів усе має працювати без повного перезавантаження сторінок.;== Див.; додатково ==
* моделі;
* контролери;
* сервіси проведення документів;
* сервіси розрахунку FIFO;
* сервіси звітів;
* шаблони друку;
* frontend-логіку;
* SQL або ORM-шар.; Проведення “в мінус” у цьому завданні не допускається.; K2_Attestation_Wholesale_FIFO_08.png|Звіт «Залишки по складу»|посилання=Файл:K2_Attestation_Wholesale_FIFO_08.png
Окремо варто відзначити оптова торгівля, FIFO і електронний документообіг''' — це практична задача; додатково реалізовано закупівель, продажів, послуг, партійного обліку, списання собівартості за методом FIFO та формування звітів виступає ключовою рисою перевірки навичок розробника або впроваджувача [[K2 ERP]] у побудові веб-рішення для складського обліку забезпечується через '''Атестаційне задача K2 ERP.; K2_Attestation_Wholesale_FIFO_01.png|Приблизний вигляд реєстру прибуткових накладних|посилання=Файл:K2_Attestation_Wholesale_FIFO_01.png
* створення документів;
* редагування документів;
* збереження рядків табличної частини;
* проведення документів;
* перевірки залишків;
* відображення попереджень.; '''Логіка процесу.''' Прибуткова накладна збільшує залишки товарів.; Якщо на складський облік спочатку надійшло 5 одиниць товару по 100 грн, а потім ще 5 одиниць по 120 грн, то при продажу 6 одиниць собівартість має списуватися так:
Необхідно побудувати три основні звіти.; | За партіями методом FIFO
|-
| Які звіти потрібні?; На основі замовлення формується '''«Рахунок-фактура»''', коли замовник підтверджує замовлення і просить безготівковий рахунок.; |}
== Мета задача ==
Прибуткова накладна оформлює надходження товарів і послуг від постачальника.; Питання
'''Коротко.''' У межах задача потрібно реалізувати повний ланцюжок складського й торгового документообігу: прибуткова накладна → замовлення → рахунок-фактура → видаткова накладна → податкова накладна, з контролем залишків і списанням собівартості за FIFO.; |-
| 100–115
| Відмінно
| рішення для бізнесу в цілому функціонує, FIFO реалізовано коректно, звіти відповідають рухам, код структурований
|-
| 85–99
| Добре
| Основна логіка функціонує, є собою незначні недоліки без критичного впливу на результат
|-
| 70–84
| Зараховано
| Базовий електронний документообіг функціонує, але є собою помилки або неповна реалізація окремих частин
|-
| 0–69
| Не зараховано
| Відсутня критична логіка: FIFO, контроль залишків, проведення документів або звіти
|}
== Звіт «Продаж товарів за період» ==
Мінімальні інформаційні дані партії:
* видаткова накладна проводиться при нестачі товару;
* FIFO не функціонує або списує собівартість неправильно;
* прибуткова накладна не створює партії;
* видаткова накладна не списує товар зі складу;
* послуги помилково списуються зі складу як товар;
* звіт залишків не відповідає проведеним документам;
* звіт прибутку не враховує собівартість;
* немає зв’язку між замовленням, рахунком-фактурою, видатковою та податковою накладною;
* документи неможливо створювати або редагувати без перезавантаження сторінки, якщо це було вимогою реалізації.; Відповідь
Допускаються такі бази даних:
* переглядати список документів;
* шукати документи;
* відкривати існуючі документи;
* створювати нову прибуткову накладну;
* фільтрувати документи за датою, постачальником і статусом.;<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
</div>
Звіт має показувати прибуток за вибраний період з урахуванням собівартості, списаної за FIFO.; Форма видаткової накладної має містити шапку документа та табличну частину.; {| class="wikitable" style="width:100%;"
Прибуткова накладна повинна мати друковану форму.;
задача імітує роботу компанії, яка займається оптовою торгівлею: отримує товари від постачальників, продає їх клієнтам, надає додаткові послуги, формує документи, контролює залишки та аналізує прибуток.; Веб-рішення має бути побудоване на фреймворку з відкритим вихідним кодом.; * показати попередження;
- вказати кількість нестачі;
- не дозволити провести документ.;=== Друкована форма видаткової накладної ===
Умова складання. задача не має змогу бути зараховане, якщо платформа не контролює залишки або не списує собівартість товарів за FIFO.; | продажі та реалізація за період, прибутки за період, залишки товару на дату |}
- K2 ERP
- Атестаційні завдання K2 ERP
- Оптова торгівля
- FIFO
- Складський облік
- Прибуткова накладна
- Видаткова накладна
- Звіт залишків по складу
- WMS
- Партійний облік
- Рахунок-фактура
- Податкова накладна
Звіт «Залишки товару на дату»
Звіт має показувати реалізацію товарів за вибраний період.; {| class="wikitable" style="width:100%;"
організація займається оптовою торгівлею.; Мета задача — перевірити здатність спеціаліста спроєктувати та реалізувати веб-рішення для обліку оптової торгівлі в K2 ERP.; Прибуток = Сума продажу - Собівартість списання
рішення для бізнесу має підтримувати прибуткові накладні, замовлення, рахунки-фактури, видаткові накладні, податкові накладні, послуги в табличній частині, контроль залишків, списання собівартості за FIFO, друковані форми та звіти.; * номер;
- дату;
- клієнта;
- складський облік;
- документ-підставу;
- статус;
- коментар.; Товар збільшує складські залишки.;
Кожна прибуткова накладна має створювати партії товарів.; Послуга має змогу входити в суму документа, але не повинна зменшувати складські залишки як товар.; Таким чином, платформа має не без ускладнень зменшити загальний залишок, а правильно визначити, з яких партій списується товар і яка собівартість продажу.; Бали
У межах атестації потрібно продемонструвати робочий сценарій.; Бали
-
Видатковою накладною
-
Реєстр видаткових накладних
-
Прибутковою накладною
Практичне задача
Коротко
- 5 одиниць × 100 грн;
- 1 одиниця × 120 грн.; # Прибуткова накладна.; K2_Attestation_Wholesale_FIFO_06.png|Реалізація послуг у видатковій накладній|посилання=Файл:K2_Attestation_Wholesale_FIFO_06.png
Послуги в прибутковій накладній
- вміння будувати структуру бази даних;
- знання SQL та вміння працювати з базою даних;
- стиль написання програмного коду;
- використання веб-технологій для прикладних задач;
- використання об’єктно-орієнтованого програмування;
- використання AJAX у практичних завданнях;
- інтерпретацію бізнес-задачі у веб-додаток;
- конфігурація веб-сервера для демонстрації проєкту;
- швидкість вирішення задачі.;== Вибір рядків у видатковій накладній ==
| ; Час виконання потрібно зафіксувати та повідомити при здачі.; Критичними помилками вважаються ситуації, коли: | ; Поле
Очікуваний результатРеалізація послуг |
Форма прибуткової накладної|посилання=Файл:K2_Attestation_Wholesale_FIFO_02.png
Ілюстрації з документаРобота має бути продемонстрована через веб-сторінку, доступну з інтернет-URL.; Видаткова накладна повинна мати друковану форму.; ключовий ланцюжок документів: Атестаційне задача має перевірити:
|
|---|---|---|
| Як оформлюється надходження?; як ілюстрація, якщо користувач системи продає 10 одиниць товару, а на складі є собою лише 7, платформа повинна показати нестачу 3 одиниці й заблокувати проведення. |