Атестаційні завдання K2 ERP/Надходження товарів
Потрібно створити шаблон друку «Товарна накладна».=== 1. Створити довідники === !Критерій
- по складу;
- по постачальнику;
- по товару. компонент повинен працювати без перезавантаження сторінки — через AJAX, з можливістю:
Бекенд має відповідати таким вимогам:
- номер партії — автоматичне генерування на основі дати постачання та коду товару;
- дата виробництва — опціонально;
- термін придатності — опціонально.== Примітка ==
Шаблон здатна бути реалізований у форматі HTML/PDF і використовувати Stimulsoft або внутрішні механізми друку K2. * збереження документа без перезавантаження сторінки — через AJAX;
- проведення документа;
- переведення статусу документа у «Проведений»;
- зарахування товару на складський облік після проведення документа. Журнал документів має відображати список документів надходження товарів. Воно підходить для атестації розробників, які будуть працювати з бізнес-логікою у K2 Cloud ERP.=== 2. Створити журнал документів «Надходження товарів» ===
Потрібно створити такі довідники:
- створення записів;
- редагування записів;
- видалення записів;
- пошук по назві або коду;
- вибір із довідника при заповненні документів;
- підказки через AJAX. Необхідно розробити веб-модуль для обліку приходу товарів на складський облік. У друкованій формі потрібно виводити:
- пошуку товарів та постачальників у довідниках;
- автоматичного розрахунку сум;
- формування підсумків по кількості та сумі у таблиці.==== Фільтри звіту ====
Довідник постачальників має містити поля:
- використання AJAX без повного перезавантаження сторінок;
- таблиці з сортуванням і фільтрацією;
- можна використовувати DataTables або власну реалізацію. |}
Надходження товарів — практична задача; так само реалізовано що передбачає створення веб-модуля обліку надходження товарів на складський облік з управлінням партіями виступає ключовою рисою розробника K2 Cloud ERP забезпечується через Атестаційне задача K2 Cloud ERP. Окремо варто відзначити який підтримує довідники товарів і постачальників, журнал документів, форму документа з табличною частиною, AJAX-збереження, проведення документа, керування партіями, друк товарної накладної і звіт руху товарів за період.==== інформаційні дані для друку ====
- робота з базою даних через ORM або SQL;
- чітке розмежування обробки чернеток і проведених документів;
- логування змін документів:
- хто створив документ;
- хто провів документ.==== Приховані або бекенд-розрахунки для товару ====
8. Додаткові умови
Очікуваний результат
3. Створити форму введення документа «Надходження товарів»
|- |Правильність структури БД |10 |- |Реалізація довідників з пошуком і вибором |10 |- |Журнал документів і підсумки |15 |- |Форма документа з AJAX-збереженням |20 |- |Проведення документа і розрахунок партій |15 |- |Шаблон друку документа |10 |- |Формування звітів і підсумків |10 |- |Загальна якість коду: читабельність, безпека |10 |-
Функціональність довідників
Це задача імітує реальну задачу, яка виникає щодня в роботі торгових, виробничих або дистриб'юторських компаній. компонент обліку надходження товарів на складський облік з управлінням партіями. Потрібно реалізувати звіт «Рух товарів за період».==== Розрахунки у списку документів ====
6. Друк документів
Розрахунки після збереження документа
Таблиця журналу повинна містити такі колонки:
- кількість;
- ціна закупки;
- дата виробництва;
- дата постачання. {| class="wikitable"
Довідники мають підтримувати:
Фронтенд
Таблична частина має бути багаторядковою формою та містити такі поля:
- номер документа — автоматична генерація при збереженні;
- дата документа — за замовченням поточна дата;
- постачальник — пошук у довіднику через AJAX. У результаті виконання атестаційного задача має бути створений компонент K2 Cloud ERP для обліку надходження товарів на складський облік.=== 7. Звіт «Рух товарів за період» ===
- PHP 8+ або Python для бекенду K2;
- MySQL або PostgreSQL;
- власний або стандартний MVC-фреймворк K2;
- HTML5;
- JavaScript;
- jQuery або Fetch API/Axios для AJAX. Документ має містити детальну інформацію про партії товарів:
SEO-опис задачі
id;- код;
- назва;
- контактні інформаційні дані. Кожен прихід реєструється у системі у вигляді документа «Надходження товарів». Потрібно реалізувати:
Заголовок документа
При виведенні списку документів потрібно підраховувати:
id;- код;
- назва;
- одиниця виміру;
- тип товару;
- виробник;
- стандартна ціна закупки. Довідник товарів має містити поля:
Постачальники
Назва
Журнал документів має підтримувати:
- шапку документа:
- постачальник;
- дата;
- номер;
- табличну частину:
- товари;
- одиниці виміру;
- кількість;
- ціна;
- сума;
- підсумки:
- загальна сума;
- сума ПДВ.==== Товари ====
За обраним періодом потрібно показувати:
- загальну кількість товарних позицій за вибраний період;
- загальну суму за вибраний період. У звіті потрібно показати:
Див. так само
Функціональність журналу
- номер документа;
- дата;
- постачальник;
- кількість товарних позицій;
- загальна сума;
- статус документа:
- чернетка;
- проведений;
- анульований. !100
Форма документа складається із заголовка документа та табличної частини. * реєструватися у журналі документів;
- мати можливість друкуватися у вигляді товарної накладної;
- відображатися у звіті руху товарів.==== Підсумки журналу ====
Поставлені задачі
- фільтрацію за датами;
- фільтрацію за постачальниками;
- фільтрацію за статусом;
- пошук по номеру документа;
- підсумки за обраним періодом. Кожен документ повинен:
!Разом
- товар — пошук у довіднику через AJAX;
- одиниця виміру — підтягується автоматизовано;
- кількість — ручне введення;
- ціна закупки — автоматизовано пропонується, але здатна бути змінена вручну;
- сума — розраховується автоматизовано за формулою
кількість × ціна закупки. !Бали
- загальну кількість товарів;
- загальну суму надходжень.==== Колонки журналу ====
Фронтенд має відповідати таким вимогам:
У звіті потрібно формувати підсумки по всіх стовпцях.== Технічні вимоги ==
Заголовок документа повинен містити:
Підсумки звіту
Для кожного товару необхідно передбачити:
4. Реалізувати збереження та проведення документа
- товари;
- кількість надходжень;
- загальну суму закупок. Звіт має підтримувати фільтрацію:
Критерії оцінки
Після збереження документа потрібно:
- розрахувати підсумкову кількість товарів;
- розрахувати загальну суму документа;
- розрахувати окремо ПДВ 20%.=== 5. Розрахунки ===