Перейти до вмісту

Атестаційні завдання K2 ERP/Надходження товарів

Матеріал з K2 ERP Wiki

У межах задача потрібно розробити або налаштувати компонент обліку надходження товарів на складський облік.; характеристика !; Питання

Критерії оцінювання

|- | Шапка документа | Постачальник, дата, номер документа, складський облік |- | Таблична частина | Товари, одиниці виміру, кількість, ціна, сума |- | Підсумки | Загальна кількість, загальна сума, сума ПДВ |}

Заголовок документа

Вимоги до backend

Для кожного рядка:

Довідник товарів має містити номенклатуру, яка застосовують, коли потрібно в документах надходження.; характеристика !; * зарахувати товар на складський облік;

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

!; {| class="wikitable" style="width:100%;"

Можна використовувати DataTables, власну реалізацію або стандартні компоненти K2.; Поле
Потрібно створити друковану форму «Товарна накладна».; Відповідь Потрібно реалізувати звіт «Рух товарів за період».; Звіт має підтримувати фільтрацію по складу, постачальнику та товару.; користувач системи повинен мати змогу додавати кілька товарів в один документ.; істотно. Якщо товар обліковується партіями, залишки мають зберігатися не лише по товару загалом, а й по конкретній партії.;== Проведення документа ==
Правильність структури бази даних 10 Таблиці, зв’язки, документи, рядки документа, товари, постачальники, партії
Реалізація довідників 10 Створення, редагування, видалення, пошук і вибір товарів та постачальників
Журнал документів і підсумки 15 Список документів, фільтри, статуси, підсумки за період
Форма документа з AJAX-збереженням 20 Заголовок, таблична частина, підказки, збереження без перезавантаження
Проведення документа і партії 15 Зміна статусу, формування рухів, зарахування на складський облік, створення партій
Друкована форма 10 Товарна накладна з шапкою, рядками, сумами та ПДВ
Звіт руху товарів 10 Фільтри, підсумки, інформаційні дані по товарах, постачальниках і складах
Якість коду 10 Читабельність, безпека, логування, підтримуваність
; За обраним періодом потрібно показувати підсумки: загальну кількість товарів і загальну суму надходжень.; Статус

Звіт має показувати, які товари надходили на складський облік за вибраний період.; компонент має працювати як повноцінна частина ERP-системи: з довідниками, журналом документів, табличною частиною, проведенням, рухами, партіями, друком і звітами.; Напрям

Журнал має підтримувати фільтрацію за датами, постачальником, статусом і пошук за номером документа.; Збереження документа має виконуватися без повного перезавантаження сторінки.;== Довідник товарів ==

; Пошук повинен працювати без повного перезавантаження сторінки.; Призначення
|-
| Товар
| Обирається з довідника через AJAX-пошук
|-
| Одиниця виміру
| Підтягується автономно з картки товару
|-
| Кількість
| Вводиться користувачем
|-
| Ціна закупки
| Пропонується автономно, але має змогу бути змінена вручну
|-
| Сума
| Розраховується автономно за формулою <code>кількість × ціна закупки</code>
|-
| Номер партії
| Генерується автономно або задається системою за правилом
|-
| Дата виробництва
| Опціональне поле
|-
| Термін придатності
| Опціональне поле
|}

=== Розрахунки в табличній частині ===

Приклад формули ПДВ, якщо сума вказана без ПДВ:

Постачальник привозить товар на складський облік.; |-
| Підсумкова кількість
| Загальна кількість товарів у документі
|-
| Загальна сума
| Сума всіх рядків документа
|-
| ПДВ 20%
| Окремий розрахунок суми ПДВ
|}

!; Блок

