Атестаційні завдання K2 ERP/Зернотрейдер: відмінності між версіями

Немає опису редагування
 
Рядок 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%;"
! Колонка
! Опис
|-
| Номер приймального акту
| Унікальний номер документа
|-
| Дата прийому
| Дата надходження зерна
|-
| Постачальник
| Хто привіз зерно
|-
| Культура
| Яка культура надійшла
|-
| Склад / елеватор
| Куди зараховується зерно
|-
| Брутто
| Вага до віднімання тари
|-
| Тара
| Вага тари або транспорту
|-
| Нетто
| Брутто мінус тара
|-
| Вологість, %
| Фактична вологість зерна
|-
| Сміттєвість, %
| Фактична сміттєва домішка
|-
| Базисна вага
| Вага після перерахунку до базисних умов
|-
| Зараховано на склад
| Кількість, яка фактично потрапляє в залишки
|-
| Статус
| Чернетка, прийнято, проведено, скасовано
|}
 
== Форма надходження зерна ==


У процесі необхідно:
Форма надходження зерна повинна містити заголовок документа, блок зважування, блок якості та розрахункову частину.


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


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


=== 1. Структура довідників ===
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Номер акту
| Генерується автоматично або вводиться вручну
|-
| Дата прийому
| Дата й час приймання зерна
|-
| Постачальник
| Вибір із довідника
|-
| Культура
| Вибір із довідника культур
|-
| Склад / елеватор
| Куди зараховується зерно
|-
| Транспорт
| Номер авто або інша інформація
|-
| Коментар
| Додаткова інформація
|}
 
== Блок зважування ==
 
У блоці зважування потрібно фіксувати:
 
* брутто;
* тару;
* нетто;
* дату й час зважування;
* оператора вагової;
* джерело ваги: ручне введення або API вагового обладнання.
 
== Формула нетто ==
 
<pre>
Нетто = Брутто - Тара
</pre>


==== Довідник «Культури» ====
== Блок якості ==


Поля довідника:
У блоці якості потрібно фіксувати лабораторні показники.


* назва культури: пшениця, кукурудза, ячмінь;
Мінімальні показники:
* сорт;
* базові характеристики:
** вологість, %;
** сміттєва домішка, %.


==== Довідник «Постачальники» ====
* вологість;
* сміттєвість;
* сорт або клас;
* за потреби — білок, клейковина, натура, олійність або інші показники.


Поля довідника:
== Перерахунок до базисних умов ==


* назва фермерського господарства;
Система має автоматично перераховувати фактичну вагу зерна до базисних умов.
* код ЄДРПОУ / ІПН;
* контактна особа;
* банківські реквізити.


==== Довідник «Покупці» ====
== Формула перерахунку по вологості ==


Поля довідника:
<pre>
Нетто базисне = Нетто × (100 - Фактична вологість) / (100 - Базисна вологість)
</pre>


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


=== 2. Журнал «Надходження зерна» ===
== Втрати при сушінні ==


==== Колонки журналу ====
Сушіння зменшує вагу зерна через зниження вологості.


* номер приймального акту;
У модулі потрібно розраховувати втрати при сушінні залежно від початкової та нормативної вологості.
* дата прийому;
* постачальник;
* культура;
* брутто — вага до очищення;
* тара;
* нетто — вага після віднімання тари;
* показники якості:
** вологість;
** сміттєвість;
* перерахунок до базисних умов;
* кількість, яка зараховується на склад.


==== Функціонал ====
Спрощена логіка:


* введення партій зерна із вхідними параметрами якості;
<pre>
* розрахунок втрат при доробці:
Втрати при сушінні = Нетто - Нетто після доведення до базисної вологості
** сушка;
</pre>
** очистка.


=== 3. Формули розрахунків ===
== Втрати при очищенні ==


==== Перерахунок зерна до базисних умов ====
Очищення зменшує вагу зерна через видалення домішок.


<math>
Спрощена логіка:
\text{Нетто базисне} = \text{Нетто} \times \frac{100 - \text{фактична вологість}}{100 - \text{базисна вологість}}
</math>


==== Втрати ====
<pre>
Втрати при очищенні = Нетто × (Фактична сміттєвість - Базисна сміттєвість) / 100
</pre>


* '''Сушка''' — втрати ваги залежно від початкової і нормативної вологості.
Якщо фактична сміттєвість менша або дорівнює базисній, втрати при очищенні можуть дорівнювати нулю.
* '''Очищення''' — втрати ваги на видалення домішок.


=== 4. Журнал «Реалізація зерна» ===
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
'''Критично.''' Розрахунок зарахованої ваги має враховувати не лише фізичне нетто, а й якісні показники зерна. Без цього складські залишки та взаєморозрахунки з постачальниками будуть некоректними.
</div>


==== Колонки журналу ====
== Партійний облік зерна ==


* номер товарної накладної;
Кожне надходження зерна має формувати партію.
* дата відвантаження;
* покупець;
* культура;
* вага до відвантаження;
* вартість за тонну;
* загальна сума.


==== Функціонал ====
Партія зерна повинна зберігати:


* вибір зерна зі складу по партіях:
* культуру;
** FIFO;
* постачальника;
** ручний вибір;
* дату надходження;
* розрахунок сум.
* склад або елеватор;
* фізичну вагу;
* базисну вагу;
* показники якості;
* втрати при сушінні;
* втрати при очищенні;
* залишок партії;
* сертифікат якості;
* документ-підставу.


=== 5. Облік складу ===
== Сертифікати якості ==


Функціонал складського обліку:
Для кожної партії потрібно передбачити можливість зберігати сертифікат якості.


* відстеження залишків по кожній культурі;
Сертифікат може містити:
* зберігання партій із розбиттям за характеристиками;
* автоматичне списання зерна при продажі.


=== 6. Додаткові функції ===
* номер;
* дату;
* культуру;
* партію;
* постачальника;
* показники лабораторного аналізу;
* файл сертифіката;
* відповідального працівника.


* ведення сертифікатів якості для партій зерна;
== Доробка зерна ==
* автоматичне формування актів прийому-передачі і товарних накладних;
* облік вартості послуг елеватора:
** зберігання;
** сушка;
** очистка;
* інтеграція вагового обладнання через API або ручне введення ваги.


=== 7. Інтерфейс користувача ===
Доробка зерна включає операції сушіння, очищення або інші технологічні операції, які змінюють кількість і якість зерна.


* введення даних через AJAX без перезавантаження сторінки;
== Документ «Доробка зерна» ==
* миттєвий перерахунок маси та втрат при введенні показників вологості / сміттєвості;
 
* інтерактивне формування документів;
Документ доробки має містити:
* автоматичне попередження при нестачі зерна на складі.
 
{| 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, AJAX, Axios або Fetch API
| HTML5, JavaScript
|-
| AJAX
| Axios або Fetch API
|-
|-
| UI-компоненти
| UI-компоненти
Рядок 142: Рядок 805:
|-
|-
| Друк
| Друк
| Формування PDF-актів і накладних через Stimulsoft або внутрішній механізм
| 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]]