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

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

Матеріал з K2 ERP Wiki
Версія від 18:09, 1 травня 2026, створена R (обговорення | внесок)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)

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

Після збереження платформа розраховує суми, ПДВ і підсумки документа. ! | Проведений документ має впливати на залишки товарів |}

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

У журналі потрібно бачити основну інформацію по кожному документу: номер, дату, постачальника, кількість позицій, суму та статус. користувач системи повинен мати змогу додавати кілька товарів в один документ. !=== Фільтри журналу === |- | Підсумкова кількість | Загальна кількість товарів у документі |- | Загальна сума | Сума всіх рядків документа |- | ПДВ 20% | Окремий розрахунок суми ПДВ |}

Мінімальний сценарій:

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

Таблична частина документа має бути багаторядковою. 100 ПДВ = Сума × 20 / 100

Довідник товарів Зберігає інформацію про номенклатуру, одиниці виміру, виробників і стандартні ціни закупки
Довідник постачальників Містить контрагентів, від яких надходять товари
Документ «Надходження товарів» Фіксує факт приходу товарів на складський облік
Таблична частина документа Містить перелік товарів, кількість, ціну, суму та партійні інформаційні дані
Партії товарів Дозволяють обліковувати надходження за партіями, датами виробництва та термінами придатності
Журнал документів Показує список документів надходження з фільтрами, статусами й підсумками
Друкована форма Формує товарну накладну
Звіт руху товарів Показує рух надходжень за період, складом, постачальником або товаром

Довідник постачальників містить контрагентів, від яких компанія-користувач отримує товари. Поле

Див. так само

|- | Номер документа | Генерується автоматизовано при збереженні |- | Дата документа | За замовченням поточна дата |- | Постачальник | Обирається з довідника через AJAX-пошук |- | складський облік | складський облік, на який надходить товар |- | Статус | Чернетка, проведений або анульований |- | Коментар | Додаткова інформаційні матеріали до документа |}

Звіт має показувати, які товари надходили на складський облік за вибраний період. Питання ! SEO-опис |- | Чернетка | Документ збережено, але він ще не впливає на залишки |- | Проведений | Документ сформував рух товарів і збільшив залишки на складі |- | Анульований | Документ скасовано або виключено з обліку |}

Логування має фіксувати, хто створив документ, хто змінив документ і хто провів документ. ! інформаційні дані

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

Вимоги до frontend

! | компонент надходження товарів на складський облік |- | Які довідники потрібні? Відповідь ! SEO-опис

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

Форма документа складається із заголовка та табличної частини. Постачальник привозить товар на складський облік. Блок

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

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