!;{{DISPLAYTITLE:Атестаційні завдання K2 ERP/Надходження товарів}}
!; * роботу з базою даних через ORM або SQL;
* збереження чернеток;
* проведення документів;
* формування рухів по складу;
* формування або збереження партій;
* розрахунок підсумків;
* логування змін;
* контроль статусів документа.; Рівень
|-
| Номер документа
| Генерується автономно при збереженні
|-
| Дата документа
| За замовченням поточна дата
|-
| Постачальник
| Обирається з довідника через AJAX-пошук
|-
| складський облік
| складський облік, на який надходить товар
|-
| Статус
| Чернетка, проведений або анульований
|-
| Коментар
| Додаткова відомості до документа
|}

== Бізнес-сценарій ==

'''компонент обліку надходження товарів на складський облік з управлінням партіями'''.; Колонка
Frontend модуля має працювати без зайвих перезавантажень сторінки.; Backend має відповідати логіці ERP-документів.; Партійний обліковий облік потрібен для товарів, де істотно контролювати дату виробництва, термін придатності, серію, постачальника або конкретне надходження.;<pre>

!;<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">

Постачальник має обиратися в документі з довідника.; Значення

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

У друкованій формі потрібно показати:
{| class="wikitable" style="width:100%;"
Сума = Кількість × Ціна закупки
|-
| Довідник товарів
| Зберігає інформацію про номенклатуру, одиниці виміру, виробників і стандартні ціни закупки
|-
| Довідник постачальників
| Містить контрагентів, від яких надходять товари
|-
| Документ «Надходження товарів»
| Фіксує факт приходу товарів на складський облік
|-
| Таблична частина документа
| Містить перелік товарів, кількість, ціну, суму та партійні інформаційні дані
|-
| Партії товарів
| Дозволяють обліковувати надходження за партіями, датами виробництва та термінами придатності
|-
| Журнал документів
| Показує список документів надходження з фільтрами, статусами й підсумками
|-
| Друкована форма
| Формує товарну накладну
|-
| Звіт руху товарів
| Показує рух надходжень за період, складом, постачальником або товаром
|}

== Звіт «Рух товарів за період» ==

!; характеристика

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

Після збереження або зміни рядків потрібно розрахувати:
</div>
[[Категорія:Атестаційні завдання K2]]

[[Категорія:Партійний облік]]

!; Мінімальний складський облік полів:

У межах атестації спеціаліст має продемонструвати робочий сценарій.; Після збереження платформа розраховує суми, ПДВ і підсумки документа.; | Товарна накладна
|-
| Який звіт потрібен?; Після проведення він має створювати реальний складський рух і впливати на залишки товарів.; !; Довідник постачальників містить контрагентів, від яких організація отримує товари.; Об’єкт
Проведення документа переводить його у статус '''«Проведений»'''.; !; Разом

Потрібно реалізувати AJAX-збереження, щоб користувач системи міг працювати з документом у сучасному web-інтерфейсі.; !; Максимальна оцінка

{| class="wikitable" style="width:100%;"

* проведений документ не збільшує залишки;
* партії не формуються або формуються неправильно;
* суми в документі розраховуються некоректно;
* документ неможливо знайти в журналі;
* проведений документ можна неконтрольовано змінити;
* друкована форма не містить основних даних;
* звіт руху товарів не відповідає проведеним документам;
* відсутнє розділення чернетки та проведеного документа.; |-
| Номер документа
| Унікальний номер надходження
|-
| Дата
| Дата створення або проведення документа
|-
| Постачальник
| Контрагент, від якого надійшли товари
|-
| Кількість товарних позицій
| Кількість рядків у табличній частині
|-
| Загальна сума
| Сума документа
|-
| Статус
| Чернетка, проведений або анульований
|}

{| class="wikitable" style="width:100%;"

компонент має підтримувати довідники товарів і постачальників, журнал документів, форму документа з табличною частиною, AJAX-збереження, проведення документа, керування партіями, друк товарної накладної та звіт руху товарів за період.; Поле
Логування має фіксувати, хто створив документ, хто змінив документ і хто провів документ.;== Технічні вимоги ==
!; | Проведений документ має впливати на залишки товарів
|}

ПДВ = Сума × 20 / 100

