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