Атестаційні завдання K2 ERP/Зернотрейдер: відмінності між версіями
R (обговорення | внесок) |
R (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
= Модуль для обліку операцій зернотрейдера: закупка, зберігання, продаж зерна = | {{DISPLAYTITLE:Атестаційні завдання K2 ERP/Зернотрейдер}} | ||
'''Атестаційне завдання K2 ERP — Зернотрейдер''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні модуля обліку зернових операцій: закупівлі, приймання, зважування, контролю якості, доробки, зберігання, переміщення, продажу та формування документів. | |||
Модуль має забезпечувати повний цикл роботи зернотрейдера або елеватора: від приймання зерна від фермера до реалізації партії покупцю з урахуванням вологості, сміттєвих домішок, базисних умов, сушіння, очищення, складських залишків і фінансових документів. | |||
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
'''Коротко.''' Потрібно реалізувати модуль, який дозволяє приймати зерно, зважувати брутто/тару/нетто, фіксувати якість, перераховувати вагу до базисних умов, рахувати втрати при сушінні та очищенні, вести партії на складі, продавати зерно й формувати акти, накладні та звіти. | |||
</div> | |||
__TOC__ | |||
== Назва завдання == | |||
'''Модуль для обліку операцій зернотрейдера: закупка, зберігання, доробка та продаж зерна'''. | |||
== Мета завдання == | |||
Мета завдання — створити в K2 ERP модуль для автоматизації обліку зернових операцій. | |||
Система повинна дозволяти: | |||
* вести довідник культур; | |||
* вести постачальників зерна; | |||
* вести покупців зерна; | |||
* оформлювати надходження зерна; | |||
* фіксувати первинне зважування; | |||
* фіксувати тару, брутто та нетто; | |||
* зберігати показники якості; | |||
* перераховувати зерно до базисних умов; | |||
* рахувати втрати при сушінні та очищенні; | |||
* вести партійний облік зерна; | |||
* обліковувати залишки по культурах, партіях і складах; | |||
* формувати сертифікати якості; | |||
* оформлювати реалізацію зерна; | |||
* списувати зерно зі складу за FIFO або вручну; | |||
* формувати акти приймання-передачі, рахунки-фактури та товарні накладні; | |||
* обліковувати послуги елеватора; | |||
* формувати звіти по руху, залишках, якості та фінансових результатах. | |||
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;"> | |||
'''Головний принцип.''' У зернотрейдингу важлива не лише фізична вага зерна, а й якість. Вологість, сміттєвість, доробка та базисні умови безпосередньо впливають на кількість, взаєморозрахунки, залишки й фінансовий результат. | |||
</div> | |||
== Реальний бізнес-контекст == | == Реальний бізнес-контекст == | ||
Компанія здійснює операції із закупівлі зернових культур у | Компанія здійснює операції із закупівлі зернових культур у фермерських господарств, зберігає зерно на власному або сторонньому елеваторі, виконує сушіння й очищення, а потім продає зерно трейдерам, переробникам або експортерам. | ||
У процесі роботи потрібно контролювати: | |||
* хто поставив зерно; | |||
* яка культура надійшла; | |||
* яка вага була при в’їзді; | |||
* яка тара; | |||
* яка вага нетто; | |||
* які показники вологості та сміттєвості; | |||
* скільки зерна зараховується на склад; | |||
* які втрати виникли при сушінні й очищенні; | |||
* по яких партіях зберігається зерно; | |||
* кому, коли і скільки зерна було продано; | |||
* яка собівартість і фінансовий результат операції. | |||
Без автоматизованого модуля такі розрахунки часто ведуться в Excel, що створює ризик помилок у вазі, якості, взаєморозрахунках і складських залишках. | |||
== Основний бізнес-процес == | |||
Типовий процес роботи зернотрейдера виглядає так: | |||
# постачальник привозить зерно; | |||
# на ваговій фіксується брутто; | |||
# визначається тара; | |||
# система розраховує нетто; | |||
# лабораторія або відповідальний працівник вводить показники якості; | |||
# система перераховує зерно до базисних умов; | |||
# за потреби розраховуються втрати при сушінні та очищенні; | |||
# формується партія зерна; | |||
# зерно зараховується на склад; | |||
# створюється акт приймання-передачі; | |||
# за потреби формуються рахунки або інші фінансові документи; | |||
# при продажу зерно вибирається зі складу по партіях; | |||
# система контролює залишок; | |||
# виконується списання зерна; | |||
# формується товарна накладна; | |||
# дані потрапляють у звіти. | |||
== Основні об’єкти модуля == | |||
{| class="wikitable" style="width:100%;" | |||
! Об’єкт | |||
! Призначення | |||
|- | |||
| Культури | |||
| Пшениця, кукурудза, ячмінь, соняшник та інші культури | |||
|- | |||
| Постачальники | |||
| Фермерські господарства або компанії, які постачають зерно | |||
|- | |||
| Покупці | |||
| Трейдери, переробники, експортери або інші компанії, які купують зерно | |||
|- | |||
| Елеватори / склади | |||
| Місця зберігання зерна | |||
|- | |||
| Партії зерна | |||
| Окремі надходження зерна з конкретними характеристиками | |||
|- | |||
| Показники якості | |||
| Вологість, сміттєвість, сорт, клас, інші лабораторні показники | |||
|- | |||
| Надходження зерна | |||
| Документ приймання зерна від постачальника | |||
|- | |||
| Доробка зерна | |||
| Сушіння, очищення та інші операції | |||
|- | |||
| Реалізація зерна | |||
| Продаж зерна покупцю | |||
|- | |||
| Сертифікати якості | |||
| Документи, що підтверджують якість партії | |||
|- | |||
| Елеваторні послуги | |||
| Зберігання, сушка, очистка, навантаження, розвантаження | |||
|- | |||
| Звіти | |||
| Залишки, рух зерна, якість, втрати, продажі та взаєморозрахунки | |||
|} | |||
== Довідник «Культури» == | |||
Довідник культур містить перелік зернових і олійних культур, з якими працює компанія. | |||
== Поля культури == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва культури | |||
| Наприклад: пшениця, кукурудза, ячмінь, соняшник | |||
|- | |||
| Сорт або клас | |||
| Сорт, клас або інша класифікація культури | |||
|- | |||
| Базисна вологість, % | |||
| Нормативна вологість для перерахунку | |||
|- | |||
| Базисна сміттєвість, % | |||
| Нормативний показник сміттєвих домішок | |||
|- | |||
| Одиниця виміру | |||
| Зазвичай тонна або кілограм | |||
|- | |||
| Активність | |||
| Чи використовується культура в поточному обліку | |||
|} | |||
== Приклади культур == | |||
{| class="wikitable" style="width:100%;" | |||
! Культура | |||
! Приклад базисної вологості | |||
! Приклад базисної сміттєвості | |||
|- | |||
| Пшениця | |||
| 14% | |||
| 2% | |||
|- | |||
| Кукурудза | |||
| 14% | |||
| 2% | |||
|- | |||
| Ячмінь | |||
| 14% | |||
| 2% | |||
|} | |||
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;"> | |||
'''Важливо.''' Базисні показники мають зберігатися в довіднику культур, щоб система могла автоматично виконувати перерахунок ваги й не вимагати ручного введення нормативів у кожному документі. | |||
</div> | |||
== Довідник «Постачальники» == | |||
Довідник постачальників містить фермерські господарства, агрокомпанії або інших контрагентів, які постачають зерно. | |||
== Поля постачальника == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва господарства | |||
| Назва фермерського господарства або компанії | |||
|- | |||
| Код ЄДРПОУ / ІПН | |||
| Реєстраційний або податковий код | |||
|- | |||
| Контактна особа | |||
| Представник постачальника | |||
|- | |||
| Телефон | |||
| Контактний номер | |||
|- | |||
| Email | |||
| Електронна адреса | |||
|- | |||
| Банківські реквізити | |||
| Реквізити для взаєморозрахунків | |||
|- | |||
| Статус | |||
| Активний або неактивний | |||
|} | |||
== Довідник «Покупці» == | |||
Довідник покупців містить компанії, які купують зерно. | |||
Покупцями можуть бути: | |||
* трейдери; | |||
* переробники; | |||
* експортери; | |||
* комбікормові заводи; | |||
* інші аграрні компанії. | |||
Довідник покупців може мати ті самі реквізити, що й довідник постачальників, або використовувати єдиний довідник [[Контрагенти]] з ознакою типу контрагента. | |||
== Довідник «Елеватори / склади» == | |||
Для обліку місць зберігання потрібно передбачити довідник елеваторів або складів. | |||
== Поля складу / елеватора == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва | |||
| Назва елеватора або складу | |||
|- | |||
| Адреса | |||
| Місце розташування | |||
|- | |||
| Власник | |||
| Власний або сторонній елеватор | |||
|- | |||
| Тип зберігання | |||
| Силос, склад, майданчик або інший тип | |||
|- | |||
| Місткість | |||
| Максимальна місткість зберігання | |||
|- | |||
| Статус | |||
| Активний або неактивний | |||
|} | |||
== Журнал «Надходження зерна» == | |||
Журнал надходження зерна показує всі приймальні акти та партії, які надійшли від постачальників. | |||
== Колонки журналу надходження == | |||
{| class="wikitable" style="width:100%;" | |||
! Колонка | |||
! Опис | |||
|- | |||
| Номер приймального акту | |||
| Унікальний номер документа | |||
|- | |||
| Дата прийому | |||
| Дата надходження зерна | |||
|- | |||
| Постачальник | |||
| Хто привіз зерно | |||
|- | |||
| Культура | |||
| Яка культура надійшла | |||
|- | |||
| Склад / елеватор | |||
| Куди зараховується зерно | |||
|- | |||
| Брутто | |||
| Вага до віднімання тари | |||
|- | |||
| Тара | |||
| Вага тари або транспорту | |||
|- | |||
| Нетто | |||
| Брутто мінус тара | |||
|- | |||
| Вологість, % | |||
| Фактична вологість зерна | |||
|- | |||
| Сміттєвість, % | |||
| Фактична сміттєва домішка | |||
|- | |||
| Базисна вага | |||
| Вага після перерахунку до базисних умов | |||
|- | |||
| Зараховано на склад | |||
| Кількість, яка фактично потрапляє в залишки | |||
|- | |||
| Статус | |||
| Чернетка, прийнято, проведено, скасовано | |||
|} | |||
== Форма надходження зерна == | |||
Форма надходження зерна повинна містити заголовок документа, блок зважування, блок якості та розрахункову частину. | |||
== Заголовок документа == | |||
У заголовку потрібно передбачити: | |||
=== | {| class="wikitable" style="width:100%;" | ||
! Поле | |||
! Опис | |||
|- | |||
| Номер акту | |||
| Генерується автоматично або вводиться вручну | |||
|- | |||
| Дата прийому | |||
| Дата й час приймання зерна | |||
|- | |||
| Постачальник | |||
| Вибір із довідника | |||
|- | |||
| Культура | |||
| Вибір із довідника культур | |||
|- | |||
| Склад / елеватор | |||
| Куди зараховується зерно | |||
|- | |||
| Транспорт | |||
| Номер авто або інша інформація | |||
|- | |||
| Коментар | |||
| Додаткова інформація | |||
|} | |||
== Блок зважування == | |||
У блоці зважування потрібно фіксувати: | |||
* брутто; | |||
* тару; | |||
* нетто; | |||
* дату й час зважування; | |||
* оператора вагової; | |||
* джерело ваги: ручне введення або API вагового обладнання. | |||
== Формула нетто == | |||
<pre> | |||
Нетто = Брутто - Тара | |||
</pre> | |||
== | == Блок якості == | ||
У блоці якості потрібно фіксувати лабораторні показники. | |||
Мінімальні показники: | |||
* вологість; | |||
* сміттєвість; | |||
* сорт або клас; | |||
* за потреби — білок, клейковина, натура, олійність або інші показники. | |||
== Перерахунок до базисних умов == | |||
Система має автоматично перераховувати фактичну вагу зерна до базисних умов. | |||
== | == Формула перерахунку по вологості == | ||
<pre> | |||
Нетто базисне = Нетто × (100 - Фактична вологість) / (100 - Базисна вологість) | |||
</pre> | |||
Наприклад, якщо фактична вологість більша за базисну, базисна вага буде меншою за фізичну вагу. | |||
== | == Втрати при сушінні == | ||
Сушіння зменшує вагу зерна через зниження вологості. | |||
У модулі потрібно розраховувати втрати при сушінні залежно від початкової та нормативної вологості. | |||
Спрощена логіка: | |||
<pre> | |||
Втрати при сушінні = Нетто - Нетто після доведення до базисної вологості | |||
</pre> | |||
== | == Втрати при очищенні == | ||
Очищення зменшує вагу зерна через видалення домішок. | |||
Спрощена логіка: | |||
<pre> | |||
Втрати при очищенні = Нетто × (Фактична сміттєвість - Базисна сміттєвість) / 100 | |||
</pre> | |||
Якщо фактична сміттєвість менша або дорівнює базисній, втрати при очищенні можуть дорівнювати нулю. | |||
= | <div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | ||
'''Критично.''' Розрахунок зарахованої ваги має враховувати не лише фізичне нетто, а й якісні показники зерна. Без цього складські залишки та взаєморозрахунки з постачальниками будуть некоректними. | |||
</div> | |||
== | == Партійний облік зерна == | ||
Кожне надходження зерна має формувати партію. | |||
Партія зерна повинна зберігати: | |||
* | * культуру; | ||
** | * постачальника; | ||
** | * дату надходження; | ||
* | * склад або елеватор; | ||
* фізичну вагу; | |||
* базисну вагу; | |||
* показники якості; | |||
* втрати при сушінні; | |||
* втрати при очищенні; | |||
* залишок партії; | |||
* сертифікат якості; | |||
* документ-підставу. | |||
== | == Сертифікати якості == | ||
Для кожної партії потрібно передбачити можливість зберігати сертифікат якості. | |||
Сертифікат може містити: | |||
* номер; | |||
* дату; | |||
* культуру; | |||
* партію; | |||
* постачальника; | |||
* показники лабораторного аналізу; | |||
* файл сертифіката; | |||
* відповідального працівника. | |||
== Доробка зерна == | |||
Доробка зерна включає операції сушіння, очищення або інші технологічні операції, які змінюють кількість і якість зерна. | |||
* введення | == Документ «Доробка зерна» == | ||
* миттєвий перерахунок | |||
* | Документ доробки має містити: | ||
* | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Дата | |||
| Дата виконання доробки | |||
|- | |||
| Партія | |||
| Партія зерна, яка доробляється | |||
|- | |||
| Операція | |||
| Сушіння, очищення або інша операція | |||
|- | |||
| Вага до доробки | |||
| Вага до операції | |||
|- | |||
| Вологість до | |||
| Показник до сушіння | |||
|- | |||
| Вологість після | |||
| Показник після сушіння | |||
|- | |||
| Сміттєвість до | |||
| Показник до очищення | |||
|- | |||
| Сміттєвість після | |||
| Показник після очищення | |||
|- | |||
| Втрати | |||
| Розраховані втрати | |||
|- | |||
| Вага після доробки | |||
| Кількість, що залишається після операції | |||
|} | |||
== Елеваторні послуги == | |||
Модуль має дозволяти обліковувати вартість послуг елеватора. | |||
До таких послуг можуть належати: | |||
* зберігання; | |||
* сушіння; | |||
* очищення; | |||
* навантаження; | |||
* розвантаження; | |||
* лабораторний аналіз; | |||
* зважування; | |||
* інші послуги. | |||
== Розрахунок послуг елеватора == | |||
{| class="wikitable" style="width:100%;" | |||
! Послуга | |||
! Можлива база розрахунку | |||
|- | |||
| Зберігання | |||
| Тонно-дні або фіксований тариф за тонну | |||
|- | |||
| Сушіння | |||
| Тонни × різниця вологості × тариф | |||
|- | |||
| Очищення | |||
| Тонни × тариф або втрати домішок | |||
|- | |||
| Навантаження / розвантаження | |||
| Тонни × тариф | |||
|} | |||
== Журнал «Реалізація зерна» == | |||
Журнал реалізації зерна показує всі відвантаження покупцям. | |||
== Колонки журналу реалізації == | |||
{| class="wikitable" style="width:100%;" | |||
! Колонка | |||
! Опис | |||
|- | |||
| Номер товарної накладної | |||
| Унікальний номер документа реалізації | |||
|- | |||
| Дата відвантаження | |||
| Дата продажу або відвантаження | |||
|- | |||
| Покупець | |||
| Контрагент, який купує зерно | |||
|- | |||
| Культура | |||
| Культура, що продається | |||
|- | |||
| Склад / елеватор | |||
| Звідки списується зерно | |||
|- | |||
| Партія | |||
| Партія, з якої відвантажується зерно | |||
|- | |||
| Вага до відвантаження | |||
| Кількість зерна | |||
|- | |||
| Ціна за тонну | |||
| Вартість однієї тонни | |||
|- | |||
| Загальна сума | |||
| Підсумкова сума реалізації | |||
|- | |||
| Статус | |||
| Чернетка, проведено, скасовано | |||
|} | |||
== Вибір зерна зі складу == | |||
При реалізації зерна система повинна дозволяти вибрати зерно зі складу. | |||
Можливі режими списання: | |||
* FIFO; | |||
* ручний вибір партії. | |||
== FIFO для зерна == | |||
FIFO означає, що першим списується зерно з партії, яка першою надійшла на склад. | |||
Це корисно для контролю старіння зерна, якості, умов зберігання та коректної собівартості. | |||
== Ручний вибір партії == | |||
Ручний вибір потрібен, якщо покупцю продається конкретна партія зерна з певними характеристиками або сертифікатом якості. | |||
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;"> | |||
'''Важливо.''' При продажу зерна система повинна контролювати залишок по конкретній культурі, складу та партії. Продаж більшої кількості, ніж є на складі, не допускається. | |||
</div> | |||
== Облік складу == | |||
Складський облік зерна має підтримувати залишки: | |||
* по культурах; | |||
* по складах або елеваторах; | |||
* по партіях; | |||
* по постачальниках; | |||
* по якості; | |||
* по базисній і фізичній вазі. | |||
== Залишки зерна == | |||
Звіт залишків має показувати: | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Культура | |||
| Яка культура зберігається | |||
|- | |||
| Склад / елеватор | |||
| Місце зберігання | |||
|- | |||
| Партія | |||
| Партія зерна | |||
|- | |||
| Постачальник | |||
| Хто поставив зерно | |||
|- | |||
| Фізична вага | |||
| Фактичний залишок | |||
|- | |||
| Базисна вага | |||
| Перерахований залишок | |||
|- | |||
| Вологість | |||
| Показник якості | |||
|- | |||
| Сміттєвість | |||
| Показник якості | |||
|} | |||
== Інтеграція з ваговим обладнанням == | |||
Модуль може підтримувати інтеграцію з ваговим обладнанням через API. | |||
Якщо інтеграція не реалізована, потрібно передбачити ручне введення ваги. | |||
У будь-якому випадку система має зберігати: | |||
* джерело зважування; | |||
* дату й час зважування; | |||
* оператора; | |||
* значення ваги; | |||
* документ, до якого прив’язана вага. | |||
== Друковані форми == | |||
Модуль повинен формувати друковані документи. | |||
== Акт приймання-передачі зерна == | |||
Акт приймання-передачі має містити: | |||
* номер і дату; | |||
* постачальника; | |||
* культуру; | |||
* склад або елеватор; | |||
* брутто; | |||
* тару; | |||
* нетто; | |||
* вологість; | |||
* сміттєвість; | |||
* базисну вагу; | |||
* зараховану кількість; | |||
* підписи сторін. | |||
== Товарна накладна == | |||
Товарна накладна має містити: | |||
* номер і дату; | |||
* покупця; | |||
* культуру; | |||
* партію; | |||
* вагу; | |||
* ціну за тонну; | |||
* загальну суму; | |||
* реквізити сторін; | |||
* підписи. | |||
== Рахунок-фактура == | |||
Рахунок-фактура має містити: | |||
* покупця; | |||
* культуру; | |||
* кількість; | |||
* ціну; | |||
* суму; | |||
* податкову інформацію, якщо використовується; | |||
* реквізити для оплати. | |||
== Звітність == | |||
== Звіт «Залишки зерна» == | |||
Звіт показує залишки зерна на дату. | |||
У звіті потрібно бачити: | |||
* культуру; | |||
* склад; | |||
* партію; | |||
* постачальника; | |||
* фізичну вагу; | |||
* базисну вагу; | |||
* показники якості; | |||
* вартість залишку, якщо ведеться собівартість. | |||
== Звіт «Рух зерна за період» == | |||
Звіт показує всі операції з зерном за період. | |||
У звіті потрібно відображати: | |||
* надходження; | |||
* доробку; | |||
* переміщення; | |||
* реалізацію; | |||
* втрати; | |||
* залишок на початок; | |||
* залишок на кінець. | |||
== Звіт «Втрати при доробці» == | |||
Звіт показує втрати при сушінні й очищенні. | |||
У звіті потрібно відображати: | |||
* партію; | |||
* культуру; | |||
* вагу до доробки; | |||
* вагу після доробки; | |||
* втрати при сушінні; | |||
* втрати при очищенні; | |||
* загальні втрати; | |||
* відсоток втрат. | |||
== Звіт «Продаж зерна» == | |||
Звіт показує реалізацію зерна за вибраний період. | |||
У звіті потрібно відображати: | |||
* покупця; | |||
* культуру; | |||
* партію; | |||
* кількість; | |||
* ціну за тонну; | |||
* суму продажу; | |||
* собівартість, якщо ведеться; | |||
* фінансовий результат. | |||
== AJAX-інтерактив == | |||
Інтерфейс модуля має підтримувати роботу без зайвого перезавантаження сторінок. | |||
Через AJAX мають працювати: | |||
* створення надходження зерна; | |||
* вибір постачальника; | |||
* вибір культури; | |||
* введення ваги; | |||
* миттєвий перерахунок нетто; | |||
* миттєвий перерахунок базисної ваги; | |||
* розрахунок втрат при сушінні та очищенні; | |||
* створення партії; | |||
* вибір партії при реалізації; | |||
* перевірка залишків; | |||
* формування документів. | |||
== Логування змін == | |||
Усі важливі зміни потрібно логувати. | |||
Журнал змін має фіксувати: | |||
* хто створив приймальний акт; | |||
* хто ввів вагу; | |||
* хто змінив показники якості; | |||
* хто виконав перерахунок; | |||
* хто провів документ; | |||
* хто сформував партію; | |||
* хто виконав реалізацію; | |||
* хто змінив залишки або скасував документ; | |||
* дату й час зміни; | |||
* старе та нове значення. | |||
== Технічні вимоги == | == Технічні вимоги == | ||
{| class="wikitable" | {| class="wikitable" style="width:100%;" | ||
! Параметр | ! Параметр | ||
! Опис | ! Опис | ||
| Рядок 132: | Рядок 792: | ||
| K2 Cloud ERP на Python або PHP | | K2 Cloud ERP на Python або PHP | ||
|- | |- | ||
| | | База даних | ||
| PostgreSQL або MySQL | | PostgreSQL або MySQL | ||
|- | |- | ||
| Фронтенд | | Фронтенд | ||
| HTML5, JavaScript | | HTML5, JavaScript | ||
|- | |||
| AJAX | |||
| Axios або Fetch API | |||
|- | |- | ||
| UI-компоненти | | UI-компоненти | ||
| Рядок 142: | Рядок 805: | ||
|- | |- | ||
| Друк | | Друк | ||
| | | PDF-акти й накладні через Stimulsoft або внутрішній механізм K2 | ||
|- | |||
| Інтеграція | |||
| API вагового обладнання або ручне введення ваги | |||
|} | |} | ||
== | == Рекомендовані сутності бази даних == | ||
Для реалізації задачі доцільно передбачити такі сутності: | |||
* культури; | |||
* базисні показники культур; | |||
* постачальники; | |||
* покупці; | |||
* елеватори / склади; | |||
* надходження зерна; | |||
* рядки надходження; | |||
* зважування; | |||
* лабораторні показники; | |||
* партії зерна; | |||
* доробка зерна; | |||
* елеваторні послуги; | |||
* реалізація зерна; | |||
* рядки реалізації; | |||
* сертифікати якості; | |||
* складські залишки; | |||
* рух зерна; | |||
* взаєморозрахунки; | |||
* друковані форми; | |||
* журнал змін. | |||
== Практичне завдання == | |||
У межах атестації потрібно продемонструвати робочий сценарій. | |||
Мінімальний сценарій: | |||
{| class="wikitable" | # створити культуру з базисними показниками вологості та сміттєвості; | ||
# створити постачальника; | |||
# створити покупця; | |||
# створити склад або елеватор; | |||
# оформити надходження зерна; | |||
# ввести брутто і тару; | |||
# перевірити автоматичний розрахунок нетто; | |||
# ввести фактичну вологість і сміттєвість; | |||
# перевірити перерахунок до базисних умов; | |||
# розрахувати втрати при сушінні; | |||
# розрахувати втрати при очищенні; | |||
# сформувати партію зерна; | |||
# зарахувати зерно на склад; | |||
# сформувати акт приймання-передачі; | |||
# створити сертифікат якості; | |||
# оформити реалізацію зерна покупцю; | |||
# вибрати партію вручну або за FIFO; | |||
# перевірити контроль залишку; | |||
# сформувати товарну накладну; | |||
# сформувати рахунок-фактуру; | |||
# сформувати звіт залишків зерна; | |||
# сформувати звіт руху зерна; | |||
# сформувати звіт втрат при доробці; | |||
# сформувати звіт продажу зерна. | |||
== Критерії оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Критерій | ! Критерій | ||
! Бали | ! Бали | ||
! Що перевіряється | |||
|- | |- | ||
| Реалізація довідників культур, постачальників | | Реалізація довідників культур, постачальників і покупців | ||
| 10 | | 10 | ||
| Культури, базисні показники, контрагенти, елеватори або склади | |||
|- | |- | ||
| Журнал надходження і перерахунок базисної ваги | | Журнал надходження і перерахунок базисної ваги | ||
| 20 | | 20 | ||
| Брутто, тара, нетто, вологість, сміттєвість, базисна вага, зарахування на склад | |||
|- | |- | ||
| Журнал реалізації і списання зі складу | | Журнал реалізації і списання зі складу | ||
| 20 | | 20 | ||
| Продаж зерна, вибір партій, FIFO, контроль залишків, списання | |||
|- | |- | ||
| Розрахунок втрат при сушінні | | Розрахунок втрат при сушінні та очищенні | ||
| 20 | | 20 | ||
| Формули доробки, втрати, зміна ваги партії, збереження результатів | |||
|- | |- | ||
| Автоматичне формування актів і накладних | | Автоматичне формування актів і накладних | ||
| 20 | | 20 | ||
| Акт приймання-передачі, товарна накладна, рахунок-фактура, сертифікат якості | |||
|- | |- | ||
| Інтерактивність через AJAX | | Інтерактивність через AJAX і підсумки в таблицях | ||
| 10 | | 10 | ||
| Миттєві перерахунки, вибір довідників, перевірка залишків, зручність інтерфейсу | |||
|- | |||
! Разом | |||
! 100 | |||
! Максимальна оцінка | |||
|} | |||
== Шкала оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Бали | |||
! Рівень | |||
! Опис | |||
|- | |||
| 90–100 | |||
| Відмінно | |||
| Модуль повністю працює: надходження, якість, базисна вага, доробка, партії, реалізація, документи й звіти реалізовані коректно | |||
|- | |||
| 75–89 | |||
| Добре | |||
| Основна логіка працює, є незначні недоліки, які не руйнують зерновий облік | |||
|- | |||
| 60–74 | |||
| Зараховано | |||
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання | |||
|- | |||
| 0–59 | |||
| Не зараховано | |||
| Відсутня критична логіка: надходження, перерахунок ваги, партії, списання, залишки або документи | |||
|} | |} | ||
== Критичні помилки == | |||
Критичними помилками вважаються ситуації, коли: | |||
* неможливо оформити надходження зерна; | |||
* нетто не розраховується з брутто й тари; | |||
* базисна вага не враховує фактичну вологість; | |||
* втрати при сушінні або очищенні не розраховуються; | |||
* партія зерна не формується після приймання; | |||
* зерно не зараховується на склад; | |||
* реалізація не списує зерно зі складу; | |||
* система дозволяє продати більше зерна, ніж є на залишку; | |||
* FIFO працює неправильно або не враховує партії; | |||
* сертифікат якості не прив’язується до партії; | |||
* акт приймання-передачі або товарна накладна не формуються; | |||
* звіти не відповідають рухам зерна; | |||
* зміни ваги або якості не логуються. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл зернотрейдингу: надходження → зважування → якість → перерахунок → партія → склад → реалізація → списання → документи → звіт. | |||
</div> | |||
== Очікуваний результат == | |||
У результаті виконання атестаційного завдання має бути створений модуль обліку операцій зернотрейдера в K2 ERP. | |||
Модуль має підтримувати довідники культур, постачальників, покупців і складів, документи надходження зерна, зважування, показники якості, перерахунок до базисних умов, доробку, партійний облік, сертифікати якості, реалізацію зерна, FIFO або ручне списання, друковані документи та звітність. | |||
== Примітка == | == Примітка == | ||
Модуль зернотрейдингу | Модуль зернотрейдингу є критичним для агрокомпаній, елеваторів, трейдерів, переробників і експортерів. | ||
Правильна реалізація такого модуля дозволяє мінімізувати втрати, уникати неточностей у взаєморозрахунках, контролювати якість зерна та будувати довіру з контрагентами. | |||
== Коротко == | |||
{| class="wikitable" style="width:100%;" | |||
! Питання | |||
! Відповідь | |||
|- | |||
| Що потрібно створити? | |||
| Модуль обліку операцій зернотрейдера | |||
|- | |||
| Які довідники потрібні? | |||
| Культури, постачальники, покупці, склади або елеватори | |||
|- | |||
| Який головний документ надходження? | |||
| Приймальний акт або документ надходження зерна | |||
|- | |||
| Що розраховується при прийманні? | |||
| Нетто, базисна вага, втрати при сушінні та очищенні | |||
|- | |||
| Що формується після приймання? | |||
| Партія зерна та акт приймання-передачі | |||
|- | |||
| Як списується зерно при продажу? | |||
| За FIFO або ручним вибором партії | |||
|- | |||
| Які друковані документи потрібні? | |||
| Акт приймання-передачі, товарна накладна, рахунок-фактура, сертифікат якості | |||
|- | |||
| Які звіти потрібні? | |||
| Залишки зерна, рух зерна, втрати при доробці, продаж зерна | |||
|- | |||
| Що є критичною вимогою? | |||
| Повний цикл: зважування → якість → базисна вага → партія → склад → продаж | |||
|} | |||
== Див. також == | |||
* [[K2 Cloud ERP|K2 ERP]] | |||
* [[K2 ERP]] | |||
* [[Атестаційні завдання K2 ERP]] | |||
* [[Зернотрейдер]] | |||
* [[Елеватор]] | |||
* [[Складський облік]] | |||
* [[Партійний облік]] | |||
* [[FIFO]] | |||
* [[Акт приймання-передачі]] | |||
* [[Товарна накладна]] | |||
* [[Сертифікат якості]] | |||
* [[Зважування]] | |||
* [[Базисна вага]] | |||
* [[Доробка зерна]] | |||
[[Категорія:K2 ERP]] | |||
[[Категорія:Атестаційні завдання K2]] | |||
[[Категорія:Зернотрейдер]] | |||
[[Категорія:Агро]] | |||
[[Категорія:Елеватор]] | |||
[[Категорія:Складський облік]] | |||
[[Категорія:Партійний облік]] | |||
[[Категорія:Корпоративна Wiki]] | |||
Поточна версія на 18:36, 1 травня 2026
Атестаційне завдання K2 ERP — Зернотрейдер — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля обліку зернових операцій: закупівлі, приймання, зважування, контролю якості, доробки, зберігання, переміщення, продажу та формування документів.
Модуль має забезпечувати повний цикл роботи зернотрейдера або елеватора: від приймання зерна від фермера до реалізації партії покупцю з урахуванням вологості, сміттєвих домішок, базисних умов, сушіння, очищення, складських залишків і фінансових документів.
Коротко. Потрібно реалізувати модуль, який дозволяє приймати зерно, зважувати брутто/тару/нетто, фіксувати якість, перераховувати вагу до базисних умов, рахувати втрати при сушінні та очищенні, вести партії на складі, продавати зерно й формувати акти, накладні та звіти.
Назва завдання
Модуль для обліку операцій зернотрейдера: закупка, зберігання, доробка та продаж зерна.
Мета завдання
Мета завдання — створити в K2 ERP модуль для автоматизації обліку зернових операцій.
Система повинна дозволяти:
- вести довідник культур;
- вести постачальників зерна;
- вести покупців зерна;
- оформлювати надходження зерна;
- фіксувати первинне зважування;
- фіксувати тару, брутто та нетто;
- зберігати показники якості;
- перераховувати зерно до базисних умов;
- рахувати втрати при сушінні та очищенні;
- вести партійний облік зерна;
- обліковувати залишки по культурах, партіях і складах;
- формувати сертифікати якості;
- оформлювати реалізацію зерна;
- списувати зерно зі складу за FIFO або вручну;
- формувати акти приймання-передачі, рахунки-фактури та товарні накладні;
- обліковувати послуги елеватора;
- формувати звіти по руху, залишках, якості та фінансових результатах.
Головний принцип. У зернотрейдингу важлива не лише фізична вага зерна, а й якість. Вологість, сміттєвість, доробка та базисні умови безпосередньо впливають на кількість, взаєморозрахунки, залишки й фінансовий результат.
Реальний бізнес-контекст
Компанія здійснює операції із закупівлі зернових культур у фермерських господарств, зберігає зерно на власному або сторонньому елеваторі, виконує сушіння й очищення, а потім продає зерно трейдерам, переробникам або експортерам.
У процесі роботи потрібно контролювати:
- хто поставив зерно;
- яка культура надійшла;
- яка вага була при в’їзді;
- яка тара;
- яка вага нетто;
- які показники вологості та сміттєвості;
- скільки зерна зараховується на склад;
- які втрати виникли при сушінні й очищенні;
- по яких партіях зберігається зерно;
- кому, коли і скільки зерна було продано;
- яка собівартість і фінансовий результат операції.
Без автоматизованого модуля такі розрахунки часто ведуться в Excel, що створює ризик помилок у вазі, якості, взаєморозрахунках і складських залишках.
Основний бізнес-процес
Типовий процес роботи зернотрейдера виглядає так:
- постачальник привозить зерно;
- на ваговій фіксується брутто;
- визначається тара;
- система розраховує нетто;
- лабораторія або відповідальний працівник вводить показники якості;
- система перераховує зерно до базисних умов;
- за потреби розраховуються втрати при сушінні та очищенні;
- формується партія зерна;
- зерно зараховується на склад;
- створюється акт приймання-передачі;
- за потреби формуються рахунки або інші фінансові документи;
- при продажу зерно вибирається зі складу по партіях;
- система контролює залишок;
- виконується списання зерна;
- формується товарна накладна;
- дані потрапляють у звіти.
Основні об’єкти модуля
| Об’єкт | Призначення |
|---|---|
| Культури | Пшениця, кукурудза, ячмінь, соняшник та інші культури |
| Постачальники | Фермерські господарства або компанії, які постачають зерно |
| Покупці | Трейдери, переробники, експортери або інші компанії, які купують зерно |
| Елеватори / склади | Місця зберігання зерна |
| Партії зерна | Окремі надходження зерна з конкретними характеристиками |
| Показники якості | Вологість, сміттєвість, сорт, клас, інші лабораторні показники |
| Надходження зерна | Документ приймання зерна від постачальника |
| Доробка зерна | Сушіння, очищення та інші операції |
| Реалізація зерна | Продаж зерна покупцю |
| Сертифікати якості | Документи, що підтверджують якість партії |
| Елеваторні послуги | Зберігання, сушка, очистка, навантаження, розвантаження |
| Звіти | Залишки, рух зерна, якість, втрати, продажі та взаєморозрахунки |
Довідник «Культури»
Довідник культур містить перелік зернових і олійних культур, з якими працює компанія.
Поля культури
| Поле | Опис |
|---|---|
| Назва культури | Наприклад: пшениця, кукурудза, ячмінь, соняшник |
| Сорт або клас | Сорт, клас або інша класифікація культури |
| Базисна вологість, % | Нормативна вологість для перерахунку |
| Базисна сміттєвість, % | Нормативний показник сміттєвих домішок |
| Одиниця виміру | Зазвичай тонна або кілограм |
| Активність | Чи використовується культура в поточному обліку |
Приклади культур
| Культура | Приклад базисної вологості | Приклад базисної сміттєвості |
|---|---|---|
| Пшениця | 14% | 2% |
| Кукурудза | 14% | 2% |
| Ячмінь | 14% | 2% |
Важливо. Базисні показники мають зберігатися в довіднику культур, щоб система могла автоматично виконувати перерахунок ваги й не вимагати ручного введення нормативів у кожному документі.
Довідник «Постачальники»
Довідник постачальників містить фермерські господарства, агрокомпанії або інших контрагентів, які постачають зерно.
Поля постачальника
| Поле | Опис |
|---|---|
| Назва господарства | Назва фермерського господарства або компанії |
| Код ЄДРПОУ / ІПН | Реєстраційний або податковий код |
| Контактна особа | Представник постачальника |
| Телефон | Контактний номер |
| Електронна адреса | |
| Банківські реквізити | Реквізити для взаєморозрахунків |
| Статус | Активний або неактивний |
Довідник «Покупці»
Довідник покупців містить компанії, які купують зерно.
Покупцями можуть бути:
- трейдери;
- переробники;
- експортери;
- комбікормові заводи;
- інші аграрні компанії.
Довідник покупців може мати ті самі реквізити, що й довідник постачальників, або використовувати єдиний довідник Контрагенти з ознакою типу контрагента.
Довідник «Елеватори / склади»
Для обліку місць зберігання потрібно передбачити довідник елеваторів або складів.
Поля складу / елеватора
| Поле | Опис |
|---|---|
| Назва | Назва елеватора або складу |
| Адреса | Місце розташування |
| Власник | Власний або сторонній елеватор |
| Тип зберігання | Силос, склад, майданчик або інший тип |
| Місткість | Максимальна місткість зберігання |
| Статус | Активний або неактивний |
Журнал «Надходження зерна»
Журнал надходження зерна показує всі приймальні акти та партії, які надійшли від постачальників.
Колонки журналу надходження
| Колонка | Опис |
|---|---|
| Номер приймального акту | Унікальний номер документа |
| Дата прийому | Дата надходження зерна |
| Постачальник | Хто привіз зерно |
| Культура | Яка культура надійшла |
| Склад / елеватор | Куди зараховується зерно |
| Брутто | Вага до віднімання тари |
| Тара | Вага тари або транспорту |
| Нетто | Брутто мінус тара |
| Вологість, % | Фактична вологість зерна |
| Сміттєвість, % | Фактична сміттєва домішка |
| Базисна вага | Вага після перерахунку до базисних умов |
| Зараховано на склад | Кількість, яка фактично потрапляє в залишки |
| Статус | Чернетка, прийнято, проведено, скасовано |
Форма надходження зерна
Форма надходження зерна повинна містити заголовок документа, блок зважування, блок якості та розрахункову частину.
Заголовок документа
У заголовку потрібно передбачити:
| Поле | Опис |
|---|---|
| Номер акту | Генерується автоматично або вводиться вручну |
| Дата прийому | Дата й час приймання зерна |
| Постачальник | Вибір із довідника |
| Культура | Вибір із довідника культур |
| Склад / елеватор | Куди зараховується зерно |
| Транспорт | Номер авто або інша інформація |
| Коментар | Додаткова інформація |
Блок зважування
У блоці зважування потрібно фіксувати:
- брутто;
- тару;
- нетто;
- дату й час зважування;
- оператора вагової;
- джерело ваги: ручне введення або API вагового обладнання.
Формула нетто
Нетто = Брутто - Тара
Блок якості
У блоці якості потрібно фіксувати лабораторні показники.
Мінімальні показники:
- вологість;
- сміттєвість;
- сорт або клас;
- за потреби — білок, клейковина, натура, олійність або інші показники.
Перерахунок до базисних умов
Система має автоматично перераховувати фактичну вагу зерна до базисних умов.
Формула перерахунку по вологості
Нетто базисне = Нетто × (100 - Фактична вологість) / (100 - Базисна вологість)
Наприклад, якщо фактична вологість більша за базисну, базисна вага буде меншою за фізичну вагу.
Втрати при сушінні
Сушіння зменшує вагу зерна через зниження вологості.
У модулі потрібно розраховувати втрати при сушінні залежно від початкової та нормативної вологості.
Спрощена логіка:
Втрати при сушінні = Нетто - Нетто після доведення до базисної вологості
Втрати при очищенні
Очищення зменшує вагу зерна через видалення домішок.
Спрощена логіка:
Втрати при очищенні = Нетто × (Фактична сміттєвість - Базисна сміттєвість) / 100
Якщо фактична сміттєвість менша або дорівнює базисній, втрати при очищенні можуть дорівнювати нулю.
Критично. Розрахунок зарахованої ваги має враховувати не лише фізичне нетто, а й якісні показники зерна. Без цього складські залишки та взаєморозрахунки з постачальниками будуть некоректними.
Партійний облік зерна
Кожне надходження зерна має формувати партію.
Партія зерна повинна зберігати:
- культуру;
- постачальника;
- дату надходження;
- склад або елеватор;
- фізичну вагу;
- базисну вагу;
- показники якості;
- втрати при сушінні;
- втрати при очищенні;
- залишок партії;
- сертифікат якості;
- документ-підставу.
Сертифікати якості
Для кожної партії потрібно передбачити можливість зберігати сертифікат якості.
Сертифікат може містити:
- номер;
- дату;
- культуру;
- партію;
- постачальника;
- показники лабораторного аналізу;
- файл сертифіката;
- відповідального працівника.
Доробка зерна
Доробка зерна включає операції сушіння, очищення або інші технологічні операції, які змінюють кількість і якість зерна.
Документ «Доробка зерна»
Документ доробки має містити:
| Поле | Опис |
|---|---|
| Дата | Дата виконання доробки |
| Партія | Партія зерна, яка доробляється |
| Операція | Сушіння, очищення або інша операція |
| Вага до доробки | Вага до операції |
| Вологість до | Показник до сушіння |
| Вологість після | Показник після сушіння |
| Сміттєвість до | Показник до очищення |
| Сміттєвість після | Показник після очищення |
| Втрати | Розраховані втрати |
| Вага після доробки | Кількість, що залишається після операції |
Елеваторні послуги
Модуль має дозволяти обліковувати вартість послуг елеватора.
До таких послуг можуть належати:
- зберігання;
- сушіння;
- очищення;
- навантаження;
- розвантаження;
- лабораторний аналіз;
- зважування;
- інші послуги.
Розрахунок послуг елеватора
| Послуга | Можлива база розрахунку |
|---|---|
| Зберігання | Тонно-дні або фіксований тариф за тонну |
| Сушіння | Тонни × різниця вологості × тариф |
| Очищення | Тонни × тариф або втрати домішок |
| Навантаження / розвантаження | Тонни × тариф |
Журнал «Реалізація зерна»
Журнал реалізації зерна показує всі відвантаження покупцям.
Колонки журналу реалізації
| Колонка | Опис |
|---|---|
| Номер товарної накладної | Унікальний номер документа реалізації |
| Дата відвантаження | Дата продажу або відвантаження |
| Покупець | Контрагент, який купує зерно |
| Культура | Культура, що продається |
| Склад / елеватор | Звідки списується зерно |
| Партія | Партія, з якої відвантажується зерно |
| Вага до відвантаження | Кількість зерна |
| Ціна за тонну | Вартість однієї тонни |
| Загальна сума | Підсумкова сума реалізації |
| Статус | Чернетка, проведено, скасовано |
Вибір зерна зі складу
При реалізації зерна система повинна дозволяти вибрати зерно зі складу.
Можливі режими списання:
- FIFO;
- ручний вибір партії.
FIFO для зерна
FIFO означає, що першим списується зерно з партії, яка першою надійшла на склад.
Це корисно для контролю старіння зерна, якості, умов зберігання та коректної собівартості.
Ручний вибір партії
Ручний вибір потрібен, якщо покупцю продається конкретна партія зерна з певними характеристиками або сертифікатом якості.
Важливо. При продажу зерна система повинна контролювати залишок по конкретній культурі, складу та партії. Продаж більшої кількості, ніж є на складі, не допускається.
Облік складу
Складський облік зерна має підтримувати залишки:
- по культурах;
- по складах або елеваторах;
- по партіях;
- по постачальниках;
- по якості;
- по базисній і фізичній вазі.
Залишки зерна
Звіт залишків має показувати:
| Поле | Опис |
|---|---|
| Культура | Яка культура зберігається |
| Склад / елеватор | Місце зберігання |
| Партія | Партія зерна |
| Постачальник | Хто поставив зерно |
| Фізична вага | Фактичний залишок |
| Базисна вага | Перерахований залишок |
| Вологість | Показник якості |
| Сміттєвість | Показник якості |
Інтеграція з ваговим обладнанням
Модуль може підтримувати інтеграцію з ваговим обладнанням через API.
Якщо інтеграція не реалізована, потрібно передбачити ручне введення ваги.
У будь-якому випадку система має зберігати:
- джерело зважування;
- дату й час зважування;
- оператора;
- значення ваги;
- документ, до якого прив’язана вага.
Друковані форми
Модуль повинен формувати друковані документи.
Акт приймання-передачі зерна
Акт приймання-передачі має містити:
- номер і дату;
- постачальника;
- культуру;
- склад або елеватор;
- брутто;
- тару;
- нетто;
- вологість;
- сміттєвість;
- базисну вагу;
- зараховану кількість;
- підписи сторін.
Товарна накладна
Товарна накладна має містити:
- номер і дату;
- покупця;
- культуру;
- партію;
- вагу;
- ціну за тонну;
- загальну суму;
- реквізити сторін;
- підписи.
Рахунок-фактура
Рахунок-фактура має містити:
- покупця;
- культуру;
- кількість;
- ціну;
- суму;
- податкову інформацію, якщо використовується;
- реквізити для оплати.
Звітність
Звіт «Залишки зерна»
Звіт показує залишки зерна на дату.
У звіті потрібно бачити:
- культуру;
- склад;
- партію;
- постачальника;
- фізичну вагу;
- базисну вагу;
- показники якості;
- вартість залишку, якщо ведеться собівартість.
Звіт «Рух зерна за період»
Звіт показує всі операції з зерном за період.
У звіті потрібно відображати:
- надходження;
- доробку;
- переміщення;
- реалізацію;
- втрати;
- залишок на початок;
- залишок на кінець.
Звіт «Втрати при доробці»
Звіт показує втрати при сушінні й очищенні.
У звіті потрібно відображати:
- партію;
- культуру;
- вагу до доробки;
- вагу після доробки;
- втрати при сушінні;
- втрати при очищенні;
- загальні втрати;
- відсоток втрат.
Звіт «Продаж зерна»
Звіт показує реалізацію зерна за вибраний період.
У звіті потрібно відображати:
- покупця;
- культуру;
- партію;
- кількість;
- ціну за тонну;
- суму продажу;
- собівартість, якщо ведеться;
- фінансовий результат.
AJAX-інтерактив
Інтерфейс модуля має підтримувати роботу без зайвого перезавантаження сторінок.
Через AJAX мають працювати:
- створення надходження зерна;
- вибір постачальника;
- вибір культури;
- введення ваги;
- миттєвий перерахунок нетто;
- миттєвий перерахунок базисної ваги;
- розрахунок втрат при сушінні та очищенні;
- створення партії;
- вибір партії при реалізації;
- перевірка залишків;
- формування документів.
Логування змін
Усі важливі зміни потрібно логувати.
Журнал змін має фіксувати:
- хто створив приймальний акт;
- хто ввів вагу;
- хто змінив показники якості;
- хто виконав перерахунок;
- хто провів документ;
- хто сформував партію;
- хто виконав реалізацію;
- хто змінив залишки або скасував документ;
- дату й час зміни;
- старе та нове значення.
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| База даних | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript |
| AJAX | Axios або Fetch API |
| UI-компоненти | DataTables, Select2 |
| Друк | PDF-акти й накладні через Stimulsoft або внутрішній механізм K2 |
| Інтеграція | API вагового обладнання або ручне введення ваги |
Рекомендовані сутності бази даних
Для реалізації задачі доцільно передбачити такі сутності:
- культури;
- базисні показники культур;
- постачальники;
- покупці;
- елеватори / склади;
- надходження зерна;
- рядки надходження;
- зважування;
- лабораторні показники;
- партії зерна;
- доробка зерна;
- елеваторні послуги;
- реалізація зерна;
- рядки реалізації;
- сертифікати якості;
- складські залишки;
- рух зерна;
- взаєморозрахунки;
- друковані форми;
- журнал змін.
Практичне завдання
У межах атестації потрібно продемонструвати робочий сценарій.
Мінімальний сценарій:
- створити культуру з базисними показниками вологості та сміттєвості;
- створити постачальника;
- створити покупця;
- створити склад або елеватор;
- оформити надходження зерна;
- ввести брутто і тару;
- перевірити автоматичний розрахунок нетто;
- ввести фактичну вологість і сміттєвість;
- перевірити перерахунок до базисних умов;
- розрахувати втрати при сушінні;
- розрахувати втрати при очищенні;
- сформувати партію зерна;
- зарахувати зерно на склад;
- сформувати акт приймання-передачі;
- створити сертифікат якості;
- оформити реалізацію зерна покупцю;
- вибрати партію вручну або за FIFO;
- перевірити контроль залишку;
- сформувати товарну накладну;
- сформувати рахунок-фактуру;
- сформувати звіт залишків зерна;
- сформувати звіт руху зерна;
- сформувати звіт втрат при доробці;
- сформувати звіт продажу зерна.
Критерії оцінювання
| Критерій | Бали | Що перевіряється |
|---|---|---|
| Реалізація довідників культур, постачальників і покупців | 10 | Культури, базисні показники, контрагенти, елеватори або склади |
| Журнал надходження і перерахунок базисної ваги | 20 | Брутто, тара, нетто, вологість, сміттєвість, базисна вага, зарахування на склад |
| Журнал реалізації і списання зі складу | 20 | Продаж зерна, вибір партій, FIFO, контроль залишків, списання |
| Розрахунок втрат при сушінні та очищенні | 20 | Формули доробки, втрати, зміна ваги партії, збереження результатів |
| Автоматичне формування актів і накладних | 20 | Акт приймання-передачі, товарна накладна, рахунок-фактура, сертифікат якості |
| Інтерактивність через AJAX і підсумки в таблицях | 10 | Миттєві перерахунки, вибір довідників, перевірка залишків, зручність інтерфейсу |
| Разом | 100 | Максимальна оцінка |
Шкала оцінювання
| Бали | Рівень | Опис |
|---|---|---|
| 90–100 | Відмінно | Модуль повністю працює: надходження, якість, базисна вага, доробка, партії, реалізація, документи й звіти реалізовані коректно |
| 75–89 | Добре | Основна логіка працює, є незначні недоліки, які не руйнують зерновий облік |
| 60–74 | Зараховано | Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання |
| 0–59 | Не зараховано | Відсутня критична логіка: надходження, перерахунок ваги, партії, списання, залишки або документи |
Критичні помилки
Критичними помилками вважаються ситуації, коли:
- неможливо оформити надходження зерна;
- нетто не розраховується з брутто й тари;
- базисна вага не враховує фактичну вологість;
- втрати при сушінні або очищенні не розраховуються;
- партія зерна не формується після приймання;
- зерно не зараховується на склад;
- реалізація не списує зерно зі складу;
- система дозволяє продати більше зерна, ніж є на залишку;
- FIFO працює неправильно або не враховує партії;
- сертифікат якості не прив’язується до партії;
- акт приймання-передачі або товарна накладна не формуються;
- звіти не відповідають рухам зерна;
- зміни ваги або якості не логуються.
Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл зернотрейдингу: надходження → зважування → якість → перерахунок → партія → склад → реалізація → списання → документи → звіт.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений модуль обліку операцій зернотрейдера в K2 ERP.
Модуль має підтримувати довідники культур, постачальників, покупців і складів, документи надходження зерна, зважування, показники якості, перерахунок до базисних умов, доробку, партійний облік, сертифікати якості, реалізацію зерна, FIFO або ручне списання, друковані документи та звітність.
Примітка
Модуль зернотрейдингу є критичним для агрокомпаній, елеваторів, трейдерів, переробників і експортерів.
Правильна реалізація такого модуля дозволяє мінімізувати втрати, уникати неточностей у взаєморозрахунках, контролювати якість зерна та будувати довіру з контрагентами.
Коротко
| Питання | Відповідь |
|---|---|
| Що потрібно створити? | Модуль обліку операцій зернотрейдера |
| Які довідники потрібні? | Культури, постачальники, покупці, склади або елеватори |
| Який головний документ надходження? | Приймальний акт або документ надходження зерна |
| Що розраховується при прийманні? | Нетто, базисна вага, втрати при сушінні та очищенні |
| Що формується після приймання? | Партія зерна та акт приймання-передачі |
| Як списується зерно при продажу? | За FIFO або ручним вибором партії |
| Які друковані документи потрібні? | Акт приймання-передачі, товарна накладна, рахунок-фактура, сертифікат якості |
| Які звіти потрібні? | Залишки зерна, рух зерна, втрати при доробці, продаж зерна |
| Що є критичною вимогою? | Повний цикл: зважування → якість → базисна вага → партія → склад → продаж |