* [[K2 Cloud ERP]]
* [[K2 ERP]]
* [[Атестаційні завдання K2 ERP]]
* [[Надходження товарів]]
* [[Складський облік]]
* [[WMS]]
* [[Управління партіями товарів]]
* [[Звіт руху товарів]]
* [[Товарна накладна]]
* [[Постачальник]]
* [[Номенклатура]]

!; {| class="wikitable" style="width:100%;"
!; характеристика
{| class="wikitable" style="width:100%;"

== Основні об’єкти модуля ==

Мінімальні інформаційні дані звіту:
Після проведення платформа повинна:
=== Фільтри журналу ===

Потрібно передбачити:

Потрібно реалізувати:

== Критичні помилки ==

</div>

=== Статуси документа ===

== Практичне задача ==

'''Умова складання.''' задача не має змогу бути зараховане, якщо документ надходження не формує складський рух і не впливає на залишки товарів.; '''Коротко.''' задача перевіряє.; !; | Зараховувати товар на складський облік і формувати партії
|-
| Яка друкована форма потрібна?; У результаті виконання атестаційного задача має бути створений компонент K2 ERP для обліку надходження товарів на складський облік.;== Мета задача ==
[[Категорія:Надходження товарів]]
|-
| Чернетка
| Документ збережено, але він ще не впливає на залишки
|-
| Проведений
| Документ сформував рух товарів і збільшив залишки на складі
|-
| Анульований
| Документ скасовано або виключено з обліку
|}

У журналі потрібно бачити основну інформацію по кожному документу: номер, дату, постачальника, кількість позицій, суму та статус.;== Назва задача ==

== Друк документа ==
!; | Рух товарів за період
|-
| Що є собою критичною вимогою?; | Товари та постачальники
|-
| Який центральний документ?; Для формування друкованих форм можна використовувати Stimulsoft або внутрішні механізми друку K2.; характеристика

== Збереження документа ==
== Розрахунки в документі ==
!;== Довідник постачальників ==
<pre>
== Партії товарів ==

!; Якщо документ має статус “проведений”, але не створює рухів по складу, задача виконана неправильно.; У Якщо сума вже передбачено ПДВ, формула має бути іншою і повинна бути описана в налаштуваннях модуля.; 100

* вести довідник товарів;
* вести довідник постачальників;
* створювати документи '''«Надходження товарів»''';
* заповнювати табличну частину документа;
* автономно розраховувати кількість, ціну, суму та ПДВ;
* формувати партії товарів;
* проводити документ;
* збільшувати залишки на складі;
* друкувати товарну накладну;
* формувати звіт руху товарів за період.; !; | Документ '''«Надходження товарів»'''
|-
| Що має робити проведення?;[[Категорія:Корпоративна Wiki]]

{| class="wikitable" style="width:100%;"

!; У результаті має бути створений компонент, який надає можливість:
{| class="wikitable" style="width:100%;"
__TOC__
|-
| Товар
| Назва товару
|-
| Кількість надходжень
| Скільки товару надійшло
|-
| Загальна сума закупок
| Сума надходжень по товару
|-
| Постачальник
| Контрагент, від якого надійшов товар
|-
| складський облік
| складський облік, на який товар був зарахований
|-
| Партія
| Партія товару, якщо застосовується партійний обліковий облік
|}

У документі потрібно реалізувати автоматичні розрахунки.; Воно підходить для атестації розробників, які працюватимуть із бізнес-логікою K2 ERP, складським обліком, документами, партіями, звітами та інтерактивним web-інтерфейсом.; Поле

Після збереження документ має змогу залишатися в статусі '''«Чернетка»''' і ще не впливати на складські залишки.; Бали
Мета задача — перевірити здатність спеціаліста реалізувати в K2 ERP повний цикл надходження товарів на складський облік.; Вимоги
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
</div>

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

Це задача імітує реальну задачу, яка щодня виникає в торгових, виробничих або дистриб’юторських компаніях.; характеристика

Довідник має підтримувати створення, редагування, видалення, пошук за назвою або кодом і вибір товару в документі через AJAX-підказки.; Критерій

=== Таблична частина ===

!; Форма документа складається із заголовка та табличної частини.;=== Підсумки документа ===
Мінімальний складський облік колонок:
|-
| <code>id</code>
| Унікальний ідентифікатор товару
|-
| Код
| Внутрішній код або артикул
|-
| Назва
| Назва товару
|-
| Одиниця виміру
| Штуки, кілограми, літри, метри або інша одиниця
|-
| Тип товару
| Категорія або класифікація товару
|-
| Виробник
| Виробник товару
|-
| Стандартна ціна закупки
| Ціна, яка пропонується за замовчуванням у документі
|}

Приклад логіки:

!; Надходження товарів''' — це практична задача; додатково реалізовано документів надходження, партій товарів, друкованих форм і звітності виступає ключовою рисою перевірки навичок розробника або впроваджувача [[K2 ERP]] у частині складського обліку забезпечується через '''Атестаційне задача K2 ERP.; Поле

== Форма документа «Надходження товарів» ==

!; Колонка

<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">

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

Мінімальний складський облік полів:

Партія = дата постачання + код товару

У заголовку документа потрібно передбачити:

== Див.; додатково ==
!;== Журнал документів «Надходження товарів» ==

'''Критично.''' Проведений документ має впливати на залишки.; |-
| 90–100
| Відмінно
| компонент функціонує в цілому, логіка документів і партій реалізована коректно, код придатний для підтримки
|-
| 75–89
| Добре
| Основна логіка реалізована, є собою незначні недоліки, які не ламають бізнес-процес
|-
| 60–74
| Зараховано
| Базовий сценарій функціонує, але є собою помилки або неповна реалізація окремих частин
|-
| 0–59
| Не зараховано
| компонент не гарантує повний бізнес-процес надходження або має критичні помилки
|}