Збереження документа має виконуватися без повного перезавантаження сторінки. Об’єкт Звіт має підтримувати фільтрацію по складу, постачальнику та товару. У документі потрібно реалізувати автоматичні розрахунки. Воно підходить для атестації розробників, які працюватимуть із бізнес-логікою K2 ERP, складським обліком, документами, партіями, звітами та інтерактивним web-інтерфейсом. ! компонент має працювати як повноцінна частина ERP-системи: з довідниками, журналом документів, табличною частиною, проведенням, рухами, партіями, друком і звітами. Після проведення він має створювати реальний складський рух і впливати на залишки товарів. {| class="wikitable" style="width:100%;" ! {| class="wikitable" style="width:100%;" ! Після проведення товар зараховується на складський облік, по кожній позиції формується партія, а документ стає доступним у журналі, друкованій формі та звіті руху товарів. ! ! Критерій

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

! Мінімальні інформаційні дані звіту:

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

Коротко

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

Проведення документа

У звіті потрібно формувати підсумки по кількості та сумі. У результаті має бути створений компонент, який дає можливість: # створити кілька товарів;
  1. створити постачальника;
  2. створити документ «Надходження товарів»;
  3. додати в документ кілька товарів;
  4. перевірити автоматичне підтягування одиниці виміру та ціни;
  5. змінити кількість і ціну;
  6. перевірити розрахунок суми;
  7. зберегти документ як чернетку;
  8. провести документ;
  9. перевірити, що товар зараховано на складський облік;
  10. перевірити створення партій;
  11. відкрити документ у журналі;
  12. надрукувати товарну накладну;
  13. сформувати звіт руху товарів за період.

Мета задача

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

  • роботу з базою даних через ORM або SQL;
  • збереження чернеток;
  • проведення документів;
  • формування рухів по складу;
  • формування або збереження партій;
  • розрахунок підсумків;
  • логування змін;
  • контроль статусів документа. Призначення

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

користувач системи відкриває в K2 ERP документ «Надходження товарів», обирає постачальника, додає товари в табличну частину, вказує кількість, ціну закупки та, за потреби, дату виробництва або термін придатності. SEO-опис
  • проведений документ не збільшує залишки;
  • партії не формуються або формуються неправильно;
  • суми в документі розраховуються некоректно;
  • документ неможливо знайти в журналі;
  • проведений документ можна неконтрольовано змінити;
  • друкована форма не містить основних даних;
  • звіт руху товарів не відповідає проведеним документам;
  • відсутнє розділення чернетки та проведеного документа. Для кожного рядка документа потрібно передбачити партійний обліковий облік. Мета задача — перевірити здатність спеціаліста реалізувати в K2 ERP повний цикл надходження товарів на складський облік. Поле

Партії товарів

Товарна накладна
Який звіт потрібен? Рівень

Критичними помилками вважаються ситуації, коли:

компонент обліку надходження товарів на складський облік з управлінням партіями. {| class="wikitable" style="width:100%;"

У Якщо сума вже передбачено ПДВ, формула має бути іншою і повинна бути описана в налаштуваннях модуля.=== Підсумки документа === Backend має відповідати логіці ERP-документів.== Основні об’єкти модуля ==

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

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

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

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

SEO-опис class="wikitable" style="width:100%;"
Товар Обирається з довідника через AJAX-пошук
Одиниця виміру Підтягується автоматизовано з картки товару
Кількість Вводиться користувачем
Ціна закупки Пропонується автоматизовано, але здатна бути змінена вручну
Сума Розраховується автоматизовано за формулою кількість × ціна закупки
Номер партії Генерується автоматизовано або задається системою за правилом
Дата виробництва Опціональне поле
Термін придатності Опціональне поле

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

провідний принцип. Документ надходження товарів не повинен бути без зусиль формою для введення даних. SEO-опис

Примітка

Збереження документа

  • вести довідник товарів;
  • вести довідник постачальників;
  • створювати документи «Надходження товарів»;
  • заповнювати табличну частину документа;
  • автоматизовано розраховувати кількість, ціну, суму та ПДВ;
  • формувати партії товарів;
  • проводити документ;
  • збільшувати залишки на складі;
  • друкувати товарну накладну;
  • формувати звіт руху товарів за період. SEO-опис

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

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

Розрахунки в документі

Що потрібно розробити? Значення

Журнал документів показує список усіх документів надходження товарів.

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

Правильність структури бази даних 10 Таблиці, зв’язки, документи, рядки документа, товари, постачальники, партії
Реалізація довідників 10 Створення, редагування, видалення, пошук і вибір товарів та постачальників
Журнал документів і підсумки 15 Список документів, фільтри, статуси, підсумки за період
Форма документа з AJAX-збереженням 20 Заголовок, таблична частина, підказки, збереження без перезавантаження
Проведення документа і партії 15 Зміна статусу, формування рухів, зарахування на складський облік, створення партій
Друкована форма 10 Товарна накладна з шапкою, рядками, сумами та ПДВ
Звіт руху товарів 10 Фільтри, підсумки, інформаційні дані по товарах, постачальниках і складах
Якість коду 10 Читабельність, безпека, логування, підтримуваність
Що перевіряється class="wikitable" style="width:100%;"

Потрібно створити друковану форму «Товарна накладна». Статус

За обраним періодом потрібно показувати підсумки: загальну кількість товарів і загальну суму надходжень. Разом

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

Партійний обліковий облік потрібен для товарів, де критично контролювати дату виробництва, термін придатності, серію, постачальника або конкретне надходження. {| class="wikitable" style="width:100%;"

Після збереження документ здатна залишатися в статусі «Чернетка» і ще не впливати на складські залишки. У друкованій формі потрібно показати:

Вимоги до backend

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

Поле

Після проведення платформа повинна:

критично. Якщо товар обліковується партіями, залишки мають зберігатися не лише по товару загалом, а й по конкретній партії. ! Напрям

Проведення документа переводить його у статус «Проведений». |-

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

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

Друк документа

компонент має підтримувати довідники товарів і постачальників, журнал документів, форму документа з табличною частиною, AJAX-збереження, проведення документа, керування партіями, друк товарної накладної та звіт руху товарів за період. SEO-опис Друкована форма здатна бути реалізована у форматі HTML або PDF. Сума = Кількість × Ціна закупки

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

Frontend модуля має працювати без зайвих перезавантажень сторінки. Надходження товарів — це практична задача; так само реалізовано документів надходження, партій товарів, друкованих форм і звітності виступає ключовою рисою перевірки навичок розробника або впроваджувача K2 ERP у частині складського обліку забезпечується через Атестаційне задача K2 ERP. Пошук повинен працювати без повного перезавантаження сторінки. ! !== Звіт «Рух товарів за період» ==

Товар Назва товару Кількість надходжень Скільки товару надійшло Загальна сума закупок Сума надходжень по товару Постачальник Контрагент, від якого надійшов товар складський облік складський облік, на який товар був зарахований Партія Партія товару, якщо застосовується для партійний обліковий облік


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

* AJAX-збереження документа;
* пошук товарів і постачальників через підказки;
* автоматичне підтягування одиниці виміру та ціни;
* автоматичний розрахунок сум;
* таблиці з сортуванням і фільтрацією;
* підсумки по кількості та сумі;
* зрозумілу роботу зі статусами документа. | Зараховувати товар на складський облік і формувати партії
|-
| Яка друкована форма потрібна? | Рух товарів за період
|-
| Що виступає як критичною вимогою? Максимальна оцінка
! Якщо документ має статус “проведений”, але не створює рухів по складу, задача виконана неправильно. Бали
<pre>

У межах задача потрібно розробити або налаштувати компонент обліку надходження товарів на складський облік. | Документ '''«Надходження товарів»'''
|-
| Що має робити проведення? Журнал має підтримувати фільтрацію за датами, постачальником, статусом і пошук за номером документа. Можна використовувати DataTables, власну реалізацію або стандартні компоненти K2. Показник

=== Таблична частина ===
Довідник має підтримувати створення, редагування, видалення, пошук за назвою або кодом і вибір товару в документі через AJAX-підказки. Колонка
{| class="wikitable" style="width:100%;"

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

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

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

</div>

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

Шкала оцінювання

Довідник постачальників


Довідник товарів

Це задача імітує реальну задачу, яка щодня виникає в торгових, виробничих або дистриб’юторських компаніях. Бали Коротко. задача перевіряє. Для формування друкованих форм можна використовувати Stimulsoft або внутрішні механізми друку K2.