Атестаційні завдання K2 ERP/Надходження товарів: відмінності між версіями
R (обговорення | внесок) Перенос з Гугл документа |
R (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
У | У межах задача потрібно розробити або налаштувати компонент обліку надходження товарів на складський облік.; характеристика | ||
!; Питання | |||
== Критерії оцінювання == | |||
|- | |||
| Шапка документа | |||
| Постачальник, дата, номер документа, складський облік | |||
|- | |||
| Таблична частина | |||
| Товари, одиниці виміру, кількість, ціна, сума | |||
|- | |||
| Підсумки | |||
| Загальна кількість, загальна сума, сума ПДВ | |||
|} | |||
=== | === Заголовок документа === | ||
== Вимоги до backend == | |||
Для кожного рядка: | |||
! | Довідник товарів має містити номенклатуру, яка застосовують, коли потрібно в документах надходження.; характеристика | ||
!; * зарахувати товар на складський облік; | |||
* сформувати складські рухи; | |||
* зафіксувати партії товарів; | |||
* оновити залишки; | |||
* зберегти інформацію про користувача, який провів документ; | |||
* заборонити неконтрольоване редагування проведеного документа.; характеристика | |||
!; {| class="wikitable" style="width:100%;" | |||
{| class="wikitable" style="width:100%;" | |||
{| class="wikitable" style="width:100%;" | |||
== | |||
{| class="wikitable" style="width:100%;" | |||
== | Можна використовувати DataTables, власну реалізацію або стандартні компоненти K2.; Поле | ||
{| class="wikitable" style="width:100%;" | |||
Потрібно створити друковану форму '''«Товарна накладна»'''.; Відповідь | |||
Потрібно реалізувати звіт '''«Рух товарів за період»'''.; Звіт має підтримувати фільтрацію по складу, постачальнику та товару.; користувач системи повинен мати змогу додавати кілька товарів в один документ.; '''істотно.''' Якщо товар обліковується партіями, залишки мають зберігатися не лише по товару загалом, а й по конкретній партії.;== Проведення документа == | |||
|- | |||
| Правильність структури бази даних | |||
| 10 | |||
| Таблиці, зв’язки, документи, рядки документа, товари, постачальники, партії | |||
|- | |||
| Реалізація довідників | |||
| 10 | |||
| Створення, редагування, видалення, пошук і вибір товарів та постачальників | |||
|- | |||
| Журнал документів і підсумки | |||
| 15 | |||
| Список документів, фільтри, статуси, підсумки за період | |||
|- | |||
| Форма документа з AJAX-збереженням | |||
| 20 | |||
| Заголовок, таблична частина, підказки, збереження без перезавантаження | |||
|- | |||
| Проведення документа і партії | |||
| 15 | |||
| Зміна статусу, формування рухів, зарахування на складський облік, створення партій | |||
|- | |||
| Друкована форма | |||
| 10 | |||
| Товарна накладна з шапкою, рядками, сумами та ПДВ | |||
|- | |||
| Звіт руху товарів | |||
| 10 | |||
| Фільтри, підсумки, інформаційні дані по товарах, постачальниках і складах | |||
|- | |||
| Якість коду | |||
| 10 | |||
| Читабельність, безпека, логування, підтримуваність | |||
|- | |||
</div> | |||
!; За обраним періодом потрібно показувати підсумки: загальну кількість товарів і загальну суму надходжень.; Статус | |||
Звіт має показувати, які товари надходили на складський облік за вибраний період.; компонент має працювати як повноцінна частина ERP-системи: з довідниками, журналом документів, табличною частиною, проведенням, рухами, партіями, друком і звітами.; Напрям | |||
[[Категорія:K2 ERP]] | |||
Журнал має підтримувати фільтрацію за датами, постачальником, статусом і пошук за номером документа.; Збереження документа має виконуватися без повного перезавантаження сторінки.;== Довідник товарів == | |||
=== | |||
[[Категорія:WMS]] | |||
!; Пошук повинен працювати без повного перезавантаження сторінки.; Призначення | |||
<pre> | |||
|- | |||
| Товар | |||
| Обирається з довідника через 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 Cloud ERP]] | ||
* [[K2 ERP]] | |||
* [[Атестаційні завдання K2 ERP]] | * [[Атестаційні завдання K2 ERP]] | ||
* [[Надходження товарів]] | * [[Надходження товарів]] | ||
| Рядок 195: | Рядок 267: | ||
* [[Управління партіями товарів]] | * [[Управління партіями товарів]] | ||
* [[Звіт руху товарів]] | * [[Звіт руху товарів]] | ||
* [[Товарна накладна]] | |||
* [[Постачальник]] | |||
* [[Номенклатура]] | |||
!; {| 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;"> | |||
== Коротко == | |||
Мінімальний сценарій: | |||
!; Що перевіряється | |||
Критичними помилками вважаються ситуації, коли: | |||
</pre> | |||
|- | |||
| Backend | |||
| PHP 8+ або Python для K2 | |||
|- | |||
| База даних | |||
| MySQL або PostgreSQL | |||
|- | |||
| технічна архітектура | |||
| Власний або стандартний MVC-фреймворк K2 | |||
|- | |||
| Frontend | |||
| HTML5, JavaScript | |||
|- | |||
| AJAX | |||
| jQuery, Fetch API або Axios | |||
|- | |||
| Таблиці | |||
| DataTables, K2 Grid або інший табличний компонент | |||
|- | |||
| Друк | |||
| HTML/PDF, Stimulsoft або внутрішній механізм K2 | |||
|} | |||
[[Категорія:Складський облік]] | |||
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;"> | |||
== Очікуваний результат == | |||
# створити кілька товарів; | |||
# створити постачальника; | |||
# створити документ '''«Надходження товарів»'''; | |||
# додати в документ кілька товарів; | |||
# перевірити автоматичне підтягування одиниці виміру та ціни; | |||
# змінити кількість і ціну; | |||
# перевірити розрахунок суми; | |||
# зберегти документ як чернетку; | |||
# провести документ; | |||
# перевірити, що товар зараховано на складський облік; | |||
# перевірити створення партій; | |||
# відкрити документ у журналі; | |||
# надрукувати товарну накладну; | |||
# сформувати звіт руху товарів за період.; Журнал документів показує список усіх документів надходження товарів.; Бали | |||
</pre> | |||
|- | |||
| Що потрібно розробити?; Номер партії має змогу формуватися автономно на основі дати постачання та коду товару.; {| class="wikitable" style="width:100%;" | |||
</div> | |||
</pre> | |||
Поточна версія на 18:09, 1 травня 2026
У межах задача потрібно розробити або налаштувати компонент обліку надходження товарів на складський облік.; характеристика !; Питання
Критерії оцінювання
|- | Шапка документа | Постачальник, дата, номер документа, складський облік |- | Таблична частина | Товари, одиниці виміру, кількість, ціна, сума |- | Підсумки | Загальна кількість, загальна сума, сума ПДВ |}
Заголовок документа
Вимоги до backend
Для кожного рядка:
Довідник товарів має містити номенклатуру, яка застосовують, коли потрібно в документах надходження.; характеристика !; * зарахувати товар на складський облік;
- сформувати складські рухи;
- зафіксувати партії товарів;
- оновити залишки;
- зберегти інформацію про користувача, який провів документ;
- заборонити неконтрольоване редагування проведеного документа.; характеристика
!; {| class="wikitable" style="width:100%;"
| Правильність структури бази даних | 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 |
Очікуваний результат
- створити кілька товарів;
- створити постачальника;
- створити документ «Надходження товарів»;
- додати в документ кілька товарів;
- перевірити автоматичне підтягування одиниці виміру та ціни;
- змінити кількість і ціну;
- перевірити розрахунок суми;
- зберегти документ як чернетку;
- провести документ;
- перевірити, що товар зараховано на складський облік;
- перевірити створення партій;
- відкрити документ у журналі;
- надрукувати товарну накладну;
- сформувати звіт руху товарів за період.; Журнал документів показує список усіх документів надходження товарів.; Бали