!;== Вимоги до frontend ==

!; |-
| <code>id</code>
| Унікальний ідентифікатор постачальника
|-
| Код
| Внутрішній код постачальника
|-
| Назва
| Назва компанії або ФОП
|-
| Контактні інформаційні дані
| Телефон, email, адреса або інша контактна відомості
|}

Друкована форма має змогу бути реалізована у форматі HTML або PDF.; користувач системи відкриває в K2 ERP документ '''«Надходження товарів»''', обирає постачальника, додає товари в табличну частину, вказує кількість, ціну закупки та, за потреби, дату виробництва або термін придатності.; | компонент надходження товарів на складський облік
|-
| Які довідники потрібні?; |}

!; Після проведення товар зараховується на складський облік, по кожній позиції формується партія, а документ стає доступним у журналі, друкованій формі та звіті руху товарів.; Показник

{| class="wikitable" style="width:100%;"

'''центральний принцип.''' Документ надходження товарів не повинен бути без ускладнень формою для введення даних.;<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">

== Коротко ==

Мінімальний сценарій:
!; Що перевіряється
Критичними помилками вважаються ситуації, коли:
Backend PHP 8+ або Python для K2
База даних MySQL або PostgreSQL
технічна архітектура Власний або стандартний MVC-фреймворк K2
Frontend HTML5, JavaScript
AJAX jQuery, Fetch API або Axios
Таблиці DataTables, K2 Grid або інший табличний компонент
Друк HTML/PDF, Stimulsoft або внутрішній механізм K2

Очікуваний результат

  1. створити кілька товарів;
  2. створити постачальника;
  3. створити документ «Надходження товарів»;
  4. додати в документ кілька товарів;
  5. перевірити автоматичне підтягування одиниці виміру та ціни;
  6. змінити кількість і ціну;
  7. перевірити розрахунок суми;
  8. зберегти документ як чернетку;
  9. провести документ;
  10. перевірити, що товар зараховано на складський облік;
  11. перевірити створення партій;
  12. відкрити документ у журналі;
  13. надрукувати товарну накладну;
  14. сформувати звіт руху товарів за період.; Журнал документів показує список усіх документів надходження товарів.; Бали
class="wikitable" style="width:100%;"