Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/9180
Title: Програмне забезпечення контролю медичних препаратів аптеки
Authors: Рідкокаша, Анатолій Андрійович
Поляк, Анастасія Віталіївна
Issue Date: 17-Jun-2022
URI: https://er.chdtu.edu.ua/handle/ChSTU/9180
Appears in Collections:121 Інженерія програмного забезпечення (Інженерія програмного забезпечення)



Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
/411 ІІСТ1УСТВО ОСВІТИ І І І Л УКИ УКРЛЇІ І И 
ЧЕР1, СЬК1 ІЙ ЛЕР)КЛВ І ІИЙ ТЕХ ! ІОJ ІОПЧІ ІИЙ У І ІІ ВІ ·:РСИТЕТ 
Ф:жу.11 ьтст і11формtщіі111 11 х тсх 11шю 1 ·ій і си стем 
К~фел,ра програмного забез11 счення автомати3овш-1 их систем 
Поясн1овальна записка 
до юзаліфіющійної роботи бакалавра 
спсніал іст з напряму підготовки 12 1 «Інженерія програмного забезпечення » 
(ос11і ·1111,о-~оа.11 іфі~;щіі11111іі рі11с1 11 ,) 
на тему: 
ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ КОНТРОЛІ-О МЕДИЧНИХ ПРЕПАРАТІВ 
АПТЕКИ 
Виконала : студентка 4 курсу, гру11и ПЗС-1 944 
Спеціальності: 
«Інженерія програмного забез 11ечення» 
(ш11фр і 11а111а 11;111р,шу 11і;11 ,11ш1~11 ) 
Сту дент_ ___~ І_l_о-л-,-_я-к,-_А_. В_·~-~-
< 11рі ·111ІІЩ~ l, l l l lllll.l: 111) 
Керівник ___ _Р~ ід~к-',о-_к_,а_11_ш_А_.-л,-.,...~~---
< 11р і ·щ11щс т,1 і11і11 1а.1 1 1 ) 
Рецензент 
-----(-11-р-,Ї-'_ШІ_ІІ І-Іt'_І!_І 1-І-І:Ї--ІІ:і,-l І І І ) 
Черкаси 2022 року 
ФІІf),\/(1 JVil .V-IJ.0/ 
Чс..'р":Н.' 1> 1~1111 1't'ржа~ш11іі ТСХ ІІО.JІОІ 'і'ІІІІІіі уніосрситст 
Ф:н,~ .111,l\.'І' і11_ф_~~-]):\ І:Щііі 1111:-.: І'С:\ІІШЮ І 'Ї і і і С ІІ СІ'\.;~1 . _ 
( ІІС'ІІІШ 111111111) 
1<:н/11.' ·1р:1 !!JЮГ ЮМІН)\ 'О '{:t(k·11 1 c•1c1 1ш1 :ІВТО~1 ,її1\ 'ЮВШ І\І Х СІ1 СТС~І ---- --
( ІІtНІ ІІ ;t 1111 НtІІ) 
Н:н1рЯ!\І пі:тпонкt\ ІІІ ЖЕІІІ:J>І Я 111'()\ '\>ЛМ І 1()1 '() JЛ \j l ;] I IE1IEI II І > І 
( І(ЩІ . 111111111) 
Спt:ні:1.111,н і сть 12 І «І І ІЖL::11 І:\> \ >І Іl\>0I 'РЛ~ 11I0I ·u зл 1, I.::з I \ ЕЧ ЕІ II І Я » 
( І<ОJІ . ЩІІІІа) ----- ----
t:J1h1///J/ ЗЛТВСРf])КУІО: 
Зав. 1~~ерnу11і11ський С.М. 
"-{,lf:_" ~L 2022 р. 
ЗАВДАННЯ 
11а н:валіфік:щШ,юї роботи б:ш:1л:шра 
" Бакалаuр " 
( 11:нва рі11ш1) 
студенту Поляк Анастасії Віталіївні 
(11різ 1111щ~. і~1·я. 110 (іат,,коні) 
І. Тема проекту (роботи) Програмне забезпечення контролю медичних препаратів 
аптеки 
затвердже11а наказом по уніnерситету під "_ I_0_ "_,.c0.._4_ __ 2.Q_p. No-0=2=/.. .0..' --I'-_ __  
2. Термін з.J.ачі студентом закі11че11ого проекту (роботи) "22" 06 2022 р. 
3. Вихідні .J.ані .J.O нроекту (роботи); _________________________  
0ПЕРАШЙНА СИСТЕМА - M ІCROSOFТ \1/1 '00\~' S ХР/ 1 0. 
(ІJІІJІЮ'І(ІІО/1/І,('}/ кін,кіс11і аби (111а) НІ-:іс11і І/()J.:(ІЗІІ/11,їІ. і/К/1,\1 1/{}(Jl{{l(!{I aiд11ou·iom1111 об ·rю11 11/ЮІ!КІІІ}'G({ІІІІJІ 
ІІ01'І,0(JІ),'0 r)ос.'1ід.11rІ!ІІІІJІ} 
4. Зміст ро-зрахункоио-1юяс11юиш1ь1юї -записки (11срел ік питань. що їх 11ш1еж1пь розробит11 ) 
1 .Опис напряму досл ідження 
2.Аналіз існvючих ана югів - --------------------------
3. Структура бази даних ------------------- ----------
4. 0 ІJ И С інтерфейсу користувача 
5.Висновки 
б.Додатки 
5. Іlерелік графічно1 ·0 матеріапу (з 1110 111mл 1 зазlІачеlІlІЯ. 11 обов 'яJковuх кресле11ь. 
п.1шштів) 
РИСУНОК Г. J ГОJЮІЗ/ І Л СТОРІ ! І КА. 
РИСУJЮК Г.2 J JOCTA I ЮІЗКА ЗЛДА ЧІ . 
РИСУJІОК Г.3 11 РОІ РЛМ І II Л ІІ Л JЮГИ . 
= 
РІ ІСУІЮІ< 1' .4 (.)111 ІС СІ ІС І'І ·ї\/411 . 
Ка.11с11;щр1111й 11шш 
(11рі · 1 н11111,·. і 11і11іа.111 ) 
.N~ Н:нн:1 1.:т:шів внпусh'ної магістерської Строк виконання етап 1в 
3 П роботи проекту (роботи) При мі~-~~ 
І Поппивч.-1 ст-сия ІJ/.:-ї'ЕСЕ!ІЬ B111(0 111,,,u 
І.І 17 <) ( 'Т..J Н< mл.:..J 3АЛА ЧІ ІJІ:-РЕСЕІ-ІЬ ВИ/(0111, , 
l (J 
1.~ 171.]ГОТОВА.:..J З.-1 /U.-11-fІ-ІЯ ІJЕРЕСЕНЬ ВИІ(о111,f1 
(J 
1.3 ПОГОJ.ЖЕ!і!-ІЯ 1.4ВД.4ННЯ ЖОВТЕНЬ Bi1І(0111,ffu 
1.4 З.-1ТВЕТ',].ЖЕННЯ З.4ВЛ4ННЯ ЖОВТЕНЬ Bi1KOJ-tA110 
- Основн.--1 сr-1.11я ЖОВТЕНЬ B!1J(Of-!Afl 
(, 
~-1 ПОБІР ЛL4ТЕР!.4ЛІВ ЛИСТОПАД ВИІ<ОІ-!Аf!с 
АН. . ./. 113 ШТJЯХ!В РІШЕННЯ ПОСТАВЛЕНОЇ 
) 7 
-·- 3.../_J....JЧJ ЛИСТОПАД В l1/{Of-!AfJ( 
0ФОРМТJЕННЯ ПЕРВІСНО/РЕДАКЦІЇ 
2.3 РОБОТИ СJЧЕНЬ ВИКОНАf!( 
з ]АА~7ЮЧJіА СТАДІЯ СІЧЕНЬ В11кон11н1 
0ФОР.\1.7ЕННЯ ПОЯСНІОВАЛЬНОі 
З.І ЗАПІ1СК11 РОБОТИ БЕРЕЗЕНЬ ВИІ<ОНАН1 
В КJНЦЕВІЙ РЕДАКЦІі -
!{В/ТЕНЬ 
3.2 ]АТВЕРJЖЬ1fНЯРОБОТИ ТРАВЕНЬ Виконлн 
З.З Pt"JJEHЛ 'ВАННЯ РОБОТИ ТРАВЕНЬ ВИКОНАН 
Студент-дипломник 
Поляк А.В . 
(1 1рі .нтще 1а інініа.111) ( 11і:1111н.:) 
Керівник проекту 
Рідкокаша А.А . 
(11ріш11ІІІL Іа і11і11іи. 111) 
( 111,'\ІІІІС) 
= 
'J 1ІСТ 
( '1111 ()1" 1"()Р()1І Е 11 1> .......................................... ... ....................... 5 
lJ 1') ·11 ...... . ............................. .. ..... ....... . .... .... .... .. ...... ... ........... ..... 6 
1 по ТАНОВКА З ;,лч111O СТВОРІ~ІІІО СИСТ І~МИ . .......... ...... ...... . 6 
1.1 .'\11а.1і з прс;1:-.1ст1юї 06.11ас 1· і .... .. ... .............. ....... ........................... ...... . R 
1. . 2 Oпttc а11:1.1t11 ·ін ........... .......... ... .. .... ... . ........... . ... . . .. .. ..... .. ......... . ....... 14 
13 1lоста1юв1'а з:1Jt1Pti . . .. .... . ...... . ..... ... ... . . ...... . ...... . ....... .. .. . .. .................2 2 
2 ВИБІР ЗАСОБІВ РЕАЛ ІЗАЦІ Ї . .. .. . .. . . . . . . . .. ....... . . . . .. . .. ............... . . .. .. .. . 24 
.:2.1 1ова програмув.11-1 1 1я .... . ............................................ .. ....... ............ 24 
1 
'"> С срс,1,ов11щс розробки .... . ........... .. .. .. ... .. . ... ... ... ........................... ..... 25 
2.3 оо·с1'ТtІО-рс.1я ціН 1 1с в ідображс11ш1(ОRМ) · ·· ········· · · · ... ... . ....................... 29 
2.4 В11бір тс:'\1-1і ч11н х засоб і в ...................... .. .......... .. ........... .. ....... ....... .. .. 40 
3 оnис РОЗРОБЛЕНОЇ СИСТЕМИ .... .... .. . ... . ......... . . .. .. .. . .. .. ..... .. .... ... 42 
3.] Рса.,ізаuія с11стсм11 ................ .. .. . ... . ......... . ............... .. .... . .. . ............ .42 
3.2 За1·альн а структура с11стсм 11 ................ .. ... .. .... . ...... .. ........................ .48 
3.3 Ог.,я.:..~. робої 11 снстс 111 ............ .. ....... .. .................... .. ..... .... .. .. .. . . .. ..... 49 
Bl1CHOBI( J1 ... . . .. . . . . . . .... .... . . . . . . . . .. . .. ......... . .. . .. . . . . ..... ... .. .. . ..... ... . ... .. .. .. 51 
СЛИСОК ВИКОРИСТАНИХ Д)КЕРЕЛ .. . .. .. . .. . ... . .. . .... ..... . .... .. . ... ... ........ 52 
ДОДА ТОІ( А ..... . . . .. .. . ... .. . ... . . . . ...... . . .... ... ... ... . . . ... . . ... . . ..... . .. ... . . . .............5 3 
ДОДА T()J( Б ......... .... ......... .. ....... . . .. . . . .. . . . . . . ...... . . .. .. . . .. . .. . ... .... ... .... ..... 56 
ДОДА'fОJ( J~ .. .. ........ .... . . .. .... .. . ..... .. ... ..... . . . ... . . . .. . .... . . . .. .. . . . ... . ... . .. . .. . .. 74 
ДОДА'fОJ( Г ...... ...... . . . ... .. .... .... ...... .. .... .. . . . .. .... .. .. .. . . . ............ .. .. .. .. ... . SU 
Зм. Лист Nодокvмента ГІІІJГІИС да1а ЧЛTY.? ?J9fi7.CIOR П :З 
Розооб. Поляк А.В. Програмне забезпечення t<о нтролю Лі1 . І л ,кт І л,ктів 
Кео,вник РщкокаwJ А./,. медичних препаратів аnтени І І І з І 
ФІТІС гр . ПЗС- 1944 
Н .конто. ПtO(ttS O І,. 
Затв. l<?рLуНІЩ.І.,І01'1 ( f .,1 -dl/4 ~.// (Пояснювальна за писна ) 
rµ 
( JІІІ ('()І ' ('І 'ОРО'І І•' Н І 
1 1' 
1~, Н 
11 • І11ф,)\"\І;11tі1111і Іt''\ІН' Ю1 Ї1 : 
\ )\ _1 1..Yt І\'І,111\Ч),1 І т,1рр111р : 
t 1' t l()t І 1' І , , 11і1,:1 1 11,1111іі к 11011: 
,~ '1 - ,~:) ~.) ·1.1111, , : 
l .... h°1"> 1 - '11 1.'. 1·1..-,1:1 "СР: н:11111я 6:паі\111 1н1 1111 х~ 
llh" - lkp,:oнa. 11,1111,'i І\О:\111·югср; 
Hl !\ 11 - \11...ч~а, іпсрт~1'стової розм іп 11 
с.~ ..~  -с~1~ 1..':'11..іі11~ St: Jc , І1сеt s(Кас 1шд11і табJІІІІtі С'І 1111 і н): 
ЧДТУ.22 1 967 .008 ІІ З 
ВСТУП 
HR сьогол.нішній дс1 11, сучасне спри йня·,тя І нтер11ету су'rvгєво змінилося з 
мо 1снту розвитку і 11формаuі йних технологі й . Розвиток всесвітньої мережі 
Інтернет зазнав серйозних зм ін сьогодн і , що, в свою чергу, дає можлив1 сть 
виробити при 1-щипооо нов і ідеї 11ро 11-пернет-технолоrії та їх застосування . 
. . 
U І вил.кий розвиток веб-інформаці йного середовища призвш до 1 стотних 
зм 1н вимог л.о веб-додаткі в. Зокрема, і снує тенденці я до створення широких 
веб-додатків, тобто програм, і нтерфейс яких пропонує функції, що не 
вщр1зняються від функці й звичайно го додатку для настіл ьної системи. Однак 
якщо ви використовуєте додатки , як, п ідтримують мережеву взаємодію, 
усунути затримку відповіді , пов'язану з передачею даних через Інтернет, 
принципово неможливо. 
І нформація в ід і грає дуже важливу роль у нашому житті . З розвитком 
науково-технічного прогресу інформаці я збільшується. Поя ва персо11 альних 
' . - . 
комп ютерш створила вели к1 можливос1 1 для створен ня та ви користання 
різ110.ма ніт11их автоматизовани х інфорІ\ 1 ацій н их систем. Ці систем и вар і юються 
ВІД простих інформаці йних систем )lO складн их автоматизова~ , и х 
інформаці йних систем , що 11-1теrрують велик і ба3и даних. Просто неможли во 
уявити діяльність багатьох компан ій, ор1·ан і 1а uій , ком пан і й та уста 11 ов без 
зберсжен11я і нформації. І нформац і йні с11с1ем11 ІЗСС частіше використовуються 
для обробки та збер і rа н11.я і нформа нії. обов'язковою складовою якої були 
ком11'ютер11і бази дани х. Вони дозволяють зруч 110 збер і гати та обробляти 
і11форІ\1ацію. 
З розвитком мережев11х техноло 1 · і1ї тn І11тернету зараз виникас потреба 
швидко та конфіденційно обмінювап,ся і11форІ\ 1 аuією. що зберігається в базах 
да 1111 х. Оскі.1 1 ьки І нтернет став нсвід'смною част11ною )киття більшості :~юдей . 
.• 1 юдн 1ючали заробляти гроші в І11тср11сті, за;,,ювляюч11 та купуючи продукти , 
Ш) каючи потрібну інформnцію, спілк) юч11сь з і1-1ш11.'-111 , тестуючи або прос-rо 
розв~жшочис1,. Потрібно створ11т11 nporpa\111. які працюють з база.'-ІИ даних та в 
\ІС-рсжі. Ці додатки, або зnrалоІ\1 їх 11 ,н11вJю I ь веб-додатками, стали дуже 
6 
•І ) lTY.22 1 9(>7 .00R 113 
актуа.11ьн11м 1 1. оск1ль101 1ю1111 11 с 11рн в'я-зс111і до робочого м1сця користувача або 
л.о 11~н1юї 011~1хщійної системи і всі л.а ні -зберігаються 11 а сервері. 
Існує необхідність у системі бухгалтерського обліку, яка дозволяє швидко 
та зручно роз ~іщуІЗати замо1Злсн11я в бую,-який час та в будь-якому м і сці та 
віл.ображати л іки на склалі . 
З метою задоІЗолення цих nимоr розробляється веб-додаток, з яким 
користувач юже праuюІЗати з додатком незалежно в~д м1сuя та часу доби. 
Додаток л.оступний на телефон і , планшеті та 1 ншнх пристроях, яю мають 
доступ до Інтернету та встановлений браузер. 
За допомогою програми користувач може працювати 1 з зручним та 
інтуїтивно зрозум ілим інтерфейсом, у якому бізнес-логіка та обробка даних 
покладаються на сервер. Реляці йна база даних несе відповідальність за 
отримання всіх відповідних даних для програми. 
7 
1 І ) tІ ' . ~2 19() 7.ООН ІП 
PO'J)\1.JI І 
I1остл11овI ·л ]Л)tЛЧІ 110 СТВОРІ':III0 СИСТЕМИ 
І . І Лн:1.11із 11JH'J\ 1ст1юї об.,~асті 
А11тсчні "о шанії похо;щ1111 ·з лав11і х 1<раї11 (Китай , Сrи11ст, Інлія , Гренія , 
Р11 1). 
В Свропі історія аптс1<11 1юхол~пь і з "Салс 11тського сликту" імператора 
Фрідрі:\а Il ( І ~41 ). в якому пін ·заклав у 101111 для отрима1111я 1ва 11ня фармаuевта 
та лікаря . останнм) 1у заборонс110 володіт11 аптс1<ою або оперувати. Плата за 
лі карів була записана в едикт. У XIV ст. У містах і снували аптечні майстерні , 
які мзли право виготовляти та продавати л ікарські рослини з лікарських рослин 
у своїх виробничих приміщеннях (лат.: Медицина). Найдавніша в Європі аптека 
відома з документа 1241 року. У м істі Трір 'її розмістили на ринковій площі. 
Францисканський монастир у Дубровнику керував аптекою з 13 17 р. Аптека 
Тал.1іннської ратуші також відома як найстаріша в Європі (до 1422 р.). 
Першим провізором у Лемберз і був німецький Клеменс ( 1392-1400); 
Василь Русин заснував одну з перших аптек м іста в 1445 році та наприкінці 16 
сто:~іття . Тут була аптека на 15 людей. У Речі Посполитій у другій половині І 7 
ст. Аптеки були у Кам'янці-Подільському, Луцьку, Кременці , Вінниці , Корсуні , 
Богуславі, Уман і , Житомирі та 8 у Львові. Найстаріша аптека в Україні "Під 
чорним орлом " ді є у Львові з І 775 р. Має статус аптечного музею з 60-х років. 
У 1581 році при королівському дворі в Московському королівстві була 
створена перша аптека (це була єдина аптека в корол і встві до 18 століn·я). 
Перша «Школа лікарів» була відкрита в 1654 р. Сам аптечний наказ був 
заснований близько 1581 року . 
Перший А. був відкритий у Києві в 171 5 poui. 
До )Ковтневої революції Україна в основному була приватною аптекою, 
1цо 1юс1 а чаJJася переважно з-за кордону. З 19 19 р. В СРСР було націоналізовано 
20 аптек. 
Основн і функції аптеки: І . Н ада 1111 }1 11 св і ,11. 1с1 1 rщ1 юї r-. 1ед11чної доПО!\ІОГи 
11а<.:(?JJ(:11ню; 2. Поширення rіrі сніч11их зш11 1 1, ccpeJt 11,1 сс.1 1 с 11ш1; З. Проведення 
8 
інфор 1:1 1tіі1 1юї ро6от1, 'CpC)t М~)tІІЧІІІ І Х 11р..11 tів11и 1< іІ3 та фарма~tСІJТЇ ІЗ. 
•):1 рок1 1 \ :1N1 11 с 1>1,ої ш1 :1л11 мережа Л . в У1<раї11і ро·1 111ириш1сs1 (з І 067 а rrтск 
у І 9 І _) р. Ло 24 І 9 , І 94 1 р .). Оюючас110 була створс 11а 11отуж11 а мсдич11а галузь. 
lliд ч:1с т11мч:1сової <.жупації Украї11и 11іл час 11 і мсць1<0-раю111с 1>ко'~' війrrи 
гіт.11срів1tі з11нщ11т1 1807 аптек та 1а~щш1и 1бит1<іо 11 а 290 м іл ьйо 11і в рубл ів . У 
по1юснні І О1'Н кіл ькі сть Л. в РСР 11tоріч11 0 1б іл 1, 11 1у валася : у 1945 р . П раuювало 
18-В. І 955 р. - 2 ..: 49, І 958 р. - 007. 1958 я1< Л . В СРСР їх було 562, в СРСР Л. 
псребувас під головннм управл і11ня 1 фар 1 ації М . В . Здоров'я . 
До березня 20 15 року в Україн і було від1<рито понад 6000 аптек (у тому 
числі 1330 унікал 1>ннх ~ереж аптек) . 
Основна 1ста - своєчасно забезпечити високояюсну фармацевтичну 
підтримку населення відпов ідно до чинного законодавства та м 1жнародних 
стандартів належно·~ фармацевтично·~ пра 1<тики. 
Аптеки виконують такі функції : Вони виготовляють л і 1<арс ькі засоби 
відповідно до і ндив ідуаль 11 и х норм та вимог за клад і в охоро11и здоров 'я . 
Реалі зація населення та медичІJих установ, і нших організаці й та компан і й 
. . 
безрецептурІJ их ткарських засоб і в та медичних вироб і в ВІДПОВІДНО ДО 
нормативних законr в; Організа ція громадсько·~ меди ч1101 ОСВІТИ, 
фармацевтичної допомоги па ц1снтам та 11ада 1-111я інформаці й но·~ допомоги 
л і карням у фармаце13т11 •11 1 и х 111па~ 111 ях; Нада11ня першої допомоги та відпуск 
лікарських засобів та медичних вироб і в за прив ілейова11им и та безко111тов 11 ими 
рецептами. 
Відповідно до ре1 ш1ме 1пу Міністерства охорони здоров'я Укра·111и та 
вимог доз13ольн11 х умов аптека повинна займати і зольоване пр11 !\1іще 1111я з 
окремим входом та матн 11ев~ 1 е сконом іч11 е, технологіч11 с та інфор!\tаці й11с 
обладнання. повинні мати належн і умови для зберігання , ви1·отовле111 1я та 
продажу фармаuе1Зти 1 1н11х. 11арафар!\шцевт11 чн 11х та санітарних товарів . 
Аптека - це медични й зш<тщ, як11й працює за погодже 1-1 ня !\ 1 і ко 1 пролс!\1 
державних уста11 ов і ос1н)вн11!\1 зшздан 11 ям якого є забезпечення 11 nсслс11 11я, 
санаторіїв, л ікуваль11 0-1 1 рофі.1;1к 111•111 11 х, мел.11 ко-са 11ітарн11х за кладів, t:a11a 1ор1ю-
9 
Ч) ~Т .22 19(> 7.ООХ l l 'J 
к рортн11х. 11ауково- і\11;;\11ч1111х т:1 і1111111 х ·н11<;1а;tів охоро11и '3N>rюu ' я . «Я , 
компанії. у ·т:111ов11 т:1 ор1 ·:111і ·з:11tії, >ІІ<і 1ают1, ;1і1<арс1,1< і ·засоби н, мс;tи 1 111і •3асоби 
l3іл.,ювіJ\1ю J\O 1:1111:Р1с1юї :штска ви конус 11асту 1111і три ос11ов11і фу11кції: 
Фу111,1tія мс;\11ч1ю1 ·0 1ш<m:1;ty, а саме: 
над[Іння екстреної мс;\и 1 11юї ;ю110моги 11 аселе 1111ю ; 
роз110nсюджс1111 я 1- і1 ·іс11і 1 111их 311ai11, серед ш1селе1111я та здійснення 
сан ітарно-11росnіт11111 t1,1<ої роботи ; 
фармацеотнчнс постача11т1 ; 
проведення інфор ,1 а 1tій11ої роботи серед меличних та 
фар:-.1ацевтнчних фахівц і в. 
Ця функція юже включати ряд завдань, які виконують деяк~ аптеки, ЯКІ 
ще не широко використовуються , наприклад До них відносяться, наприклад, 
вимірювання тиску та температури людського орган ізму, проведення швидкого 
анаn1зу цукру для хворих на діабет, тестування на вагітність та надання 
лікува nьної аптеки. 
Заю'W! oXopoffн 
цорQе'!( 
:Внрооннч, Т~rівепьн1. 
Р11су1-1 ок 1.1 - Oc11 ou11i фу111щії с11пек 11 
2 Виробнича функція, а саме: 
виробництво фармацевтичних препараті в; 
викошшня лабораторних та пакувальних робіт; 
-закуп і вля ;1ікарської рослинної снров11н11 ; 
контроль якості пиробле11их л ікарськ11х зясоб ів. 
10 
. . 
Фарм;щ 'Н1'11'111Ї 11рс11 : 1р:п11 111111 )'( K,ll0'1'1 1l:}I 11 <.І ІІ ' І 'С І(а Х НІ /tІІОRІJІ.ІЮ /Ю 
МС)\НЧ111\Х рсI ·.1 1 : I ІС11 , · ін (t)~ ІІtШІІі рс1\СІ1Тур11) , 'Н\ М ОНJ І С ІІІ, у 11рофі JІ аt(' І И 1 ІfIИХ 
·ІС)\ІІЧНІІХ уст:нюн:1:-- (офі1\і1і1111 х рС1\СІ1'1'урнх ) J\J,fJJI C віл1юві; tІІО / 1,0 JJіІ<с.Іj1С І, І( ИХ 
·~:ко6іІ'. )\О'Ш~)Л l'lІІ\Х )\0 НІІКОр1н.:т:111m1 )\ію1 1н х рс1юви11 ПІ J\ОГІОМіЖІІИ Х J1ЄЧОВИІІ -~ 
урахуван11>11\1 11 11 ю1 · ) ~срж,ш110ї фармако11сї Украї11и та і11111і 1 rорматив110-пра rюві 
:1 КТ11 . Пp:Шl \ Jl :1 ф:1рм:1нс1п11 1 1110ї ТСХ І1 0J101'ії, ВІІ М ОІ 'И ) \О JІ і карс r"кого 'jасобу, його 
\ ' \1:1 Kt)8KII . ;-'1\Ю В11 '!6сріп.11111 я , ::І Т,'1<0Ж МСТО) \1 1 КОІІТрОJІІО якості л ікарСLКИХ 
·~:кобів . 
З Комср1\і і1на чн ко 1ср1\інн а фу11к1tія , а саме : 
прндбзння та 11р111їма ння МСJ\Икамс1пів та медич11их виробів; 
ретсльнні"і контроль якості JІікарських засобів; 
розміщення та зберігання лікарських засоб ів та медичних вироб і в; 
продаж наркотиків та медичних виробів населенню за готівку; 
рсал і заuія медичних та профілактичних засоб і в лля фармацевтичних 
та медичних виробів шляхом безготівкового розрахунку. 
В аптещ продаються JІ ікарськ і та фармацевтич ні засоби , медичн1 
препарати , косметика, харчові добавки , л ікувальна мінеральна вода та оптика . 
Аптечна н:ласифін:ація 
Аптеки можна класифікувати за ти 1юм власностt , ринковою особою 
материнської компанії та при1~ал еж11істю відділу . 
Зважаючи на те, що зако11одавство в Україні затвердило чотири основн1 
форми власності (державну , муніципал ьну , колективну та приватну), а 1 пеки 
можуть виступати як такі або створені ком панії такого типу: 
І 1 1риватна аптека, 1цо базусться на власності людини. 
2 форма колективної власності у ви rляді : 
колективне товариство, засноване на власностt колективної 11 рац 1 
тдприсмства; 
комерці й н е товариство (пере важно товариства з обмеженою 
відповідаJІ ь 11істю і в ме11 ші н м і р і акціонерні товариства) ; 
компані я , я ка наJ IсжI11 I, I ·роІ\1щ ~с I,кому об'єдн анню. 
І І 
J мун1н1111:1.111,11 :1 :111 І\; І :1 , І1Ю 6:пу('ТІ,С)І ІН1 ШІ::І ~ІІОСТі ВЇJ l І /ОВЇJtІІОЇ , ·гюм,щи 
об.пасті . 
-----Кn-вс-нфіtсаuі.я мп Є3С r-----rr<===----
~n формою DЛt\СКОС:ТІ Зt,. ринковою Л3.~овіотю 
фірми-~аСНОІ!ІНЮа. 
,-----.-,----~--- 
За ВЇдСМЧОЮ ИОЛСЖНЇС'ІЮ 
штrеки іюші:х міністерсn 
апт~ю-1 І\-:rоз У-кра'іни 
і відомств 
Рисунок 1.2 - Принципи класифікації аптек 
Незалежно ВІД форми власност1 , комерційні компаш1 здійснюють 
роздрібний продаж лікарських засобів, які потребують л іценз ії на даний вид 
господарської діяльності, за умови дотримання кваліфікаці йних, орган ізаці йних 
та 1нших правових вимог. 
Аптеки будь-якого типу власност1 можуть за контрактом 
використовувати відомий бренд, а пот1м ·ix називають л іцензіатами аптек. 
А1пеки в р1зних регіонах кра·1ни діють пщ торговою маркою угорського 
х 1 м 1 чноrо заводу "G i deoп Ricl1teг" , словацькоУ коІ\ша 111 1 "Slo,1akopl1aпna" та 
польсLкого акціон ерно1'0 товариства "Polfa''. 
І І і сля 111 JJ.J<J1JOчeння до материнської ко І\ 1ш11111 )lO 111111ку є аптеки, 
організошш і ком 11 а н15-1ми , діяльн ість яких спрЯ І\ІОВШ 1 <1 .1 1 11 111 е нn роздрібний 
12 
'ІДІ\ ?219(,7.00R ІІ'J 
І1J)ОДНЖ фЩ :i.ta1t<.'HIHЧHlt . ІІр'ІІЩ)НІІВ, 11111 'J(JI '3 ОІІJОІНІХ 'ІН 11rомИ<.,JІОНИХ 
фа1 \tацсв1нч1111 11рс11ара1ін (фір юні 11111 'І<Іf), Тшсі ш1роб11и 1 1і І(ом11ш1ії, як 
<);ор11щ1 івс1,ю1t1 ) H·Z , < Фарм:ш». «Іr11їв 1с1111р~11ар,11», «Луб11іфарм» ·1011ю. н 
1ак(,ж ()111()Ні ко:\111анії - « \111с1ш Еіоко11>> «І~сдсон Ріх1ср-Укрфарм» н, <<( JJ; 
Фз1 мr-щі t > нідкршш оласні .111 гсю1 {усі - Кнїв) та і11111і. 
злсж1ю від 11ід11орядкова1юс1 і відоJ\tс I в ш1, сю1 можу r ,, нерсбувю и ш;1 
кон1роЛ1..1\ \І 1:1істсрс1ва 0:-..01101111 здоров'я Украї11и, Мі11іс1срс·rва оборони 
~ краУни та ш11ш мі ніс I ерств га відомс·1 в. Віііськові шпсю1 11с нrюлшон, ліки, 
зле 1абс-шсчуюп ї, 1 ід110ві '\ІІІІ 1 1ю1111111r ст ом на~~і с,п ів ·3а рахунок виділеноrо 
бюджет,.,  . 
Ор1·а11ізаціііні НШ\ЮПІ до ан I сч1юї діs1л ь1-1ос'І і 
Усі аптеки, нс·з.злсж1ю від власності та пщпорядкування, повиню мати 
державну фармакопею України, офі ці йн і документи про приймання, 
виготовлення, контроль якості, зберігання та замовлення відпуску л і карських 
засобів, а також аптечний паспорт та паспорти окремих структурних одиниці 
(за наявності). 
Аптека повинна пропонува~ и: 
наявність лікарських засобів 1з обов'язкового асортименту, а також 
шкарських засоб ів та медичних виробів для надання дол ікарської 
допомоги; 
дотримання законодавчих вимог аптечної бази та 11 структурних 
шдрозщшв; 
дотримання вимог закошв та правил щодо якосп шкарськ11х засобів 
лід час їх виготов11ення, ·3беріпнтя, контролю якості та доставки~ 
до1римання специфічних ВИІ\ЮІ законодавства щодо продажу та 
розповсюдження наркОТІІЧІ/ІfХ та психотропних препарапв, 
нрекурсорів, імунобіоло, ічних препаратів, а також препаратів кроні 1а 
нлазми ·,а рапіолш іч11их 11ре11арзтів; 
. . . . 
до·1римання СКОЛОГІЧШfХ, 111 ІСІІІЧІІІІХ та ППСНІЧНИХ нор,1, а також 
нравил ·3бері1 ання, вш 01<ш 1с11ш1 1:111родюк) лікарських засобів, а 
13 
т:н,о)\\ охоронн 11р:, ні т: 1 111ю · 1 ·111южсж1101 ·0 · 111 х 1-1 <,;ту; 
6с·~умон1t l' lt111( ()11 :\t 11t )I 1 1 11ю1 ·~ ів (ІІШЮЖСІІІ, ) ор, ·ш ,ами J(С\'JЖШІІІО / () 
t,()111'110.1 1ю Щ()Jt() ·~.16ор01111 (11ри11н11с1111 }1 ), лосташси , 11ролюку 1 1і кщ1с1JІСИХ 
·{:)L'О6ін, ~11-:і 11с віюн.т і; ~:11от1, в11мо1 ·а м 1юрматив11и х JЮІСумс,пів; 
н:,ят1іст1) і11форм:11 ~ії 11 ро: 
шщ т:J сфер:, 11ослу 1 · І\•І СJ\ІІЧІІОЇ ; ~011о мо1·и ; 
л.ст:1лі п1хнз1 1.11 пост:1 1 1 ::1 111, я 1 1ікарс 1,ких '{асоб ін; 
::~л.рссу ко 111анії та 11омер те1 1 сфо 11у ; 
зл.рсса та номер телефону лі1\снз і й 11ого op1·ai-1y та орган , в , як1 
гарантують державний 1<онтрол ь за я1<істю 11ікарських засобів та 
захист прав спожи вачів; 
інформація про книгу оглядів та пропозицій. 
На фасаді аптеки має бути прикр1плена етикетка з назвою, 
найменуванням бізн ес-підрозділу або власника або уповноваженого 11им и 
органу . На вході в аптеку ви знайдете інформацію про те, як вона працює, 
адресу найближчої та найближчої аптеки . 
У разі планового закриття аптеки (для проведення ппє1-11чних заход1 в, 
ремонту, техн1чних модифікацій тощо) на строк біл ьше 30 дні в, підрозділ 
повинен повщомити орга н 11іцензування письмово про ui зм і 11и , але не п і зніше 
протягом 5 дн і в . інформувати громадян про це, надаючи і 1-1форма 1 \ію про те, як 
. . 
праuюс повщомлення про дату та перюд закриття. 
Антечні 1сімнати та їх обладнання 
. . 
Аптека 1юви1та знаходитися в окремому вrдокрем.1 1 е 11ому 11рим 1щенн 1 
першому поверс1. 
1.2 Онис 11ро 1 рам 1н1х аналогів 
ANR РІ1аппасу апd РІ1аппасу Р І1а11пасу вважают1"ся аш1ло 1 ·ом цього 
програмно1 ·0 11родукту, ·1 ому користувачі можуть робити замовле 1 1 11я та вести 
облік лікарс 1) 1, их засобів. 
Апте 1-ша с11с·1 см;;.~ ЛN І<. (Асоціація незалежних розроr-5 1 111к і в , К11їu) служить 
14 
ЧЛТ .22 І 9(} 7.ООН І П 
,. М 1-1+ М· ,, 
€ і І І:: ~' 
•\ "'- 1:'\ ~ , ,. 
- о х 
1 , .. 
І 
І 
._ U~{0.1134&; 't' ~nlAmtn. "100% ~a~te" 1ro,111 Зма ~ J.Н дС 20¼ 
" U\M~IO 1''~peмolцenut'1001~a""O'li!lltn 1"' ~ __ _шrІ І Бєз НДС 
Uд-0001~ дсn~т~t«tтtсr1пель Noviitex j . _ ,w_r __Н д_С20_%. 
UMI0134ffi дд Ша:<ПJt> Матоюе моІКІ'f(о ЕІ 1м~ма Г І \ш1r1  НдС 20% 
=-=- UA-00013461 І дд ШmJНЬ ~льт Зешм~1,1;,;~ :rо~л ЗrьФа ____' ____.. ..__ НДС 20¼ 
1 
- UAffi113462 дд Ша:,~ МяrамеrьАІ~~,н волос mм 3JЬфа шr НДС 20% 
- -UA-OOJ13463 дд Шait11JJiЬX!io,proi<1al,'4111J1/o~~ ~-лос DL Зма r;- lН ДС 20¼ 
1- ~3572 І Кремр1нt!ЮІ'~ -- _k_~ wr 1 НдС20% 
- UA-OJJ13851 НОЖЮІЦЬІ ЗоlОЧt~ ДЩК!Іе tlovcilex J wr НДС 20% 
+- ------:---
~--U-A-[)1-}13-845 -..-o.x.-na~ з~ коІЬЦо ГІІа1\Кое -~Novcilex --~І_ .;.. ___шr__ ,_нд_С_20%. --
..__-U_A_·O_OJ138_46_~_0Кllof~  кольцо с P','«Oit j lloviitё:_ _ -1-г__,__ _. ..ш_r -1-Н_дС_20_%. __ 
__-_ Uд_·О_ОJ1 35_71 ___Печ ень_1ще nетское Хаі~ j\11 -І нд,с;-m -
=- UA·OOJ135&1 Со!\ я6n.11з зеn. я6оок 2001м 1Сё .аь~ ПІ,'4!ДОІіt>Я 
----+------ - IJ1 НДС20% 
- UA.OOJ13847 щ,-1а,1tтрдnя Во!-~ "Де~1111" //Qvo'ex шr НДС 20% 
~ - ---+--'-
- UA·OC013573 І Шаи11. 11гель/дІJJJ6а116,мв na~a,2001'!__, Bu!clien ---'---- ...ш._ r ___Нд _С2_0¼•  _ 
1 
,_ - UP.-OOJ1-3575- - Ша:.n II гель/д't,!J ябШ\о 200 мл Вu!шп I wr НДС №. 
- UA-OJJ1 Ш4 "СМ" Нщ N:1 Г erь·w~~д/вoJIOCщre:~.fu;,-.єp 3,ь'іа wт НДС 20% 
-----,.-
- Uд-00013795 ''Соо rnen" Гель для д't,!Ja Мм Зrь•N I wr ~С 20% 
~ ~~--~ 1 
- ..,...U._A-_ooJ13_7$_ __T_ oo_ ~__ -n'_'Ге _ІІЬ_111ё_J•,~_д~ 6ОJ1ОС 1щ11а Мм }ма wr НДС №. 
I 
- UАШ13640 Тоо rr1t11"К рб/~ оос11с бr,,пья Мя.rк1t·1 ч•оо 1~111 Зма wr НДС20% 
U-A-ro.1-136-41 -- ''Соо mєn" Крем-ба~щ дІЬ1 тr.ia ~t1 Зм.; 
-2.00-J -І1І-і НДС 20% 
- UA-(0013797 ''СосІmєn"Ша:ю.JНЬд/єоюсш1.н e.11icrю~ 25 ... Зма 1.00J шr НДС 20% 
--,--
--т ----
- UA-00013798 ''Соо ІПРJl°' Шаr"'1,'НЬ д/волос прот11в Пfp r.0111250 " ЗnьІІJа 2,00J UII НДС 20% 
UА-ООШ375 "!kmaj11" Мсrд -ПИЛИНГ Ю- З(іjФа 1О )) І1Іі нпс;m 
Рисунок 1.3 - Гшюв11L' вікно <.: II стеІ\I11 А НР-Аптека 
15 
ЧЛТ .22 1t )(17.00X І П 
для а131'0Ма1'1ла1tії \) )Jtit<y ІІJЮ) \,1Жін у 1ю·щрі611н х І<ОМ ІІ tНІінх МСJ\И'ІІІИХ 11rс 11нраті н 
(н -1111\~~:,х. а11тс1,:1х. :111тс1<:1 х) )tІ< в 01<1к~м ііі 011тс1\і , так і 11 ::111тс 1111ій мережі. 
П1нщ:1ж ЩЮJ\)' І(ції с 'J:нюру1сою рс11табе.1 11,1юсті 
Оl'н~шні 6ух 1 ·:1.11тсрс 1,1 і 011с1хщії юн1 бую,-}ІІ<ої r<0м 11а11ії - отrимаr 111 я та 
лост:1н~а тон:1рін. Л.11я :11псч1юго 6i·J11ecy r ·шrошюю умовою успішної 
~1ВТО\\t.1Т11 :~:11~ії r всл.сння 1юху11ку 1 о;\11і сю сторо11ою 13 розлрібній мережі . J le 
л.озв~)ЛЯЕ' н~, 1 -,~бс:.тсчувати гнучк і 1tі11и та зниж r<и (включаючи постачал ьІІикіR, 
,ї,юв11 дост::tвкн. гру11 11 тов3рів, ссзо11ні сть тощо), 11справит"1-1ий ко11троль 
п:-:1ртії, врахування сертифікатів якості та багато і1-11.11их rre менш важливих 
особл 11 востей. 
Основна мста бі знесу для аптеки , як і будь-якої роздрібної компанії, -
прибуток збільшення продажів. Як щ завдання вир1шуються в цій 
конфігурації? 
Основна мета бізнесу для аптеки, як і будь-якої роздрібної компан1 1 , -
прибуток збільшення продажів. Як ц1 завдання вир1шуються в ці й 
конфігурації? Продаж товару починається з моменту надходження на склад 
торговельного підприємства . За допомогою аптечної програми ANR це можна 
зробити швидко. Коли товар прибуває, електронний рахунок-фактура, який 
надходить на базу програми, бронюється та оцінюється майже миттєво 
протягом деюлькох секунд. Це лри тому, що рахунок-фактура може м істити 
. . 
сотю предметш. 
Успішно вир1шується в цьому програмному продукт~ проблема 
ціноутворення, особливо враховуючи наявність тисяч товарі в, що продаються в 
аптеці. Для цього він має спеціальний модуль, що забезпечує автоматичне 
ціноутворення. Інформація про постачальниюв, м 1сце розташування аптек, 
групи товарів та цінові групи , прайс-листи виробників товар і в, умови доставки 
(авансовий платі:,к, ll ідстрочка тощо), рекламні товари заносяться в каталоги. 
Ціна на кожен вид тоnару 1ютім автоматично розраховуєтьс}І при видач~ 
рахунку-фактури . Дос-1 а вка рахункі в з центрального складу в ,ш ге 1ш також 
створюється ав·1ом t11 и ч1-ю . А1пе ці достатньо зробити заявку, n 11с11 ~с 11 · 1 р,1л 1, 11ому 
16 
- - -- --- --
- - ~ - - -~ - -
і..'Ю1а і 1У ,н,,1, \\\ І() 1 І, ІН\ І І І :.кпн II І \І ю ІОІІ І, 11 , 
Нн \t,'Ж('11..' н'-1.ш,щн1н \Ю)t.)'JІІ, 'іІІlОІ<ок. 11щG ;юшоm11 11 ·1ор1)'1НІrи 
111'-'"\)Н'І ШІ\'11 кар, J..:\\111 • ро дpi61t1t\1 \ЮД)'JІе 1 'і І{ОІІфі, урш1,і('tо ШІ І CIOf ЛNf{. 
Т"'1ю1:-.1 ЧШ·Ю\1 1,11 ,н,жс,'-' відс1сжува111 1ш1с1орії 1·л і('111ів , яr( і ма,011, дисконrні 
ІШЖК'('І}('І, lt\.'1\.':\13 -~6срі1·;н BLIO Ot) lll( OB)' інфЩJІ\НЩЇІО ДJІЯ КОЖІІОЇ 
ІШДЮН Ї ДИ\.'J..,щ1·1:ю· 1'..tp І 1'Н. кіm,кіс І І, ·ш~рІІСІ 11, ., а 'Щ І ПJІ 1,1, у суму ПОІ(уrrок, 
106лсннх зз неї. ll,,:-.,~p ди'-1'01111юї 1шр1ю1 ·tб~ріпн·г,,ся раюм і ·3 вашою 
інф1..)рМЗН1С'Ю про ПІ..'1') 11') \1..)\.'І) 11ні рі ті ·ші · 1 · 11 11ро 111хщюк )Іf!СКОІПІІИХ ІШfНОК. 
Програ ta ДО1ВОЛЖ НІ.. І,ШОВІП'ІІ ві \СОНЖ ЗІІІІЖОК ІІС 1 ільк11 на кількість покупок і 
категщ ію ка~ т ...1 . с · нз ві 1.сон.,к від тор1 оної ,1арю1, сформова,rої на товарі. 
Р('а.1і~ація беJ пе1>е1ю.111оні.1) 
У npo111a\1i. що звто:-,..1атиз) с ресстрац~ю в аптец,, пошук часто 
провод1 ьсq л1-~ше за назвою або штрих-кодом виробника. Користувачі таких 
програ!\ не южуть регулярно вести облік ліків. Це тому, що в реальному житті 
продавець а ... ек при зборі пачк11 товарів звсртас увагу .1ише на найменування 
та піну. а не на партію. Як відомо, це призводить до нового перекату з 1 сіма 
наслідка~ш - не~юж:швості контролювати термін придатності, несправної серії 
ТОЩО. 
В аптещ можна стежити за терм1но\1 зберігання шюв та вияв.1яти 
нссправвj серїїІ. Проблема перезавшпа:жен11я дуже важ,111ва для цих установ, і 
перезавантаження продуктів серіЯ\.1И особ.1иво актуально. Це то.:-.1у, що обробка 
штрих-коду виробника не вирішус 11роб.1е,1у. оскільк11 серія не визначає її. 
11рограма ANR Рhагтасу пропонує .:-.10:,кшш1с1 ь внкористання так званого 
внутр1шнього штрих-коду - автоJ\1атично1·0 створення ун1ка~1ьного код) для 
кожної партії товару. Таким чином, в11 мо:же ,·с ун111шут11 перерозподілу не ,шшс 
за назвою продуК'І )\ але і за ссріЯ\Ш. За доІІО\ІОІ ою програ\ш ви З!\ЮЖС ге в 
основному усуну1 и пробчсму 1 достав~,ою в ar11сці. 
АвJомати1ація апте•нюго обліку дu1юr-.1апн· 111в1щко п1 якісно покращ11т11 
обс,1уговування кліпп ів. І (с ,rолегшу< 1, ,ся 1ш1юр11с, ш1ш1,1 с11сціальш1, штрнх­
І<О1НВ )' про, рам! та МОл• ІИВІС'/ 10 11/RIIJll(Of СІ І ю111уку 'ШJ\11 ІІНОГО .111ЮІ. 
17 
Внкщщстоnустt>С>t tlpШ<Тt1'ttt1'1i І i ttтcpфc i,k, 'Jt1 )Щt/ОМОІ 'ОІО ЯІ(О f 'О мож11а ·тай'І И 
Зt)міну л іків. >ІІ<І 11:1ра ·{ і 11~) tOCT)' \111i ~•Go 1IOIOl'iat llBI SJl(ИX ІІ С пілхоюп,> для 
1311K{)j'\IICT:1HН>t '3;\ ЛОІЮМОІ 'ОЮ ІОЮІlt(И «Л11алог». Крім ТО І'О, ІЗИ можете швидко 
. .. . 
''11:1Ііп1 п1ютнпоказ~1н 11я JЩ 1101 -0 шшориста 11ня , а також 111струкц11 , lltO 
в11 воляться на скр:11-1 і. 11рн необх іJ1-1юсті , розлрукоrзуютr:.ся . 
Ллс ttc ще не все. ЛNН -Р11ап11асу 11 с 1 ·а і1 1ю ві1tрсагувш1а 11 а r юві тсн1tс11ції в 
розлрібніі1 торгівл і , також через І11тср1-1ст. Тут опроrзаюксна система 
автомати зо13а1-1ої лостаІЗкн товарів. Додаток, який виготонляєтr.,ся н іrrтернет­
аптеці або по телефону, оформлясться в програмі , яка автоматично формує 
супровщн1 л.окументи для кур'єра. Після завершення служби доставки І (і 
продаж~ реєструються у проrрамt та вказують на конкретний статус 
відповідного продажу. Це забезпечить подальший анал із в управл і11 ському 
обл іку. 
1-Це одна корисна особливість "ANR-Pl1aп11acy" - це взаємод1я з 1 
страховими компан іями , як і надають своїм клієнтам право купувати ліки в 
аптеці на основі пол і су. Як це відбувається? Страхова компан ія надсилає аптеці 
електронну претенз ію на л іки , необхідн і для лікування свого замовника і за які 
він готовий платити. Коли проводиться перевірка, продавень аптеки в програм і 
зазначає, до якої страхової компанії належить чек, і ціна на л ікарські препарати 
вже підпадає лід дію уrод і з страховою компані єю, перел і че1 10ю у програмі. 
Все, що вам потр ібно зробити , - це виставити рахунок на зведени й рахунок 
страховоj' компан ії з ус і ма ї1· кл і єнтами протягом певного пері оду часу (як 
правило, один раз на мі сяць) та надіслати їх електронною поштою. 
Правила процедури 
Особливо важливим с безо11латний переклад ді яльності з 03 у аптсщ. 
Зараз уже недостатньо просто знати ваш , останки. Необх ідно як існо керувати 
товарно-матер1альним и ·запасам и , тобто визначати вантажо11і;~йомність, 
оптимальний порядок, контроль наяв11ості обов'язкового асортименту тощо. D. 
Відсутність товарі13 на складі або їх повна в ідсутні сть не тількн впл иl3ає на 
фінансові показники , ш1е 'J акож може бути 11еrативни І\,1 соціал 1., 11 н ,\І факторо\1 . З 
18 
uісї ПJ)ІІЧІ\НІІ ЩІ 11ро6.1 1с1\1а бу.1 1:J рСІ'СJ ІІ,110 1311В 1 І~ІІ.І та ус 11і1111ІО 1111р1111с 11 а В rtiй 
конфігур:щії. 
ВІІ;\ЮІїІ ;ю тов~1рів )\Л Я КОЖІІОЇ <Жj)С1\10Ї а11тс 10 1 ІОЖІІа J<О ІІ СОJ/Ідувати у 
го.1овно;\1:, офісі . У ІtІ>ому ш1па;tк 11сстач а товар1в 11а гра 11и 1 111и х 11у 111пах 
частково покр11васться ·зш11ш1ка1\111 11а 1tс11траJІІ, 11 01\1у скла;tі . Яюr tо ц 11 х ресурсів 
нс...1ост:пньо. про11)ю1а І еко1\1сндус офорі\111п1 ·за1,10влс1111я 11а вілсут11і товари у 
посп1•1з.1ь1-1 11к1в. Кількість замовлс1111х товар1в шпомап1 ч11 0 визначасться 
в11:хо,1яч11 1 з зап.1анова1юго товарооб і гу. Для кож11ої групи 11ролуктів цей 
показник віrtображасться у певному пол і в каталоз і . 
Програ 1а до1воляс- автоматизувати корпоратив11і !\1 ережі з розподіленими 
11ентрамн відповіда.,1ьності . Це означає, що будь-яка аптека, яка є частиною 
бі_1ьшої структур11, може сформувати будь-який документ здійснити всі 
господарськ і опсранії, не порушуючи ціJІісності інформаційної бази асоціації. 
Rін пропонус- просту консолідацію даних для будь-якої структурної конструкції 
(злиття. тримання тощо). 
Робота з інформаці сю про постачал ьника також максимально 
автоматизована. Зокрема, можна 1мпортува1 11 ваш 1 прайс-л 11сти . Важливо 
підкресл11т11, що додаткові умови доставк11 враховуються. В результат~ 
створюсться реальний прайс-лист з індив ідуальними у!\юІЗам и для конкретної 
а111ек11 і1 заз11аче11 11 м 11 цінам и 11 а поставле1111й товар. 
І Jрограма також мас функцію авто~1ап1ч1юго 1аr-.10вле1н1я , що дозволяє 
ав·1ома ·111 зува·111 ВІrб ір 11 айкраш.ої 11ропоз11ції в ід 1 юстачал ь1111ків. Для цього 
аm1.'11з\ ю·1 ься рен1 а6сл ь11ість КОі\1Па 11ії-п остачат"1111 ка . ·1-і оці 11ка для кон кретної 
ai1 ·1<:кi1 . ц111а 11ро11онова11их товар1в, 1і 11іІ\1ал1,1rа суі\1а заJ\ювлення тощо. В 
рс·~у.1 11"л.п і 11ро1 ·рю1а автомат11ч1ю rc11epyc 11роскт зс11\10вле 11н я дл я конкрет11 оrо 
1юс1<1ча.r11,1111ка. яю1й надс11ласгься ІЇ ОJ\І)' на затвср,,1жс 1 111я. І11 форJ\ 1аці я , отри1\1ана 
ві;t 1юс 1ача.111,1111ка. за п11сусться у програ11,1у, а вrrправлсr-шіІ проект замовле1111я 
вс ·r.11юш1юсл,с}1 у статус «ч истилище», на 11ідс , rш і 51 кого здііІ снюсться контроль 
~а за,юв. 1 снш1,1. 13се. що ва 1 потрібно 1ро6 1 1111 - 1tc 1ш;tісла111 авто 1ат11 чно 
С(/Юр\ІОНііІ 11 ІІЇ І:. І~К І рон НІ І ІЇ рахунок. 
19 
1)yx, -a.111'<.'\)t\)1, \1n об.11і1, \':\ ·шіл,іt· Пt 
01':рім 01...' Н\.)Н1111:--.: юр1щ11•11111х '\Нітін, о юн'я ·щовнх ;щя вс , х ш 1тс 1<, ЛN І< ­
>11ап11,1 ' ~ 11р.;.)\1t'Нус 1111\\ЧЖІІ\\ (\ l t.: I тр 1ІШН\111ТОШ:\ ІІИ Х ·шіті н, ІІЮ ЛО]І!()JІЯІОТІJ 
:пюрк,н~УГн ,шалі п1чні 110·щі.1 111 11а О(tюві рі ·mн х критеріїв. ) (ля 1 ·rома1tс1->ких 
ШІ'С1': пр\.)Гр,1 1;1 дtн1юю1с 11о)щватн ·3ніти , нкі 1ютріб 1ю 1rо1щвати /(О ВАТ 
t,Ф;.,р 1~,нію) (Рсс-стр 6~1жан11х тн 6с·шо11пов1111 х рс1~с1пі в - форма №i4, -зв і т про 
~~Т('ГОрін."І населення та хвороб - фор ,, а N~ 6, звіт 11ро розповсюлження 
nі1'арськнх засобів лля баж:ш11 х та бсзкоштов11і рсце11ти - форма N~2 та форма 
~~). Усі "Вітн створюються за будь-який період часу і можуть бути 
експортовані в і\!\ ЕхсеІ. Усі л.рукова ні звіти 1 1редставлені украї11ською мовою. 
Дані завантажуються до кожної облікової програми за умови , що ця 
функція nідтримусться обліковою програмою. Для цього "ANR-Pl1am1acy" має 
функцію "Експорт даних", яка забезпечує його завантаження протягом певного 
період')' часу. Досить натиснути кнопку, щоб всі дан і , необхідні для ведення 
бухгалтерського обліку, були завантажен і . 
ANR-Pl1aп11acy також автоматизує процес оновлення бази даних, про яку 
відомо всім довідковим службам "067", які отримують і нформацію від аптек 
про наявН1сть шкарських засобів у роздрібн ій мереж~ . За допомогою 
налаштувань може бути встановлена частота надсилання даних до аптечно1 
служби інформації (наприклад, раз н а день), і програма надсилає файл Ехсе І і з 
прейскурантом . 
Pharmacy Phaгmacy PHARMACY це безкоштовне програмне 
забезпечення для платформи Wiпdo,vs, яке можна використовувати для 
відображення про1юзицій 1юстачальників та їх ф ілій , які розм і щують свої 
прейскуранти в PHARMACY \1/eekly . Замовлення також можна збирати та 
надсилати до вибраних предметі в. 
РНАRМАСУ РНАІ<МАСУ пропо11ує так і основні функції для роботи: 
огляд та 1юшук 111х)J ІО '3Иці й постачал ьниюв та 1х фіJІій , яю 
JJ ублікуються у пве'1 і АРТЕКА \1/ee kly 
20 
Ч) tТУ.22 I 9(> 7.ООН І 1·~ 
стrзорсн11я тr1 і11.11юрт 1ютрс() ·i 11ію tі J1ін , робота ·3 1<0 11 t;ш11 ;ю 11<111и м и 
потрсба11.11 І. '.! і.11 lОПІ ІСІІ І ІЯ ·шіті І! 
РІНJЮІ'( 11pc1'k1<yp:tl1ТII Л ІІJ ІСрів 'З І (.; Іl С ІtІШ ІІ, ІІИМИ І (ІІІами ІЗ р1111их 
форм,її,1л (лІs .. 111,1 р .. 1tі11н ІJ /11 тср11сті ві;\ l:СрІЗсра гюстачш11_, 111-ша) 
фі.11 ьтрув:11111я 111юпоз 1-11tій з а Jtатою або за ІЗибраним списком 
ПОСТ:1 Ч:lл ЬІ 111 кі в 
·-мсн111сн11я 11O111-пу (дефект, 1юпит) 01;, вибраних про1ю1и11,ій або 11 
·за~·а.'1 1, ного списt<у зарссстрова 1111 х л ікарс 1,ких форм 
автоматичнн11 пілбір посп1чаль11ик і rз . . 
ІЗІДПОІЗІЛІ-ІО ДО критеріїв їх 
1інімальної кіл ькості або їх м іні мальної ціни 
можливість контролюnати зміни ціни постачальника 
формування, nщпраnлення електронною поштою та зберігання 
замовлень поста чальників у спеціальному реєстрі 
анал із історії замовлень 
показ додаткових оголошень від постачш1 ь11иків 
Облік і звітність 
У «АНР-Аптека», кр1м базового комплекту регламентованих звп,в, яю є 
обов'язковими для вс іх аптек, є широкий вибір зв іті в , що настроюються, 
дозволяють робити а 11алітичн і зрі зи за різними r<ритеріям и. Для комунальних 
аптек програма дозволяє отримувати зв 1т11 , н еобх ідні дл я здач, в АТ 
«Фармація» (реестр пільгових і безкоштовних рецептів - форма No4, звп по 
групам населення та категоріям захворювань - форі\•І а №6, зв і т по відпущеним 
медпрепаратjв за пільговими та безоплатними рецептами - форма No2 та форма 
№3 ). Всі зв іти формуються за будь-який пері ол з можли ві стю експорту в MS 
ExceJ. Всі друковані форми звіті в представлені українською мовою. 
Вивантажуються дан і в будь-яку бухгалтерську програму за умови 
підтримки цісї функції бухпрограммой. Для цього в «АІ-ІР-Аптека» існує 
функція «Екс JJорт даних», що забезпечує їх виванта :жен11я за певний період 
часу. Досить 1 1атиснути одну кнопку, щоб всі необх ід1 1і л.ля обл і ку дан і були 
витппаже111. 
21 
У <ЛНР-Л11 t'l'к~,) :) Н1\Н,І:її11 ·юн:111 11іі і 11pmtl't: 1101rов11с11ш1 ба· 111 ю111их 
гі;tо~юї всім лонінк(щ(її ~.11уж н, (<0б7». s11 tt tнр1шус і11формнцію "J шпсr< 11ро 
Н:'\)Н~Ні '1'\, ~Іl')\1\К,Н, Іl'111' ЇВ В тор1 ·овl'.І ІІ,І1ііі Ml'pl'ЖI . І І аJІаJJ\' І 'УШІІІШІМИ МОЖІІа 
13с 1·:ш1..щ11т11 1tl'ріо;щчнk1·1) вщ11 1юш 11 Jt:.11111 x в і11формаt tііі11у сJ 1ужбу пг,о 
Н,'ІЯ ІШkть В ЗНТl'Іtі ~ll')\IIK,1Ml'ltтiв (11:mрІІ КJІ.Щ, О)tІІІІ pt1'3 13 )tСJІІ, ) , j 11рограма 
ві ·щр~В1\ТІ, l:хсс1-ф"і1л з ІlрСІ\СІ()'ІХН-ІТОМ ІtіІІ . 
llрогрз ,1а л.л я аптек «Ф~µмзакю ЛІ ІТЕКЛ» с Gс·3ко 1 1ІТов 1 1 им г1ро1 1х1м 11 нм 
Д~);\ЗТ'І\:О І ДJІЯ платформи \\Ііпdо\\1S і 11р1п11ачс11111і ) tJ ІЯ ncpCІ 'J /51 ) lY ІІj'Ю П()'3ИЦЇЙ 
пост::1чал ьн 11 ків 1х філій, як1 розм1щуют1, сво 1 праіk-л исти в газет~ 
(ІЦот11жневнка АПТЕКА», з можл1шістю скл::щання і в і11_1 1равки замовле1111н по 
обраних познціях. 
«Фармзаказ АПТЕКА» надає для роботи наступ ні основн і можливості: 
перегляд і пошук пропозиці й в ід постачальникі в і їх ф іл і й, що 
розміщуються в газеті «Щотижневика АПТЕКА» 
птворення та імпорт потреб від п ідрозділ і в, робота з 1 зведеною 
потребою, висновок звітів 
пмпорт прайс-листі в дистриб'юторів з і спеціальними шнами в р 1 зних 
форматах (xls., f\1vp., Онлайн прайс з сервера постачальника) 
. . 
шльтращя пропозицій за датою або за обраним списку 
постачальників 
пормування потреби (дефектури , попиту) з відібраних пропозицій або 
із загального списку зареєстрованих л і карських фор!\11 
автоматичний підбір постачальник і в за критеріями мін і мального 1х 
кількості або мі н і мал 1, 1-юї ціни 
можливість контролю зм іни ціни постачальника 
формування, відправка по електронній пошті і збереження замовлень 
. . 
постачальникам в спец1 альному реєстр ~ 
анал1з 1сторії замош1ень 
.. . . 
нерегляд додатково, реклам и В ІА постачальНИІ(JВ 
22 
tJ) tTY.22 19(>7.00~ 11'3 
О До~умснт. При~ол11ая нащqжtq UA·Пrt -000001 7 01 14.10 201110:01:20 • 61 х 
flt,,k·r~t-i • ( ;:, f. ♦ ' 't • Пcpcin11 • , ' 
Прнходнвя нвкnоднвя № J/;,tt~(((~Qt от 1410 2011180120 ~ 
~11с. .. К: l!(l\\R~7S ,1; і410 і1 [1 НН І.ІП,l\\.:С63 or і!іІ nоnу'1е•І<З ts 
... 
" ' lft'I • \l"'І ,, 
1•~~1t1,, /.t";1-fnм, ПІ\'І,:з~ ~ ... х С№·тьrНДС ,~!Щj UнjfpanьЧ!>it с~.ла1 ... х [Pfo НoU"t'~a 1,3998 
-.\.,Щ<t,і:І::, ... х Пr:r 1~р ? 
~:l.<:f-:'f'C'l.\';'1- ~•. Оі ~ бс.зНдС ндс Вшо 
За,~а 239,500) 47.9000 287,4f.OJ 
" х Р.х,'f!цо 335.2500 67.0500 402,300) 
/і: ~. !':C',,,\."d~'t і,\~j)д ~or.c-:i Uєчз Та,, Uена За•; Uен~ Розн Сr,1За~ ндс (~мзс.,. ♦ 
І Сє;~;(" Ср.~ ЄдІ'~s:· ПіХЧІПW Наuею;а Общ КОЗФ СJ,І РОЗ!і· ндс С~~Ртн + 
І Г~ -c,.13..si;a Дю~с РІау Vsy (Jie;q,. 1 ,ОЮ 37,S(Д)J 37,5000 52,500) 37,5000 7ЩJJ 45,f.OJO 
f' МУ gn 1,4000 1,4(0) 52,5000 10.500:J 63,f.OJO 
2 Гe reo·Ct.133Ka д1J~С F1~yН еа! С не~, 1,00) 37.SOCIO 37,500) 52.т.І 37,5000 7,rшJ 45,f.OJO 
МУ !:Р1 1.4000 1,4000 52,5000 10,:lOJ 63,f.OJO 
-
J Г~ -с~,,.ща Дюре~;с РІау і mg!~ Q,"':Ж 1,00J 37,5000 37,5(0) 52,froJ 37,5000 7,500) 45,f.OJO 
МУ gn 1.4000 1,400) 52,5000 10,500) 63.f.OJO 
Ге ІЬ-w.,зка Дюр;кс РІ;у Vsy Chtlry ... 1,000 
І 37,~ 137,5000 52,500) 37,5000 7ЩJJ 45,f.OJO 
МУ gn 1,4000 1,4[.І] 52,5000 lOЩJJ 63,f.OJO 
І :і  ест д/опр бс~еп Е vitest r~олоска . 5,000 6,3000 6.3000 8,0COJ 31,5000 6,mJ 37,fmO 
МУ gn ,І 1_,39_6 8 1 ,39"о8 44,0000 8.ОСОО 52,fmO 
Тест дІопр Оtрем:Н. Е \'test noJIOtкa . 5,000 11,6003 11,600) 16,2500 58,0000 11,ЄОСО 69,f.000 
МУ !Р1 1,4009 1.4009 812500 162:.00 97,5000 
45,0000 Utн ~ Рож 63,00 QK 
Рисунок ] .4 - Головне вікно системи Фармзаказ АПТЕКА 
«Фармзаказ АПТЕКА» також має в ідмі нні рис 11 , п оз11т11 вно вид1ляють 
його на TJJJ 1нших ІJроrрамних продукті в: 
простий і ·зручний сторінковий інтерфейс, знаЙОІ\·ІИ Й кожному за 
сучасними веб-браузерам вщ пров 1дних свповJІх коІ\1пані й-
ро3робникі в; 
персдба 1 1ува1Jі сть взасмодїї з програмою в ус 1 х без в 11нятку 11 
po·m1.r1ax: 
23 
в11c1..)~:t t11tз1tЛ.1'tсть віл.бору тіль~ 11 11 собх іш111 х юн1 обrюбки 1щ 11их 
1зв.1яю1 спснізm,t·Ю:'\tу філ 1,труючоп) 110~11уку; 
юж.1 111Зість органі ·заuїї роботи в окрсr,.,111 х робочих столах прямо в 
.10.1ат1-:у. 
«ФарJ\tЗа1'аз ПТЕКЛ» 11щтр11мус 1~окумс11тообіr оп І іпе з оптовими 
постача_,ьНJі1'<І ш. 
«Фармза~аз АПТЕКА» може працювати на будь-якому комп'ютері П ІД 
управ.r~інням операційної системи ЛS Wi11do\~,1s, за винятком вже застар1лих 
версій \\1i11do\,1 95 і 98. Пілключення до мережі Інтернет необх ідно для 
отримання nрайс-листів від дистриб'юторі в , відправки замовлень і отрима11ня 
оновлень даних . 
«Фармзаказ АПТЕКА» - частина програмного комплексу «АПТЕКА», 
основним завданням якого є автоматизаці я аптек. 
Головним недоліком системи АНР-аптека є сю~адн1сть у використанн1 
привязність системи до одного ПК. 
Система облік препарат1в має дружній і інтуїтивно зрозум ілий інтерфейс. 
Користувача 1 надається можлив 1сть 11 рацювати незалежно ВІД м1сця 
знаходження часу доби. Додаток надає р5щ регламентованих звп1 в, ЯКІ є 
обов·язковими для всі х аптек. 
J. 3 ЛостаноВІ,а зада чі 
J Jісля анал ізу систем ЛІ-ІР-аптека та Фармзаказ АПТЕКА, буJІо виявлено 
JX лереваrи та недоліки і н а основ і отр 11 ман о 1 при а нал і з і інформа1~ії, виникла 
нас.:туJJна 1юсл1J-ювка зада1 1і. 
Розробити v-.1еЬ-оріснтопа11у с11стему 1 }ІЮ:І буде встановлена на локаль110му 
серверJ що дозволить: 
·3абе-зпечити крос11латформ11ісп, (систему можна за пуст1,1ти 1 ·з 
наявного в кожній ОС брау1сра ввів 111н відповідну ,,,еЬ-адрссу дш1 
входу в середовиш,е систем11) ; 
с: . 
1ю·юавити користувач1в ·-з t1 :1 сж1юст1 в 1д JlOJ~aткoвoro вста новле1111 я 
с11еціш1ізова~ю1 ·0 П З; 
24 
'{,НЧ"Щ\.'1 1111 '11 НІ.'111 ·р:\.1ІЇ 'ЮІ\,\ ІІ l' '\ К'})~Ж~ІІІІ )І J t(ІІІІІ Х; 
·~:,6'-" 'Щ1._' 1 11ІТ11 1'p:111t11ii ·y11piнti J \, т:1 ро·н1111рюн~111іст1, і11формшtіИ11ої 
1,'_ \Н. '. І\' ІІІ ·~:\ р:1х~· 1 ю1, ВІІІ\\)f) ІІ l'ї',\ІІІІЯ 1нтіп1і х Т~Х ІІОJІОІ 'іі-і . 
'{:1 '{6Cpl',1,c1111>1 і t) )})t)6ку л:, 1111 х ніюювіJ\~н· ссрвср 11t1 частиш~, н ю1 
11\'H)ll\)II.\T ·~р~ ЧІІ(' у ШІ1't)J)ІІС1'~111ІІі ЛР І ЛІ(~ 1ю·з 111нрс 1111я І\,ЮЖС З JІСГК І СТ/0 
н111,(,р11с1·t,н~ в:УlїІ ·i:11tm1 с11оїх потреб. 
як11іі мщ· вілобр~1ж~їїн і11формацію про замовлення 
І,ОрІІl''J') в:1 1 1:1. СІ1ІІСОК ІІ~ЯНІІІ1Х В ~\ІІТСІtі 11ре 1 ~араті в, сп1·1 · 11ст111<у, звіти про 
)t0,0111 . 
'3і tЇЇІСІІІІНІІІІІ jtСТШlІ.>ІІІІІЇ а11ал1:з снстсм н , СJ/ ІД спроектувати ьд з урахуоа1 1ням 
І IO)l~l .' 11.>I IJ 11:\ ''МІ 11 . 
25 
ЧЛТУ.-2 1 967.ООR ІІ З 
РОЗДІЛ 2 
ВИБІР ЗАСОІ> І В РІ~АЛ ІЗАЦІЇ 
2.1 Мова 11рограмув:нн1я 
Іfовою програ 1ування було обрано мооу RLІby. Вона мас багато переваr · 
перс..1 ІНІUНІ\111 r-.ювамн про1~раму1За11ня , так що з 'її дОПОІ\Югою можна вир1шити 
практично будь-яку залачу. 
RuЬy - це ..1ннам ічна. рефлекторна , інтерпретаційна мова високого р1 вня 
для швидкого та простого об'скт1ю-оріснтоваrюrо програмування. Мова луже 
точна незалежно від операційної систем 11 і має суrюро динамічний набір тексту, 
корзину та багато інших функцій. За с11 1 1таксисом пона наближається до моn 
Perl та Ейфеля. від об'сктно-оріснтованоrо підходу до невел иких розмов. Деякі 
мовн і функції походять в ід Pyt/1011 , Lisp, ОуІап та Cloud. 
Творець мови Юкіх іро Мацумото вже цікавився мовами програмування 
ще студентом, але ідея розробки 11ової мови з'явилася пі зніше. RLІby була 
розробле11 а 23 лютого 1993 року і ви11уще 11а в 1995 році. 
f\,1ацумото, шануваль1111к об'сктно-оріє11това1юrо проrрамува111-1я , мр , яв 
про мову, яка була потужнішою за Ре1·І і б ільш об'скпю-оріє11тоnаною, ніж 
Ру1Іюп. Основна мета Ruby - створе1111я 11ростих , але зрозум ілих проrраІ\ 1. Це 
важл11во не для швидкості програми, а дJш короткого часу розробки , чіткості та 
11рос:·1 от11 синтаксису. 
Мова дотримусться nри11ци11у " 11 а11мс11шоrо здиоування" : про 1·раr-.1а 
1юш1111н1 вести себе так, як оч ікус 11ро 1 ·1юміст. Ою1ак у контексті Руб і це 11с 
о'Jначас найменшої m1утани 1111 щодо 1Зивчс11ш1 мов11 , а 11авш11< 11, ї~' І'рунтовно1 о 
в1ш 1 1с1111я . Сам Мацумото ствердЖ) с. що ме·,ою ро3робк11 була 11нш1зашя 
сюр11р1ві1З 11ро1'рамування для ньо1 ·0, ш,е 11і сля 110ш11ре 1111я r-.ювн оі н з под11 во r-. 1 
діз11авсJ1, що 1ислення нрограм істів схоже. і ДJІЯ бш·а·, ьох з н 11х погоджу ться 
11р1111н1111 "наі1мс11шого здивування" " 1їого 11р 111щ1111 . 
Руб і також усладкушша І)tСОJ/ОІї Ю і\ІОВІ І ІІ/Х) І рамува н11я РегІ , щоб 
·t()mo:111111 нро1·раІ\ 1і сту дося~~г11 од11~ко1ю10 рс·зульп11у р1 зн11 і\ 11 1 с пособаr-111. 
' Ію. t11 рі311і і ЇІ\І потрібна свобода 1311 бор). "Я 1таж~110, що 11айкраще в 1шзат11 
26 
ЧДТУ.22 1 967.008 ПЗ 
баrато шляхів.,  яюцо 1 1е можливо, с::1ле заохочувати користувач~в а б о керувати 
ннми. щоб вибрати найкращий шлях, якщо ue можливо". 
Однісю з головних цілей розробки було звіл ьнення програм 1 ст1 в вщ 
рутинної роботи, яку комп'ютер може робити швидше і краще. Особлива увага 
прид1лялася повсякденній рутинн і й діял ьності (обробка текстш, 
адмін істрування), і їх мова була особливо добре адаптована. 
На в ідм іну в ід машинно орієнтова11и х, б ільш швидких робочих мов, 
метою цієї розробки була мова, що наближається до людини. Вс і роботи за 
комп'ютером виконуються людьми, і потрі бно особл и во приділяти увагу 
зусиллям людей. Мова робить людину такою ж швидкою і легкою, щоб 
виконати роботу, хоча може знадобитися додатковий час за комп ' ютером. 
Принципи програмування та голосов ~ пристрої 1 нод1 називають 
"Рубіновим шляхом". Хал Фултон наголошує на таки х принципах, я1< "простий , 
але не дуже простий" , "лриr-щип найменшого здивува11ня ", вторин11а швидкість 
програми , динамічні , 11рості , суворі правила , які 11е впадають у педантизм, 
потреба в кор11сн 11х і красивих програмах створити як причину програмува 11 11я. 
Взагал і вони не мають точного формулюва11ня І ІІОЛІ 11.ей термrн 
внкористовусться дш, критики. 
2.2 Середовище розвит1су 
Як середоuнш.е ро·3робк11 було обрано RL1by 011 Rails (RoR). 
RoR - основа на Ruby, що реалізус шаблон архітектур11 Model Vie,,, 
СопtгоІІег щ1я веб-додатків та інте1·рує його у веб-сервер та сервер баз да 11 11х. 
Вів с відкритим кодоJ\1 і пош 11рюсться за л і ценз ією МlТ. 
Спзоре111111 Дев іт.>м Хш1н 1ш111сро 1 Гансоном 1ш основі 1 ого робот11 в 37 
с 11 гналах шщ і11струмс11том у1 1ршзл і11ня проектами Baseca111p та опубл ікован11і1 У 
липні 2004 року. 23 грую rя 2008 року команда Мерба разоІ\1 з ко~шндою Rails 
спзор11ла нову вt: рсію /{ail s 3, 11зі1кращі комбінован і фу н кції обох шnблон і в. 
Ос1ювні111 111щ111111 розробю1 додатків: 
13 кс~ І і\ 1~ .1 1 ЬІІ() в1 І Кt)рІ 1стовувnп1 механ 1 зм и повторного в 11 кор11стаr-1 ня , 
що 1і11і\1і з:-, ю1 ь :t:-, 6:11ов~11ня коду в додатках (пр11нц1111 "11с 11ов-, орюва 
'J. 7 
Ч)(ТУ.221967.008 ПЗ 
тн"); 
СТ[І ІІJtар,,,; умови ко11фі1урації ои1<ористооуються для більшості 
,1ро 1-рnм (11p11111t1111 ко11фі,·урацї,• ко11фі1·ура1tії). 
Яв11а с11 с1t11фі ю:щі}, ко 11 І · . ... . 
• .. < >ІІ YP<.11t11 11отр1611а лише у 11ссп111щ1рт11 их ои падках 
[І!)Х / ТС /(Т)'/) /1 
Ос ІІОН//ІІМ ІІ ком 11 0 11с 11там11 Jtо;щтків l{L1tJy 0 11 /{ai /s r 1'.ІО)(СЛІ,, оиглял п1 
коІІтролср. l{LilJy 011 l{ri ils ВН І<орнстовус ст11m> /{Е Т ;щя створс11ш1 всб-1юJtат1<іо. 
--
Модель ) (?tредсrавлвни~ 
- ~,г 
( Моршрутьr ) 
КО/І ,·рш,ср "J :to:ta І КОВ І/ \І 11 1'0 \IJ IO/ll ' /1 І ~1\ І 11 
11111/ІІ\І KO\IIIOIIL'/11 а\І 06'скп10-орієнтоване 
ІН tt't'!',1'1\' '1111'/ ' t:11 11 1~ ( 11а11р11 к.·1:ц, ка,а. ю, ІОВ~lрін :160 СПІІСОК 33.\ IOB_'Jc Hb}. 
\ Ір t '. 11, 11i 1.)t,·cl\1 11 ,юж: п~ 3:ша11 1 тк) вап 1 1:1 ~6•рі1,1111 ,J,111i у ре.1яuіі1н ііі баз і 
t,11111 , 1 .1 р ....- .1 1 і ~t'І~: 1~:1111 бізнс '-:югік_, . 
{.1 ,:1,1tч ~ч, ~:11111>1 \І бі6.1іот~ка Acti, еІ{с.>сог(І в11 кор11стовува.1ася .J.1я 
,,, ... , ,,1,11111, ч,) t ' . 11,1111 \. t)6'сктів : p L'. 1яці1їш1, СУБЛ в Rai/_J_ Конкур) IOЧHJ\J 
,ш.11,ч ,,,,, Р.н . 1 \ І:1рр ' І'. І ·н: І)J'Ь 11.· 1:н іш r t.1~ ,ч,,)0 111 з 11ерс.1яuіі1н н.\ш база.чн 
\ 11.1 11 , 1,1 t i" . \ 1 ~,11~1..,і f 1.1~ Г'-'"'"" 11 ; \ Ii..~ '=-1-'l)H. ПrL' кп1в.1сння створює 
інтсрфе1'1с 1-:ор11сту13ача ., даннм н , отр11ма11имн віл ко11трш1сра. І Ірелстс11mс1111 я 
таt-:ож nср(.;;дає заnнти 1-:орнстуоачі в ;10 ко11тролс1х1 юн1 обробки даних ('~,лоичай 
прt.::дставлення не змінює модель безnоссредн1>0). 
Ruby оп Rai ls оп исує представлення з оикорисп1н11ям шаблонів HTML з 
,1одап:овими фрагментами НТМL-коду (E111bedded RLІby або Е ГZЬ). Вих ід, 
створений за допомогою вбул.ованого коду RL1by, вю1ючений до тексту 
шаблону. Потім отримана Hl МL-сторінка повертається користувачеві. Також, 
можна використовувати ще 20 шаблонів, серед яких На111І та Sli111. 
Контролер в рейках - це набір логічних функцій, які спрацьовують при 
надходженні НТТР-запиту від сервера. Контролер відповідає за виклик 
модельних методі в і ініціює формування представлення. 
В ідповідн і І нтернет-адреси з дією контролера (маршрут) вказані у файлі 
config І гоutе.гЬ. 
Контролер в Ruby оп Rails - це клас, який успадкував від АсtіопСопtгоІІег 
:: Base. Методи відкритого контролера називаються діями. Дія часто відповідає 
окремому погляду. Наприклад, на вимогу користувача адміністратора / індексу 
викликається метод індексу класу Ad111i11Contгolleг, а потім використовується 
подання index.htm l .eгb з каталогу views / аdшіп. 
Інтеграція 
Найкращий слосіб інтегруватися у веб-сервер - це проксі - використання 
веб-сервера як проксі 11еред сервером додатків. 
Модулі пасажирів Pl1L1 s i oп характеризуються 1х інтеграцією в сервери 
АрасІ1е і Nginx. 
Ruby оп J~ail s використовус рейковий інтерфейс, яки й дозволяє 
застосовувати менш поширені механ ізм и (FCGI , CGI , SCGI ). RLtby 011 l~a ils 
може працювати з АрасІ1е , JjgJ1ttpd або будь-яким іншим веб-сервером , я кий 
підтримує J";astCGJ. Ми час·,о використовуємо веб-сервер \1/EB1·ick, вбудова 1111 11 
в Ru by або Mongгel JJ.JІЯ 11роектутшш1 та налагодження. MySQI., 17 і 1·еЬ і 1 ·сІ , 
PostgгeSQL, D82, ОгасІс 1 а М істsоЛ SQC Sегvег підтримуються як сервер~ 1 баз 
даних. База даних, і11те1тют-111~1 в SQJ_ite, також п ідтримується. 
29 
ЧJ ll'Y.22 1967.00X 113 
kнус Jt1~с,1'І116ут11в lпstaпt H.::tils с для \\І і1ніо,,1 s, }t rонї 11ш1п111н)щ111ніі і 
готовнії до ВІІКt)рІтстання Rідр,пу після вст:нювлс11ш1 робочої стш rції ро·зробки 
до..13тків Rnils. юд11 вх<.щ1,ть сервер ЛрасІ1с і СУБ)t MySQL. ) lля платформ 
\\їпdо\\·s. LiпLrx тз !Іас О ... Х існуr комплексний інсталятор BitNa111i KL1byStack, 
яt-шї ~1 іст11ть усе необхідне для розробки в l{ails, ,шлючаючи l{trby, RL1byGe111s, 
Rut1y оп Rails, lf.y QL, АрасІ1е, Мо11gгеІ та SL1b,1eгs i oп. 
Крім того, BitNa111i.oгg та Jш11р8ох.со111 пропонують зображення VMwaгe 
1з готовим середовищем Liпux для безкоштовного надання додаткіо RoR. Ці 
зображення можна підключити до вашого облікового запису віртуальної 
машини або розгорнути у запропонованому хмарному середовищі. 
За замовчуванням. фреймворки jQL1e1·y Javascгipt використовуються для 
розробки програм AJAX у RoR. Однак натомість можна використо13увати інші 
бібліотеки. У попередніх версіях Ruby оп Rails (до З, І) стандартний фреймворк 
js був Pгototype. 
Бібліоте1си 
Навколо Rai]s склалася велика екосистема плаrінів, яку також називають 
«дорогоцінними каменями» (gemstoлe в ід англ . - «дорогоцінний камінь»). Існує 
спеціальна система RubyGems для управл іння плагінами. Деякі з них пізніше 
були включені до базової доставки рейлів, наприклад В. Sass та СоіїееSсгірt. 
Інші не включаються в базову доставку, але для б ільшості розробників стандарт 
фактичний , наприклад В. інструмент тестування блоку l{Spec. 
Починаючи з версії З RaiJ s, існує тенденція до узагальнен11я деяких 
функціональних можливостей n окремих "пробках " через їх шш-1д111и й розІ3иток 
в rюріш1янні з самим IZaiJs 11 евною мірою та с11рощеJJням структури . 
Де51кі дорогоцінні камен і : Motto (юrя ав'r с rr ·п-1 фі ю:щї~') , Са пСап (J ~J ІЯ 
автори-зації), Ка111іла1·і (JJ.J ІЯ роздіJJення записі в і ·3 б:пи да rr их або елементів 
масиву за сторіІJкою ), Fakeг (для випадкоnого 1 ·е 1 r cpyвar 111 51 тсстов1,1 х записі в у 
веб-додатких), г:- гі епdІу _id (дозrзоJІяє) С, ворювати 11 срсо 11 ал і ·ю 1-н-111і веб-адреси ), 
Ас1і,1е А<.Jтіл (юrя створення інформа1~ійних 11с111е1 1 е1•і) , Со1111111111і1 уЕ 11gіпе (д1 1я 
створе11ш1 со11іш1ь11их мереж). 
30 
ЧЛТ .221967.00R 113 
1нструмснт11 роз 1юбк11 пt тестува11ш1 
l{ul)y 011 Н"зіІ в11корнстовус різні тс~<стоuі рсJ1шпори та 10~ лля стnорення 
додзт"ів, у тому числі: 
Арtапа tudio; 
CodcGeaг ЗгdRаіІ: 
JetBг. 
2.3 Об'о,-. -тно-рсляцііінс відобрйжешш (ОІ{М) 
ORM - це технологія програмування , яка дозволяє конвертувати несумі сні 
типи моделей в ООР, особл иво м 1ж сховищем даних та об'єктами 
програмування. ORM використовуєт1)ся для спрощення зберігання та пошуку 
об'єктів у реляційній базі даних , в той час як сам ОКМ обробляє перетворення 
даних між двома несумісними станами. Більшість інструментів ОН.М значною 
мірою покладаються на метадані бази даних та об 'єктів, тому об'єктам не 
потрібно знати про структуру бази дани х, і баз і даних не потрібно знати про те, 
як організовані дані в додатку. ORM пропонує повний розподіл завдань у добре 
розроблених додатках, в яких і база даних, і програма можуть працювати з 
даними в оригінальному вигляді . 
Qbjectl 
.• . 
Рисунок 2.2 - Схема збері га1111я та отрима 11ня даних за допомогою ORf\11 
fІ арадиrма "1-1с1юслідовнісп, " 
Зокрема, використа11ш1 OJ~M в11р1шує 11роблему так зва~юї 11арад111 · 1\ 1 11 
"невідповідності", яка ствсрджус. 1цо об'скт11і та в ідносини модел і 11 е лужс 
добре працюють разом. РеющіП11і 6а -з 11 юших представляють да11 і у тa6J 1 1J1 11 1i11 
31 
ЧЛТУ.2 ... 19()7.008 І І З 
фор 1і. з об'сктно-оріснтовані ювн прслстаоляють їх нк 1юв'нза 11і , ·рафіки 
об'сктів. О новні проблс ІН та 11свіл11овід11ості в1111111п1ють, 1<0111,1 rtя д1 аграма 
об'сктів зберігасться або завантажусться у реляній11у базу да11их : 
реляuійна юл.сль може бут11 11абагато л,етал ь11і111е, 111ж об'скт. 
Збері гання об'скта у рсляuійній баз і да11их використовує юлька 
таблиць. 
реляційні бази даних не мають н1чого подібного до успадкування 
природна парадигма об'сктно-орі єнтованих мов програмування; 
У СУБД визначено лише один параметр для порівня11ня запис і в даних 
- первинний ключ. У той час як ООР дозволяє перевірити ідентичність 
об'сктів (а = Ь) та ·,·х р і вн ість (a.equals (Ь)); 
СУБД використовус поняття зовнішніх ключів для зв'язку об'с1<тів . В 
об'сктно-орієнтованих мовах спілкування між об'с1<тами може бути 
лише одностороннім. Якщо ви хочете організувати двосторонні 
стосун1<11, вам потріб110 визначити дві од1юсторонні асоціації. Крім 
того, неможливо визначити безліч в1дносин на основ~ модет 
пред 1етної області ; 
принцип досту11у до даних в ООП при11ципово в1;tр1 з 11ясться вщ 
доступу до даних у базі даних. Для доступу до даних в PLO посл ідовні 
11 ереходи від бат1,ківського об'с1<та до властивостей Jto11ip11i x с1 1 емснтів 
1 а і11і ці ал і -заці я об'сктів JЗи1<ористовуют1,ся у м іру 11собх ід11ості. Цей 
11iJtx iд JJ e розгшщасться як ефектив11ий спосіб отр 11 ман 11я даних з 
решш.і й 1111 х баз даних . Як 11раш 1ло , к ількість зш11ІТів до баз 11 да11 11 х r-.1 ac 
б) 111 ·шедс1ю до мі11імуму, ІJеобх ідІJі об'скти 1юв1 11111і бу-п, зшзшпажені 
J()l І якомога швидше. 
l lp111щ11 11 Ol<M 
Кточовою особ11ивіС'1 ю Ol~M с приз 11 аче 1111я , з }Ію 1 r-. 1 об'ск ,· 1юв'язш 11111 з 1 
своїм11 щ11111 1\111 в ба·з і да1111 х . ORM створюс "оіртуаль11у " cxcr-.1y бн·1 11 да~111х в 
11ам'яті і до·шо: 1>1с оброб.1 1>ІТ11 да 11і н а об'скт11ому р і в ні. І І с1 Jt11с11леї 1юказа1-10 , як 
об'ск1 H l 1101о  в. 1 ;1с І ІІВОС'І і ІІ))НСІЮІОІОТЬСЯ од11іі1 або J ll'Кі . ІІ, ІШ /\1 І :1 6JІІЩЯt\І та їх 
32 
ЧЛТ .22 1967.008 ПЗ 
полям У 6а·>і д:11-шх. ОН.М nикористоuу інформаttію в ц1,ому 'З і ставJ 1 с 11ш1 для 
уnрrштння пронесом псрстnорс11 11 я дан и х 1 іж базаІ\1 11 J ta 11 и x та об'сктними 
формз 111 та для створення QL-запитів лля встаоки , 011овле1111я п1 видалення 
дан11х у відповідь на змі ни , які лодаток оносить Jto цих об' єкті в. 
Переваги і недоліки n11кор11ста1111я 
Використовуючи ORM ІЗ проекті , розробнику більше 11 е доводиться 
працювати з QL і писати велику кількість коду, який часто одноман ітний і 
схи.1ьний до помилок. Весь створений код ORM, ймові рно, добре перев ірений 
та оптимізований, ТО).1у не потрібно думати про тестування його загалом . Це, 
безумовно, плюс, але при цьому не забувайте про недол і ки. Найважл ивішим є 
втрата продуктивності пра ці. Це пояснюється тим, що більш і сть O RM 
розроблені для різних сценаріїв використання даних, значно б ільших, н іж будь­
яка окрема програма. Питання доцільності ви користання OR M в ц,лому 
розглядається лише у великих проектах, що піддаються великим 
навантаженням. Тут ви повинн і вибрати, який пріоритет - комфорт чи 
ефективність? Звичайно, робота з базою даних з добре написаним SQL набагато 
ефективніша, але не забувайте такий параметр, як час - те, що ОRМ юже легко 
записати протягом тижня . Ви южете реал ізовувати більше м ісяця самостійно. 
Крім 1oro, більш ість сучасних ORM дозволяють програм істам вказувати код 
SQJJ-запитів JJpи необхідності . Н емае сумнівів, ш.о використання ORl\/f для 
малих проектів набагато виnравда11іше , н іж розробка власних б і бл і отек для 
робо1 и з базою даних . 
HTJ\1L 
HTML (НурегТехt Maгkup UшgL1age) - не стандартна мова розі\ 11тк11 для 
веб-сайтів в 1нтернеті. Більшість веб-сайтів створені за допомогою l lTML (або 
XHTML). НТМL-документ обробш1ст1,ся браузером і відобража ться на екра~1 1 
у звичайній людській формі. І ІТМ І , 1юхоm~ть із SGM L і успадковус в 1д 11ьоrо 
вюначення типу документа та ідеоло1 ію розмітк 11 тексту. 
Хо 11а I ITML с штучною ком11'ю1срною !\ІОвою , це не мова програі\ 1ува~ 111я . 
Ч)\ТУ ___ \ l)() 7. 008 І І З 
Окріі\І кзскадн11х тз6щ11tь стнл іu та u6улова1111х с1tс11аріїtз , НТІ\І\ L - це тр11 
основні технології для створення nеб-сзйтів . 
НТ '1L реал ізує інструментн дл я: 
створення структурованого документа 1 з заз11ачс1111ям структур11оrо 
складу тексту : заголовк11, абзаци , списк11, таблиці , цитатн тощо; 
отримувати інфор 1 <:нtію і з всесв ітньої 11авутини через гіперпосила1111я ; 
створення інтерактивних форм; 
вставте в текст зображення , звук, відео та інші об'єкти. 
HTML - це додаток SGML (Стандарт11а узагальнена мова розмітки) 
відповідас міжнародному стандарту ISO 8879. 
XHTML - ue б ільш сувора версія HTML, вона дотримується вс1х 
обмежень XJ\t!L, і насправді XHTML може розглядатися як доповнен11я до XML 
для області розмітю-1 гіпертексту. 
У 1980 році тодішн і й фізичний співробітник CERN Тім Бернсрс-Лі 
запропонував систему INQUIRE та розробив прототип, який мав на меті 
полегшити обм і н документами досл ідникам CERN. 
У 1989 році Бернерс-Л і запропонував ввести в І 11тер11еті систему 
гіпертекстових документів. 
Ще в кі нці 1990-х він розробив HTML і на 11исав браузер і серверне 
програм 11 е забезпече1 111 я дш1 запропонованої системи. Того ж року ТіІ\1 Бер 11 ерс­
Л і та Роберт Кайо, інженери інформаційних систем у ЦЕРІ І , п одал и сп ільну 
заявку на фінансування проекту, яка офіційно не була зс1тверджена ЦЕРН. 
НаJJрикін ці 1991 р. Ті м Бернерс-Л і опубл і кував в І11тер11сті 11epu1 11 11 
загально;~ос1у 1 1ни11 0 1 111с мови розмітки HTML, так зuш 111 11 ) LО К)' І\ І С ІІТ і з тепtІ\111 
HTM IJ. О1 1 11сано 20 еJ 1еме1 пі u оригінальної, n ід1юсно простої схсІ\ 1 11 ро1 1\ 1і тк11 
HTM L. За ви ш11 ком тегу 1 · і11 ерпосилання , >Ікий 11ію1я1 ·::1 в m 111Jc в11утрі 1 1111ьоІ\1у 
фор 1ату SGM I , цокуме11л.1 1 ~ її El{ N . 13 з цих елемс 1 tтін все ще )LО t:ту п11і в 
HTML4. 
Бер 11ерс-J Іі ро·н·ю1 іLUВ І ІТМІ~ як похіл_11 е від SGMI~. і п ссрсд1111і І 99] року 
С11еціальш1 коміс і н ·1 1ю·31311 ·1 ку Інтер 11 е1у ( IETF) офі1tі1і1ю в 11 :1 11.1•1 11.11:1 1іого як 
34 
ЧЛТ .22 l lJ67.00X І \'3 
першу специфікацію І-ІТМ І , : "Мооа ро·зміт~о,~ 1 · і 11 сртс ксту (I ITML)" . І11тер11ст­
проект, написаний Тімом І:>ср 1 1срсом - Jli та )J,c11 Ко 1 1 1 юл; 1 і. Ця спе1J.иф і ка1tія вже 
1 істила визначення типу ;щкумс11та , в якому чітко вказа 110 граматику HTML. 
Проект закінчився через півроку, але, як в ідомо, офі цій но визнали NCSA 
Moza ic І magc Tag, не л.ілиш 11 ись філософією І ETF, щоб базувати стандарти на 
успі111них прототипах . Так само пізніше, у 1993 році , ко 11 куруючий І нтернет­
проект Лейва Радгетта HTML + (Hypeгtext Maгkup Foг111at) запропонував 
станлартизувати сенсаційні функції, які браузери впроваджували в той час, 
наприклад електронні таблиці та перші інтерактивн і форми . 
На початку 1994 року, після того як проекти HT ML та HTM L + втратили 
свою силу, IETF заснував робочу групу HTML. У І 995 році робоча група 
HTML завершила роботу над HTML 2.0 (опублікована як RFC No 1866), 
першою специфікацією, яка бул а використана як основний стандарт для 
подальших удосконалень HTML. Версія 2.0 описала значні відмінності м 1ж 
новою рсдакцісю специф і кації та поперед11і 1и розробками. 
Інші розробки під егідою IETF відповідали конкуруючим і нтересам . 
Характеристики НТМ І.., затверджен1 консорц1умом WЗС з І 996 року з 
урахува~1 11ям доповнень до розмітки , впровадже11их компаніями-розробниками 
браузерів. Однак у 2000 році HTML став м іж11 ародни 1 стандартом (ISO / ! ЕС 
І 5445: 2000). 
Оста 1111я І TML специфікація , опублікова 11 а \Л/ЗС наприкінці 1999 року, 
11ю1шснт1,ся реко 1е11 ш.1.і ю НТМІ~ 4.01. Ус і суперечки та по ,1 ил ки в цій 
с 11с1L11фіка 1L Їі офіці йно виз на11і у сп11ску друкnрс ьк11.х поі\1 11л ок, опубл ікова11 0:--1у 
у~ОО І рОІLі . 
1ова I 1Tf\t1L спочатку була заду:--1ана та створена як засіб структурування 
1·,1 фо1 :-.,а 1·ування доку 1ент1в, не пов'я зуюч11 їх і з засобаr-.1и відтворення 
(11i;LOl.) J :1жс11 11я ). В ідеа. і текст роз 11т"11 НТ l{L пов11 нен відтворюватися без 
с 1·11:1iL' 11111 1111~ тJ структурн11х спотворень на пр11строя.х з різниі\ІИ технічни 1и 
ІІ\"ІІL' tї)t)SІ\tІІ (сучасн 11 11 кольоров1111 е"р~11 ко ,п 'ютера , і\юнохромний екран 
~Ч' t :111 :111 ~1..'11,1, екран для мобі 1ьн11.х телефонів нбо пр11строї з обі\tеженим екраном 
35 
та голосовим П JН:сро 1). О;щ:1к (у•, :t ( ІІс вІІr<орнсп111ш1 І ІТМІ , ; 1.шrеко rrc 11ервісне 
прнзначсння. На11р11кщ1л. те , · 1:1l)k ни кщн1 t:тову<т1,с я ;~шr cтвopc rrrrя ї аб11 и11.1, у 
доку н~~п:,~ . :ше ч:1сто викор,н.:товусп>с я лля 11роектуваr111я ро,1м 1ще 1111я 
елементів на сторін1~і. З ч :1сом ос,юш-1 :.1 і ;\ся 11 езалсж1юсті ш1атформ и ві ; t І JTMC 
6ул:1 пр11нсссна в ж~ртву сучасним мультимедійним і графічним вимогам . 
Текстові доку 1снтн , що містять розмітки в І ІТМ /__, (так і локументи 
-,а ·'в11ча1ї 1ають розширення . І1t111І або .l1t111), обробляються спеці альними 
програма 111, які відображають документ у його відформатованому вигляді . Та кі 
програми, що називаються "браузерами" або "Інтернет-браузерами" , зазвичай 
надають користувачу зручний інтерфейс для запитів, в ідображення (та 
виведення на інші зовнішні пристрої) веб-сайтів і , за необхідності, надсилання 
даних, введених користувачем офіціанту. Найпопулярніші браузери сьогодні -
ue Goog1e СІ1готе, J\1oz illa Fiгefox, Орега, Internet ЕхрІоrег і Safaгi. 
HTML - це позначена мова розмітки для документів. Кожен документ у 
HTJ\1L складається з серії елементів, а початок і кінець кожного елемента 
визначаються спещальними тегами - тегами . 
Щоб покращити сумісність, SGML вимагає, щоб кожна похщна мова 
(включаючи НТМL) визначала окрему таблицю коду для кожного документа, 
шо складається з репертуару (список різних символів) та позиції символів 
(перелjку цифрових посилань на персонажів з репертуару) ). Кожен документ 
HTML - це послідовні сть символів з репертуару. 
HTML використовує найбільш повну таблицю кодів UCS (Універсал ьний 
набір символів). 
Однак однієі' кодової стор1нки недостатньо для того, щоб браузери 
правильно відображали документи HTML. Для цього браузери повинні «з нати» 
певну таблицю коду документа, яку автор повинен за вжди вказувати у 
метаелементі з параметром набору символів . Стандартна табл 11ця кодів - IS0-
8859-1 , також в ідома як J J атинська- 1 . 
Маркуван ня 
Розм ітка в І-11 М І , скJ 1 а JtаСГІ>С51 з ч отирьох основних КОІ\ tп оне r-пі в : еJІСІ\ 1 е II 
36 
ТІВ (та їх :їїрн )_\Тів). ()~НОВІІІІХ т11 1 1 ів л:11 1 11 х, t:1ІМВОJІ1'11ІОІ М ІІ <.:МО JІІ І(И НІ 
деклараuі1ї про т1tп 1ю1,умснт:1. 
Зага.111>1щ стр~·ктпш 
Доку 1l'HT нт 1l -+.0 І l'КЛ:1JЩСТІ,СЯ ·~ трьох Ч <\СТНІІ : 
Дск1араuія п111у доку 1снта (1 octypc) на 1ючатку документа, 11ю визначає 
тrт документа ( L)TO). 
·):1головок документа (всерслині елемента заголовка), який м 1 стить 
"зrа.1ьну технічну інфор 1аuію або додаткову інформацію про документ, який 
не відтворюється безпосередньо в браузері. 
Тіло документа (яке юже бути в тіл і або в елементах набору кадрів), що 
,1jсппь основну інформацію документа. 
Нижче наведено приклад загальної структури НТМL-документу. 
<!doctype HTJ\1L public "-//WЗC//DTD HT1\1L 4.01 //EN" 
"J1ttp://,"""''"' · '"'З .oгg/TRЛ1t111J4/stгict.dtd "> 
<html> 
<head> 
<tit]e>Miй перший НТ:f',ЛL-документ</tіt]е> 
</liead> 
<body> 
Не11о woгld ! 
</body> 
<lhtml> 
css 
CSS спещальна мова, що викорнстовується для опису стор1нок, 
написаних мовами розмпки даних. 
Таблиці стилів у тій чи іншій форм і ~снувал и з моменту впровадження 
SGML у 1970-х. Каскадні таблиці стилів 6yJ111 розробле 11і для полегшення 
додавання інформації про стиль н а веб-сторінки. 
З розвитком HTML стало можлиш1м в1шор11сп11 1 11я р 1 зних меха 1-11 зм 1 в д11я 
-'l0.' l<-Шс1 нш1 сти J11в до елементш стор111к11. Ро·3 ро6ка I ITML надала веб-
37 
Ч)l,'l 'Y . 2 І Ч67.ООХ І П 
днзайнсра 1 6іЛІ,111с нарі:-1н 1·ів стнорснт~ •нтн і 111111,01 ·0 m-1 1 ·ля1tу веб-сайту, але 
НТ tfL-K<)д скл~щнішt' 1111с,п11 т,1 ·~мі11юш1л1 . Ч срс·з рі ·з 11ий rro кa1 стор1н ки в 
р ізню.:. 6рн~ .. ,~р~1 :--.: було в,1 )1,ко підтрнмуватн стнm, стор1 11ки . Користувачі мали 
м~.:- нш1111 контрощ над відо6р:1жсння ~ вмісту. 
Для \\ '3 ..., ·~апропоновано дев'яп, І і зннх варіанті в табли1(ь стиmв. Після 
о6rовор 'ННЯ У спе1tіально 1у списку розсилки було обрано два, які лягли в 
основ,· англійська. Каскадні таблиці стилів НТМІ..., (C HSS) та англійська 
мова. Пропозиці я на основі потокового стилю (SSP). У жовтні 1994 року Hakon 
\\їшп Lie (генеральний директор Орега Softwaгe) вперше запропонував 
~-зскадні таблиці стилів HTML (CHSS), що дещо схоже на сучасний CSS. Берт 
Бос працював над браузером Агgо, який використовував власну версію таблиць 
стилів, потокову пропозицію стильового листа (SSP). Lie та Bos почали спільно 
прзuювати над розробкою стандарту CSS (літера "Н" була вилучена з 
заголовка, оскшьки таблиці стилів можна було застосувати до мов розмітки, 
крім НТМL). 
На відміну вщ наявних на той час таблиць стишв, таких як DSSSL та 
FOSI, CSS дозволив застосувати до документа (сторінки) р ізні таблиці стилів. 
Аркуші стилі в можуть дотримуватися правил інших людей (наприклад, 
створювати каскади), які дозволяють контролювати використання стил1в як 
дизайнером сайту, так і користувачем (наприклад, у браузері Орега) . 
CSS найчастіше використовується для в1зуальноrо в ідображення 
сторінок, написаних у HTML та XHTML. Однак формат CSS також може бути 
застосований до інших тип ів ХМL-документів. Специфікації CSS були створені 
та розробляються Всесвітн і м консорціумом . 
CSS має різн і рі вні та профіл і. Наступний ршень CSS створюється на 
основ~ JJопередньоrо шл яхом додавання нових функці й або розширення 
існуючих функцій . JJJapи нази ваються CSS J, CSS2 і CSSЗ. Проф іл і - це набір 
правил CSS на одному або декіл ькох рівнях, створених для певних ти пів 
пристроїв або інтерфей сі u . І І а 11ри кла;~ , с СSS-профіл і для принтері в, І\Юб і .п 1:, 1111 х 
пристроїв тощо. 
38 
CS,' (1':;lі..'1':щ11111і ,l6t) )JIOІ\°t)H11,i 1 :щст) ·шмі111ш та6m1ч 1111 іі мш<с1 всб-сай·,ів . 
()с1-юнн:1 Пl'j"l('H:11':1 К\) 1пt,11ун:111ня блок~· - itc 1ю•щілс11ш1 вмісту сторі11ки (ланих ) 
т:1 Ї'І: ні ·~у:1.111,1-ю1у, t1~)J\:1ння. 
CSS НІІ1':Щ'Іt1стовусться розро61111камн всб-<.:а і-ітів та вілвідувачами лля 
в111н:1чсння кольорін, шр11фтів, макет,~ та і11111нх ас11ектів :юв11і1н11ості сторінки. 
О1нісю ., Гl'l.llOB1--mx псрІ.:'nаг с южлнвісп, відокремле11 11я вмісту сторінки (або 
ю1 істу. ю1істу. як правн.1 0, НТ IJL, Х 11L або полібної мови розмітки) від тину 
.1о~-:у~1ента ( описаного в ). 
Цей поділ юже покращити сприйняття та доступн1сть вм1сту, 
забезпечити бі.1ьшу гнучкість та контроль над відображенням вмісту в р1зних 
середовищах. зробити контент більш структурованим та легшим , видалити 
~-б.1ікати тощо. За допомогою CSS ви також можете адаптувати вміст до 
різних умов відображення (на екрані, мобільний пристрій (КПК) у друкованому 
виrля..Jі. на екрані телевізора, на пристроях, що підтримують браузер Брайля 
або rо.1осові браузери тощо). 
Один і той же документ HTML або XML може відображатися по-різному 
в залежності від використовуваного CSS. Стил і відображення сторінки можуть 
бути: 
J Стиль автора (реквізити автора сторінки): 
зовнішні таблиці стилів, зазвичай це один файл або файли CSS; 
внутрішні таблиці стилів, що входять до складу документа або блоку; 
стилі для одного елемента. 
2 Стиль користувача 
J1окальний файл Css я)( І,fи 
' був в ) ·,1 ~·~ JІ с("'І ЧеНІ1Й користувачеJ\,1 для 
використання на стор1нках вказан 1 ,1 й у н алаштува11нях браузера 
(наприклад, Оре1·а). 
З Стш, ь браузера (браузер) 
стандар'J ний стиль браузера, напрнклад, ста 11да рт111 ст11л 1 елемент~ в, 
шn1 -н1чені браузером, використову1т ься , ко.111 1 і11форІ\1ація про ст11ль 
е..11смснта не доступна або неповн а. 
39 
(. "т:тл:1 1її С S S-  н11 ·~11:1ч:1с ІІt)ІНІJ tt)І та лі,111:1 1011 ви1<ористовуоа 11их стилrв, 
Т{ 6то н ЯКt) 1У ll t)pЯJ\1':y T:l )Щ}І ЯІ ю: СТІІ Jl іВ СJІСМС ІІТЇВ . Тому 11ри11uип 1<ас1<алу 
я11~--ор,~стов:тться. ко.11 11 лл я елементів по;щсп,ся J111111c інформація про стил і , які 
,мін11. 11-:я збо не ВІ1знзчені 6іт,111 за 1 ·ал 1 , 1111 ш стиJ1ями. 
Псрс.'ваг11 
І нфор ~ація про стнл ь лл я всього або части11и сайту може бути включена 
,· фзй.11 С , який можна використовувати для швидкого внесення зм ін у 
"овнішній вигляд сторінок. 
Інфор ,rація про різн і стилі для різних типш користувач і в: Наприклад, 
ве.1икий розмір шрифту для користувачів із вадами зору, стилі друку сторінки 
на принтері , стиль для мобільних пристроїв. 
Сторінки стають меншими та більш структурованими , осюльки 
інформація про стиль відокремлена від тексту та застосовуються певні правила 
застосування, і сторінка базується на ньому. 
Прискорити завантаження сторінки та зменшити юльюсть переданої 
інформації, навантаження на сервер та канал передачі. Це досягається тим, що 
сучасні браузери можуть кешувати (зберігати) інформацію про стилі та 
використання для всіх сторінок, а не завантажувати їх для кожної сторінки. 
Синтаксис 
CSS має відносно простий синтаксис використовує лише к1л ька 
англійських слів, щоб назвати рі зні компоненти стилю. 
Стилі складаються з і списку правил. Кожне правило має один або більше 
селекторів та блок декларування. Блок визначення складається з перел іку 
властивостей, оточених дужками . 
Властивості у списку складаються з н азви властивост1 , двокрапки ( :), 
значення та крапки з комою (;). 
2.4 Вибір технічних засобів. 
Щоб веб-система 11рацювала 11ш1еж11нм чином , сервер ком п 1ютера , 11 а 
я кому встановлена програма , 1 юш1 11 е 11 в ід, юв ідати наступним характер11ст1 1кю1 , 
11ерел іченим у табли ці 2. 1. І / а <.:ернср 11 с 11 ро 1 ·рам не забезпечення також і\ І ас бу 11 1 
40 
,кт:11ю1~.11сн1.. 11р1..,1 ·р:1м 11l' ·{:, )L' ' ~ll l' 'll't11 1 н 1..' 1..'рнl'рн : l'l'pвcp лол.п t<Ів Лр(1 с І1 с ї 0Irica l 
НL'\"' І.'. іЇ 7'\ 1·;1 1.'. L'J)H1..'p 6:,·~ 1 щ11 11, 1y S(..) \ ,, ,1 1',11(())1( Тl\ЮІ '\ НІМІІС ·шбс·J11 с 1 1 с 1111я : ІІШ(Є1 
1~ t111kc. 
Табли1tя 2. 1 
В.11:1стшюсті апаратного ·шfit'111c• 1 c111rs1 сервера 
31t ~JII C IIIIЯ 
J 
І Пронссор і·~ так1\)tюю ч ~,стото10 11 е [\1f С ІІІІІе 21' Гц 
Опсратинна па 1'ять 
___ J_ не мс111uе 2048 Мб. 
Вільного 1і с1tя на жорсткому диску 100 Мб . 
І --
ВстаНОВЛеНа ОС Wiпdows, LiпL1x 
І 
. . . 
На ко ш ютер1 кл 1 є1-па повинен бути встановлений браузер для входу в 
"·еЬ-оріснтовану автоматизовану систему, та пакет офісних програм для 
перегляду і друку сформованих на сервері документів. 
Таблиця 2.2 
Характериспп~и апаратного забез11е•-1енш1 кл ієнта 
No п/п J Назва Значення 
І І І Процесор і з тактовою частотою не менше 1Г Гц 
2 j Оперативна пам'ять не менше 256 Мб. 
.., 
.) І Встановлена ОС V•/iпdo,,,,, s, Lit1L1x 
І 
41 
РО'~/~1.11 J 
ОІІНС РО]РОІ,.JІЕІІОЇ СИСТІ1:ми 
3.1 Внрон~\J\Жt.'НІНl ~ІН.'Н' 111 
l3H1'l)ptt 'Т~)вуюч11 юву 1ол.с.1110вш 111я lJM\ ,, 1rотрі б1ю розробити схем и 
ж)гіч1-юго рівня для ро· ~ о6кн проrр:з щнх рі111 е11ь для ком 1ю11е 1-1тів . 
На логічному рівні розробкн програм ного забезпече1111я властивост, 
1-омпон~нт~в програмного забезпечення , що вхол.ять до архітектури систем и , 
в11"начаються на основі раніше визначених та задокументованих арх ітектурних 
рішень. Слід враховувати як статичні , так і динамічні аспекти цих компонентів. 
Д.1я юделювання статичн их (або структурних) аслектш програмного 
забезпечення використовується наступне: 
А для моделювання динамічних аспекпв програмного забезпечення 
(тобто взаємодії компонентів) використовується наступне: 
Діаграма прецеденту - це діаграма, яка складається з серії дійових осіб, 
nрецедентш (випадків використання), обмежених системною межею 
(прямокутником), асоціацій між суб'єктами та прецедентами , зв'язків між 
прецедентами та узагал ьнюючих зв'язків між суб'єктами. Прецедентні діаграми 
відображають елементи моделі використання. 
Суть ц1 є1 д1аграми полягає в наступному : Розроблена система 
представлена у вигляді серії сутностей або дійових осіб, які взаємодіють із 
системою через так зван, випадки використання. Випадок використання 
використовується для опису послуг, які си стема надає актору . Іншими словами, 
кожен випадок використання визначає низку дій , які система здійснює в діалозі 
з актором. П ри цьому нічого не сказа но п ро те , як реалізується взаємодія 
ак-1 ор ів із системою. 
У UML існує декі лька стандарт11 их т1ш 1 в вза мозв'я з ків r-.-1іж учас н икаr-. 11 1 
та способами використання: 
в ідносин и асоціац11 ; 
включіть відносини ; 
п родовжити в іднос1-11111 ; 
42 
\_' H1,t)l\1: В\111~Щ1':у ·~:н ·:1.1 11, 11і Н.11:11..'ТІ!ВОСТі ВІіКОристс:1111,я мож11а ГІf)С/tСПІВИ'/ И 
, ·pJ,t)M:1 рі :т11 111 l'ПОСО6:1 НІ, а С,1МС 'ІСрс·з ·зв ' }І '3І(И ПІ<JІІО'І СІІІІЯ , розширення та 
\··:;:н·:1.111-,н 'ННЯ . 
Вз:1 ю·,в'яз1':н асоціа 1\і11 с- ОJ\ннм з ос1ю13 11и х 11 0 11ять у мові UML і частково 
н111-ор11 'Товують 'Я прн побулові ncix графічних моделей систем у виrлялі 
t-йНОНіЧНІ\:\ діаграм. 
В~-люч ння в U /JL - це своєрщна залежн,сть м,ж базовим випадком 
в111'ористання та його спеціальним випадком. у цьому випадку залежн і сть 
за.чежності - це відношення між двома елементами моделі , коли зм іна одного 
елемента (незалежного) призводить до зміни іншого елемента (залежного). 
Зв'язок удосконалення визначає взаємозв'язок випадку основного 
використання з іншим випадком використання, функціональна поведінка якого 
не завжди використовується випадком основного використання, але лише за 
умови дотримання додаткових умов. 
Веб-додаток обліку медичних препаратів аптеки 
Аптекар1 
Рисунок З. І - Діаграма прецедентів 
Діаrримn /J.i }r :rьнocr і - візуальне зображення д1 аграІ\1 11 акт11вності в UML . 
Діяльність діЯ.' ІІ> І ·Юсті - не сІЗоrо роду д іаграма стан і в кі, щс1,ю 1 ·0 автоІ\ 1 ата, 
43 
'IJiTY.22 19()7.00H 11 '3 
(н:1-юною Я~l\:\ с 111..' ННі .1,ії, а lІ~р~ХО)\11 ві ;,6 Ш110ТІ,СЯ 11ісш1 'Н:ІВСJ1 І!І СІПІЯ лій . 
)1ія - 1tt" О\.'ІЮВН~) 0Л11Н111\Я )\JHI в1л11:1чсIIтI ІІОВСJtіІІКИ В СПЄІ(Ифі кації. /(ія 
{)1l)нмус набір нхілннх с11гналів і 11 ерстворнJє їх у 11абір 13 и х ію1их с игнал і в. Одне 
:16о l)611 :1.в:1 ці пропо· н1,ії 10)1 уть бути порож~~іми . В и кона11ня дії в і дповідає 
RН1'Онанню окремої дїї. Аналогічно, онко1-1ш111я д іял ьност і буквально виконує 
l)1'P~ 1у діяльність, включаючи онконання дій , що м і стяться в д іЯЛІ:>І-ІОСТі. Кожна 
,1ія в діял ьності може бутн виконан а один , два або б ільше разів під час 
,1іяльност1 • Принаймні дії повинні отримувати , п еретворювати та тестувати 
дан і. Деякі д11 можуть вимагати конкретного наказу . Специфікація діяльності 
(на більш високих рівнях сумісності) може дозволити запуск декількох 
(логічних) потоків та механізмів синхронізації, щоб забезпечити виконання дій 
у правильно1\,rу порядку. 
Діаграми діяльності створюються з обмеженої кількості фігур, з 'єднаних 
стрілками. Основні типи фігур: 
округлі прямокутники позначають дії; 
алмази вказують на рішення; 
рядки позначають початок (розподіл) або юнець (об'єднання) 
паралельних дій ; 
чорне коло вказує на початок (початковий стан) процесу. 
чорне коло в колі позначає кін ець (кі нцевий стан) . 
стрілки проходять в ід початку до кін ця та вказують порядок, в якому 
проходять заходи . 
Діаграма діяльності може розглядатися як форr-.,1 а блок-схеми. 
Схема бази даних - не структура системи бази даних, описана 
формальною мовою, яка підтримусться системою управл і ння базами даних 
(CYБJJ.) і стосується організації да 11их ;~ля стrюрення плану створення бази 
даних з розподілом в табли11і. Форма11ь1ю схема бази даних складається з серії 
фор:--1ул (правил), ЯКІ називаються обмеженнями ц1л 1 сност1 . Обмеже11 ня 
ціл і с ності забезпечує сумісність м 1ж ус і мп част1111ами схем и. Усі обмежен11я 
1н~р:1жn~оться однією мовою . 
44 
l lt)ІІ>J пя ~,(' 111 ),НІІ ;щ 1111 х вілі~ ·р,І(' , :~к ж рот, у бar·a ·r ,>ох r1rсликатах, яr< 
1'('t)рії. 1 t))1L'.11Ь tticї 11
JH)11 >1lT'1 1 ·1:орії" Ві ) t1Н)ІІілас ТОЧ ІІО б,пі лаrrих, ЯІ<У MOЖJJa 
f'lY~1·.11я 't:1ТІІ як 1:11'(' 1,1Т1tчн 1111 о6'скт І п, І 13 бу;t~,-якиі~ час. Тому схема може 
,1 і(т1 1Т11 формул 11, які Пр('лсташ ,яюп, обмсжеrrrrя ціл і сJJості, хаrа1<терні для 
_1од:пків. т~ 06 1сжсння, хщ нктс 1 11 і лля тнпу бази ла rr их , як , виражаються в 
t)дніі1 юні ба · н ланнх. 
У реляційній баз і ланнх схема визначає таблиц і , поля , зв' язки , індекси, 
пакети. процедури , функції, черги , три гери , типи даних, посл ідовност і , 
матеріал ізовані подання, синон і м и , посилання на бази даних , каталоги , схеми 
Ja,,a, Х !JL та інші елементи. 
Розроблена база даних складається з 8 взаємопов'язаних таблиць (рис . 
3.2 ), які призначен і для збері гання даних. 
Aceount 
+uid Profile 
+provide,- +id 
+enklil n +irst na,r,e 
+uset-_id +last- na,r,e 
+location 
І +user id 
User 
+id 
+ernail 
+passwor-d 
l 
Мedicine '11 
Skla d 
Categc:wies +id 
+id +narne +id 
- +descriptian +user id 
+nёІп'ІС +user id +medci ine_id 
+f"nedicirie_ id +imagё +quantity 
+price 
'І' 
l 
Cart T ra.dee-
+id +id 
+rnedcine_id +nan-oe 
+quantity + aaess 
Рису11ок 3.2 - Модель баз11 даних 
Дета.1 ь1-ю оп11шемо 11р11 ·значення таблиць. 
Табл 11ця tr se1·s (кор11сrув,1чі) м і ст11ть в соб і дан і необхідні для авториза ції і 
ідент11фік~щії кор1 1С1) в:1ч ,1_ Струк1ура табл~щі баз и даних наведеш~ в 1а6.'11щі З . І 
45 
Таблиця З. ] 
Стру1с·1'У)Ш тнб.1н1ці Користувачі (Use1·s) 
-
N~ п/п Н<1зва поля Тип поля Ключ Опис 
--
l ld INT РК І дентифікатор 
Електро 1-1на пошта 
2 emai l VARCHAR -
користувача 
з passwoгd VARCHAR - Пароль користувача 
Таблиця теdісіпе (препарати) містить в собі дані про медичні препарати. 
Структура таблиці бази даних наведена в таблиці З .2 
Таблиця 3.2 
Структура таблиці Препарати (Меdісіпе) 
N~ п/п Назва поля Тип поля Ключ Опис 
] ld INT РК Ідентифікатор 
2 паше VARCHAR - Назва препарату 
з descгiptioп VARCHAR - Опис препарату 
4 useг- id JNT FK Ідентифікатор користувача 
5 рпсе FLOAT Ціна товару 
Таб.1111ця ргоfі І е (профайл) м істить в соб і да ні необх ідні про користувача. 
Структура таб.11иці бази даних наведена в таблиці 3 .3 
Таблиця З.З 
Стру1аур;-1 таблнці профаііл (Pi-ofilc) 
1/1І Назва поля Тип поля Ключ Опис 
ld l ~т РК Ідентифікатор 
-
2 Л1·st - паше VARCHAR - І м'я користувача 
,., - ---
.) last - паше VARCHAR - Фамилія користувача 
4 locatioп VARCHAR - Адреса аптеки 
-- -
5 t1Sc1·- id INT fK l дентифі катор користувача 
- --
46 
1 ·:1 ,.1111щ1 a1..'1..'()l1111 ( ~11<:1~·111) 1k 11111, н ео)і Jt ,1ll i rrcof>xiю ri ; 1 .11я с11 11ори т1 111 
1,1..)!)1\СТ: 1~:111;1 ЧІ..'j)(''і \..'\)Іt і:1.111,ну 1\11..'режу . ( ' 1рук1ура таf>л 11пі (>(1·111 ЮІІІИ Х ІІ Н ВСJ І С ШІ В 
• ' 1 
,-;Jl) .1J1 1lt1 ., . ч 
Табли11я 1.4 
l ·\~' 11 11 Н:1 зв:1 поля Тн11 110ш1 Кточ Опис 
J 
І l 11ti І ІТ - І лс11тифікатор 
.__ І - -- __ _, 
Соці аm-,на мереже лля 
-') 
J рпїїісkг \ ! АRСІІ ЛН. -
І реєстра rt І r 
- І 
" ста і І VЛRCHAR - Електро11на пошта 
4 u. ег- id INT FK І дентифікатор користувача 
Таблиця са11 (корзи на) містить в соб і дані про замовлення. Структура 
таблиці бази даних наведена в таблиці 3.5 
Таблиця 3.5 
Стру1стура таблиці Корзина (Ca1·t) 
І 
t'{o п/п Назва поля Тип поля Ключ Опис 
і І Id INT РК Ідентифікатор 
І 
І 2 medicine- id JNT FK І дентифікатор препарату 
' 
Кільк і сть 11 ре 1 1арату, що 
~ 
.) quaпtity INT -
замовляється 
І 1 _ __J 
Таблиця categoгi es (категор ії) м і стить в собі категорії прс 11 аратів. 
Структура табл иці бази )lаних наве)lе 11 а в табл иці 3.6 
ТабJІІ щн 3.6 
Стру 1стура табJІиці 1снтс1·орії (Catego1·ies) 
Назва 1 юш1 Т11 1 1 JJ()J JЯ Клю 1 1 О1111с 
Id IN'I' РК Ідентифікатор 
2 па111е \І А І<С І IAR І І азва к;-1Тс 1 ·орії 
І 3 111edici11e id INT І це 11т11 фію~тор ІІРL' ІІ іІ І"111у 
_____. ...!..._ __ 
І 
47 
ЧJtl 'Y .22 19(,7.00X 11·~ 
Т:,6.111 1\Я 11 ]'1(1')\'' 1 )1' ' і І\  01·l lі. .'I· ) МІС.' \'111'1, В . 
' 061 JЩ 1 1.1 11pC tlctp ,:1'111 , НІ<І.  rrpoю1111.  
Т 'К()К). Структур:1 т:16.111 щі (іп11 J\:ш11х н tШСJ\С ІІ tІ в '\Hбm r tti ] .7 
Табл иr{я 3.7 
трукт~1щ п,блнці О1·dсг (Продажі) 
І -- -- - -
! 11 11 Назва пол;-- Тнп поля Ключ Оп ис 
І 
ld --- -
І l т РК Ідентифікатор 
І 
_"..,  111еdісіпе- id l t Т І:;К Парол ь користувача 
І 
Кільк і сть препарату в 
4 quaпtit·y lNT -
наявност1 
Таблиця tгаdег (постачальник) містить в соб і дані постачальника . 
-руктура таблиці бази даних наведена в таблиці 3.8 
Таблиця 3.8 
Структура таблиці Постачальнин.: (T1·ade1·) 
! п/п Назва поля Тип поля Ключ Опис 
] Jd INT РК Ідентифікатор 
2 name VARCI-IAR - Назва постачальника 
.")  adгess VARCHAR - Адреса постачальник 
3.2 Загальна структура системи 
Веб-додаток розроблений на основі sргіпg fгame\:voгk , яки й в своїй основі 
<.:тить архітектурний стиль МУС (Model Vіе\л/ СопtюІІег). Вибраний 
1111е\~ю1·k задає сти JІЬ розробки додатку у ви ~-ляді багатошарової арх ітектури , 
'.І. шару І3ід1юв ідального за доступ до бази дани х до шару предста влення 
псрфейсу користувача). Структура проекту (рисунок 3.2) в текстовий 
·:.1.актор Subli111e Text розділяється на три основн і ч асти1-1 и , 11ерша модел і 
) '3'\'ШJюван і в директорії 111odels, друга ко1-1тролери розта~ 1 юва н1 в директор11 
1111го!Іегs і трел1 11редставлення розташовані в д 1 1 ректорії \ i ie\.\1S. 
48 
r 
11... - ~ 
VIEW .... CONTROLLER ОАО .... DATABASE 
"'8 
SERVICE 
Uset \.. --- j 
. -
\. . \. . 
Рисунок З .З - Архітектура системи 
Кожна модель відповідає за свою таблицю в базі даних, в проект~ 
присутні такі модел і: useг, 111edici11e ргоfіІе accouпt сагt tгаdег sklad і 
' ' ' ' ' 
categoпes. 
Кожен контролер має в собі набір ді й для роботи з таблицею і повертає 
даНІ на представлення , в проекті присутн і так і контролери: аррІісаtі оп, useг, 
useг, теdісіпе, ргоfі Іе, сагt , tгade1·, sk lad і 011111iaL1th. 
В кожного контролера с ряд представлень, вони знаходяться в па~1ках 
котрі носять ім 'я контрОJ1ера , в свою чергу кожне представлення названо так 
само, як і дія за яку вона від110в ідає . 
Крім вище 11еречислених в проект і є ще ряд важливих файлів до 1111х 
;1.южна віднести: файл и няляштувань(сопfіg), файл шлях і в і ресурсів(гоL1tе · .гЬ), 
файл 11 ВІзуального офОj)МЛСІІН Я( .css) файл~, в11кор11ста 1-111х 
6іб.1 1іотек( етtіІехЬ).3.4 ТехноJІоrічні nспект11 програмного забезпече 1111 я. 
811браниі1 1·L1by 011 гаіІs по:1егшу розробку та подальше підтр11"1ш111я 
:10::~.::пків завдяк11 готов11:-.1 ріuн?11ш1\1 пр11 роботі з базою дан 1 1х , автоі\1ат11ч 1 юго 
ш·юув~ння залеж1юст~1і к:1:1еів за , ЮІІО\ІОГОЮ і\1ехан і зl\ 1у Dерепdепсу Іпjесtіоп . 
49 
ЧДТУ.22 1 967.008 ПЗ 
реалізаuії обробки запитів користувача контролером та 11-1 . цим задаючи 
напрямок програмуnання у MV стилі. 
3.3 Огляд роботи системи 
Система призначена для збереження і обробки інформаuії. Для входу в 
wеЬ-додаток потрібно пройти авторизацію, увівши свою електронну пошту та 
11арот,. 
в 
Реєстрація 
По1tНD 
Поропь 
Рисунок 3.4 - Ві кно автор11за uії 
І І і еля у<.: 1111111 юп) 11роходже1111 я а~л 01 11-зrщії. кор11стувач автоматично 
11epe1iJ~L' 11:1 1 ·0Jюв11у стор і11к , сторінк: с1 ворс11ш1 ·ш~ювлснь і продажу 
ме) ~ І І к:ІМL' І (ТІ в. 
Перепік препаратів 
Р11сунок 3.5 - Головне вікно прогрю.111 
l\11,ii \ t , 111 11 \)\І ~штс-к~1р :-.юже переглядат11 і нфор:-.1аu і ю з бази даних, 
l \) 't.11-:1111. :1t)) Н\\'l:l.ІЯПІ інфt)р,t~щію, і.1 пн,ож шукJТІІ І-ІсООлі..11-1) інфор1'1аuію. 
50 
ВИСІІОВІ(И 
П ісл я а на.11і1у 11ро6.1 1('м11 ннрі 111 'ІІІНІ 11111,11111 }1 'Іpy•1tiot ·o нt 11 ,пи; r. r<ого обл і ку 
пр 'ПЯJХ1Тін :Н1 1'('КН . )УВ 11ров('J t('ІІJ111 н11ш1і1 k11ую•1и х а 11ш1оr ·ів , таr<и х яr< Л І ІР­
лптска. в11явл ('ні ІІ('J1ол ік11 та псрсвап, GуJІ н rняті ;ю уваr ·и . у ре·зул ьтаті було 
ро·J1ю6лс1ю ,,,сl)-оріснтовану і11формшtій 11у систему. Ссрrзер11а частина системи 
яв.ТJясть 'Я ,, ·сl) -кро платформною тобто ·1т можна 1а11устити з буль я кої ОС та 
()Тр1ІJ\1:1ТІІ ло туп з браузера , 13ВіВІJJН 13і ;щовіл11у vvel1 -aлpccy для входу всистему. 
У процес і розробки до уваrн була взята можливість майбутній змін , тому 
програ 1ний функціонал бу13 розділений на незалежні модулі. 
В дан і й снсте 1і забезпечено централ~зоване збереження даних 
користувача , орган ізовано кращий супровід, та розширюваність інформаційної 
системи за рахунок використання новітніх технологій. 
Спроектована БД виконує функцію збереження даних необхідних для 
повноuінного функціонування системи і готова до змін та модифікацій. 
Система надає можливості перегляду препаратів, і вибрати препарати , які 
будуть додані до замовлення користувача. Ведеться облік препаратів, завдяки 
якому користувач зможе переглянути скільки товару у нього залишилось на 
складі, а також ведеться підрахунок доходу користувача. 
51 
- J 
tІ ) ll\'. )) Іt)() 7 .00X ІП 
<'1111('()] ' ВІН ·О Р11стл 1111 х )\)І( І ,: РЕ.11 
Н1\)\\' І\ ;\1)\,J1  ( '1 1
' \ 'µ \ il so11 ТІ\ l' Л 1 ·сІ1і1 ·с111г · оГ Орс11 Sot1rcc 
лрр\ і с:11іо11s _()_ 1. І 21 р . 
л РІ sl'Г\ l'г 11 -
· .11~1 т1ю111111іі ресурс І Режим лoc-i y rra: 
,. \\ \\ \\ .l'l'OSSl);\Sl' .<k/!)P/!)P/1 , . . . . 
1,ttp:--. , ()Ls1111!_2.c11/ti.1tc11l1 · 1 ·c 1ts t c ll ш1g/ap1 -scrvc 1·. 
J (~\\\'ІШl' 1~ісІ1 ·1гі · \'f.-/ 1 
• ' < s :11· ' 1011s 111а1н1gс1пс111 : Л C'o111p lctc C]L1 і сІ с to 
11• ,, іП'~'  І ; І'Ії сісп ' 1 а псt ~і11і ·
1111} ( · 11 1 17 1·1 1 ( ' · 
g osts 111 t11c МосІсгп Wai·cl1ousc 201 7. 250 
р. 
~ lпt гпаtіопа І Tcs·' t1·,,' g -l3oai·d Т cs t aL1to111at1· s1·c 1·u11g о fi · · rГ · І 
е 1111 tю11, L1toпa 
ннd A гt i kel Те tat1to111ati . ic1·L111g lЕлектрон ний ресурс] ; Code Pгoject _ Режим 
Jоступу до ресурсу : littp ://,,.,,,,._,,,, . testi11g-boa1·d.co111/testa L1to111atis i eгш1g . 
~агс Uпgег 50 Dгор І1ір & Wlюlesa l e Veпdoгs: Dгopshippi 11g List 
( Dгор \1 і рріпg & \Vl1ole. а І ег Book І ) - 2020, 500 р . 
6 Real 111 Studio [Електронний ресурс] / Ве 111oгepгoducti ve with Real111 
tudio - \11tp. : //гeal111.io/pгodL1cts/гea l111-studio . 
7 АР !Електронний ресурс] / Dе,,е І орег O\,eгv i e\v - Режим доступу 
,10 ресурсу : l1ttps://w\V\\1.sap.co111/ i11dex.ht111 I. 
8 Брайан К. Практика проrраммирован ия . / Б . Керниrан , Р. Пайк. Пер. 
с англ. - М.: Издательский дом «Вильямс», 2019. - 2 17 с. 
9 8011тко В.В . Комбі1юваний метод пошуку 0 11тимальн и х р1шень з 
викорис-1а 11ш1 м 3асобів теорії графів / В.В . Войтко, . В . Бевз, С.М. Бурбело, 
О.В . Гаве11ко // О1~т11ко-еJІ ектронні інформаці й но-енер 1~етич н і тех нології. - N~ 2 
(16). 2008. С. 67-70. 
І О 1· арс 11 а-Мош111а 1· . Системь1 баз да~-1111:> І Х. 11 01 1111 ,111 курс / Г. І арсиа-
~о.1 1 и 1 1а, ) ~ж. Ут~ман , ) ~ж. Уицом . М.: «Вильямс», 20 13. 1088 с. 
11 1· и .1 11,ма~юн Л.А . Карткові тех 1-юло 1·ії в t1 1ПОІ\1<1Т 11 ·1а~l ІІ І\ t аркстингу . 
Томськ: ІЗ 11юш 1111 н·1 во I ITJI, 2020. 379 с. 
12 КошtJ І С JІ КО І ~ .Л. М стОJ lОJ ІО J 'И 5І проскл1рона 11 11 > 1 1111<\юршщ1101111ь1:-: 
С ІІСТС 1 01) 1 <ІІІ ІІ ' З:ІІl І І І 1 1<ОІІІlС ІІІt11я JlB)'X ·зе р1<аJ 1 / 12 . Л . Ковш1с 11ко // Росс1 1 Псю1 1  
,11<nJ lе м1 1 ч ссю1іі жур11 .1 . 1 . 2019. N~ 4. - С. 38-4 1. 
52 
, 
'І / ~Т .. ... 19()7 .ООХ lls 
І ~ l<t)H:1.111..'1 lt,\) ( ) . ( ) . , ,. . ., 
· ,o111tL' 111 tiя с 1 ·1юрс11 ш, мсрсжсrю1 ·0 інфоrмаr 11 иrюrо 
L'l'P "ttШІІ1І\:1 у11ран.11 ін11я І,ом11:н1і с10 / О.О . Ковш1 с 11 ко // Hic rrи r< Х І СJІJ, ІJИІІJ,КОГ(1 
н:~ніt)І4:,.111,1ю1\) ун1нср · 11 1 ·ст ,. 
N11 І , том 2. 1
С • 2 1-26. 
І--1 І<ов:1.пснко О.О. І lc0Gx i;t11i cт1, вщюш1J(ЖСІJІJЯ інформаІ(ійних 
1'l'~ нt1лoi·ii'i та про, рамно, ·о :Зі.1бс·тсчс11ш1 11 а 11і ;trrрисмстві / О.О. Ковален ко // 
.. 111':111ЬНl)- С1'0НО 1ічні 1l()Jl1·1·1•\1 . .,  . . . . 6' . 
(.() •. ' ' НІ 1 с1 кут,тур111 OltJIJ J(f,f J прОГІJОЗИ на ру J ЖІ лвох 
,-, ~сячо.111ть: Терноп іль: ТН У, 20 І 9. _ с. 4 16-4 18. 
1.- к оваленко О.О . 
творення інформаційного середовища 
підnр1к 1ства дл я якісного прийняття управл інських рішень / О. О . Коваленко // 
регіональна перспектива. - 20 19. - N!:!2-3 (27-28). - С.1 2 1 - 1 28. 
16 Коваленко О.О. Сучасні тенденції управління інформаційними 
ресурсами підприємства / О.О . Коваленко // Методологія та практика 
менеджменту У ХХІ столітті : загальнодержавні, галузеві та регіональні аспекти: 
матеріали VJ Міжнародної науково-практичної конференції 26-27 квітня 20 19 р. 
м . Полтава . - Полтава : ПУЕТ, 20 І 9. - С. 368-370. 
] 7 Коваленко О.О. Теорія інформаційних взаємодій на підприємстві / 
О.О. Коваленко // Збірник наукових праць ВНАУ. - Вінниця : РВВ ВНАУ, 
2020. - Вип . 5. - Т. З. - С. І 56-159. 
] 8 Маклаков С.В. Моделирование бизнес процессов с ВРwіп 4.0 М.: 
Д11 аJJОГ МИФИ, 2020. - ] 24 с. 
19 Модульне тестування (Uпit testiпg) [Електронний ресурс] / Qalight 
202 1 Режим доступу до ресурсу: l1ttp://I, ,i,,. qa І igl1t .со 111. Lia/baza-
z11a11/111odulпetestuva11пya . 
20 Островерха Р.Е. Орrаніза 1tі}1 обJІ і ку: шшч. посіб. І Р.Е . Островерха . 
К.: І ~ентр учб. л-ри, 20 І 9. - 568 с . 
21 Гlотриваєва Н.В . п1 11 та 11 ерсп ект11ва обл і ку лрац1 : теоретични й 
ас11скт / Н . В. Потриваєва , І .В. авче 11 ко // Еко1юІ\1і•1н 1 111 форум. - 20 19. - N~ І. 
С. 93-98. 
11 Роб П . Системь, баз дш 1111 , 1 х: проект11рован 11 е , реализацш1 11 
~ 11рнш 1енне / п. Роб, к . Коро 11 ел. С І 16.: 1;х Іі- 1 Jc I србур r', 20 18. - І 040 с . 
53 
(\~м 1,1.) .1 1 . Л . С'онl'р 1 11 с 1 1L'твот11111 с тру;щ т, r rpoм r,r11r1 rc11111,r x 
щ,с)t1ІР11ят111х І Л.Л. Се 11<0 І/ І Іі ;щр1 н · ~ство, 1 ·ос rш;щрслю і право . 20 17. N~ 
4. с. 13S- \ Jб. 
.24 СокоJюв В. 10. 111формаці і1 11 і с истеми 
тех 11олоп r : Н авчальний 
Jll) (,j6НІІК К11ї1З ЛУ1К1 , 20 19 . - 34 І с. 
54 
J lОЛЛТОІ Л 
ЗЛТUЕР Л)К І :110 : 
Зав .~,е;tрою І І ЗЛС, професор 
4"ft(@ Первун інсr)кий С.М. 
,, 23·, (У ( 2022 р . 
ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ КОНТРОЛЮ МЕДИЧНИХ ПРЕПАРАТІВ 
АПТЕКИ 
Специфікація 
482. ЧДТУ 221967.008 
Листів 2 
Ро~робник Поляк А.В . 
Керівник Рі ,цкокаша А .А . 
2022 рі к 
55 
482. Ч)~ТУ .22 19(,7 .008 2 
По-зт,чс111щ 
11 а іі І\1СІІУ ва 1111 SI Примі·п(а 
482 .чдт .22 1967-0 1 12 0 1 
Л і стин г програм и 
~221967-0 1 3401 Інструкція користувачев , 
4l.ЧДТУ.221967-0 І 90 О І Граф і чн і матер і ал и 
,----------~----------г---, 
1-- --------~ - --------, ---! 
,---------~---------г---, 
,---
-
---- -- --===±========+===~ 
,_ __________ --:_'_i ____________T _ 
--------- - --
56 
ДОДАТОК Б 
ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ КОНТРОЛіО МЕДИЧНИХ ПРЕПАРАТІВ 
АПТЕКИ 
Лістин г програми 
482.ЧДТУ.22 1 967-0 1 12 01 
Листів 15 
Розробник Поляк А.В. 
Черкас 11 2022 
4~2 .Ч) lТУ . 2 1<>()7-011 2 0 1 5 
'jM JCT 
~ ())1 ' .111) ..................... . . ................. . .... . ............... ....... ... ...... ....... ........ .............. .. ... ... . .... 59 
1- l{<)нтролср ... ............................................ .. ................... 62 
·· ·· ·········· ···· ···· ·········· ·· ······· ·· ··· 
'і Фаіі.11 :-.1ар111рутів .. .. .. ............................. .. ............... 278 
... ······················ ······· ·· ············ ·· ····· 
-+ Фаіі:1 в11корнстаннх 6і6~1 і отск 
··· ·· ····· ··· ······ ···· ··· ······ ·· ··· ······ ··················· ················· ··· 26 
58 
, 
4~ , l) ) ' ' І ' 
, , 1 Ч(> 7-0 І 12 О І б 
,1.,,.,s  l 1:- 1.'1 ' Лt: І і \'1.'1{ l'C\ Н\І :: ІЗ:1 .s , 
\, 
11 . .1 1,:...:cs:-t)І' : p:1ss\\'OГ(i 
;1 І • 
li:is ()І1С :pt\)1ik. ticpcщkпt : :(icsti·oy 
li:is 111:111~· : пнхіі sіпсs. ticpcщic11 t : : (іс tгоу 
]ias 111ану :ассонпts. dcpc11(ic11t : :(icsti·oy 
11115_111,111у : fa,,oшitc_posts, dcpcпdeпt : :destгoy 
l>ct()J"C _ sa,1c : c11Cl'ypt_pass,~,oгd 
,,il idatcs_pгcsc11cc_of :е111аі І 
11 ,,alidatcs_uпiqueпess_of :е111а іІ 
,·alidatcs _ сопfіппаtіоп_o f :passw01·d 
"alidates_pгeseпce_of :passv\101·d, оп: :сгеаtе 
def self.aut]1eпticate( ешаі] , passv\,oгd) 
useг = fiпd _ by_  е111аі ]( ешаіІ ) 
if useг && useг. passwoгd _l1asl1 == ВСгурt :: Eпgi11e.l1asl1_ secгet(passwoгd , useг. passwoгd _ salt) 
user 
end 
end 
def eпcгypt_pass,~1oгd 
геtt1П1 і f pass\\1oгd . ЬІ апk? 
self.pass,~1oгd_salt = BCгypt::Eпgiпe.geпeгate_salt 
self.pass,~1oгd _I1asl1 = BCi·ypt: :Епgіпе.І1 аsІ1_s ccгet(pass,~101·d , pass\\101·d _ salt) 
епd 
епd 
J\1cdisi11e 
class МесІіsі пе < Acti veRecoгd::Base 
beloлgs_ to :t1seг 
l1as талу :Іі 11е_ ile111s 
І1аs_111:шу :оп.! е1·_ lists 
І1аs_алсІ І)сІоп~s tо_тапу :са Ісцогіеs 
ЬеІ'оге_сІеstгоу :cпsшe_1юt_1·efe1·e11ced_l)y_н11y Іі 11е it cm 
59 
J 
7 
І . і·ІІб :11;1111L\ :ck::-L' iptio11, : 1)гkс ,,·"s, .. 
, •:11 , , ' 1 ,., , t:1 1t :L' . Іпн.: 
,·:1Іі<і;1І<.':- :p1·i('l', tНІІ11l'1·kalit y: { ~1·саtсг 111 :111 : О } 
kf sl'l(scat'c\1( scrtгcl1) 
і ( Sl'il 1·с 11 
scl(\\1!1et'e("11a111e 1ikc ? ", "¾# {scaп;\i }¾") 
clsc 
se1(all 
def епsше_ поt_ геfегепсеd _ Ьу _ ап у_ lіпе_ і te
111 
if Ііпе_ iteшs.eшpty? 
гetu111 tгue 
e]se 
eттoгs . add(:base, 'существуют товарнь1е позиции') 
retu111 fa]se 
end 
епd 
end 
РrоШе 
class РгоfіІе < Acti\1eRecoгd::Base 
beJoпgs_to :useг 
111ou11t_up]oade1· :c1vataг, А vata1·Uplondc1· 
спd 
Accouлt 
class Accouпt < ActiveRecoгd ::Base 
beloпgs _ to : useг 
епd 
60 
-1·1 -.:s ( ,: 1 1·1 ЛL'ti,,c l~cctч'tl :: l ~ '• t ..•,·· ,,,  
І. '. 
І1:1:-; 111:111)' :1it1c i1L•111s. <kpl'11tk111 : :tkst1·oy 
,Jc{ ,ні(і pt)Sl(p1)St і(і) 
l't tІTet1,'  ,·1,·111 lit1c itc111.,-.1·111(! t 
"' ·' )Y(post ill: post itl) 
•1 • ., 1 І.' 11·,·сп І і t с111 
-
с11п·с11t_ i tc111 . qнa11tit y +== І 
сІ~с 
ctiп·c11t_itc111 = liпc_itc111 s. ЬL1ild(post_icl : post_ id) 
c11d 
cuiтcпt_itc111 
e11d 
deftotal__pгice 
]іпе_ ite111s. to_  а.sшп( &:total_pгice) 
епd 
епd 
СошрІаіпt 
c]ass Co111plai11t < Acti,1eRecoгd : :Base 
end 
Linelteш 
class Li11eHe111 < Acti,1eRecoгd::Base 
belo11gs_to :post 
be]o11gs_to :сші 
def totaJy,·ice 
роs!.ргісс '~ qL1aл tity 
end 
епd 
01·dci-
cJass О1·dсг Acti,,el~ecoJ'Cl:: Base 
l1as_111u11y :оїїІе1· lists, depeлcteпt: :dest,·oy 
def add _pos!(post_ і(І ) 
сuпепt itc111 = tmle1· li s t s. 1iпcl_ Ьy(post_id : post_ id) 
jj' СlІІТС\11 іtсш 
61 
1111• ІІІ ,,, І І І ,1111111111 І 
1 
, І· І 
11111 11І ІІІ ІІІ 
1 
tІІІІ 'ІJ І 111•111 
1 
, •11 11 
~Іс'І 11,111І р1 tt·t• 
11111,·1 l1 s1~.10 ;u, 11 111 ( & :10 1;1I pi·i<.;<.:) 
1•111І 
01·lll·1·J"isf 
t:im,i- CJ1·c!(;1·J_isf ,.,, Лcti v<.: l{<.:<.:ord :: HusC; 
І,t:Іи11µs 10 :post 
/)(;Jm1gs 10 :ord<.:r 
d<.Jюtc:11 pri<.;(; 
p(lst. pІ"i<.:<: * qшmtity 
t:nd 
t:лd 
2 Контролер 
Application C ontrolJcr 
t:l,1ss Applic1;1tioлO,пtroJ/cг ,.,, Actio11Co11tгol lc,- :: B 1;1sc 
pп,Ux;t 1 і·(JП1 1ін1;сrу wi th : : ex ccptinп 
IJC;/J)(;J" m<.;1/юd :curгe11 t ust 1· 
pri vu1<.; 
ck:f" (;UfT(;Jl ! LІsсг 
rc,,(; lfl"r<.:111 t1sc1· ІІ= Uscг. fi 11 d(scss io 11 [:t1 sc1· iLlj ) i f' scssio11[:t1 s(;1· i(ll 
l:ІНІ 
l:11( / 
62 
10 
c11d 
dc{ 11с"· 
@'са11 = Ca11.11e,v 
епd 
def edit 
епd 
def create 
@cart = Cart.лew( caii_J)aгa111s) 
respoлd _to do /fо гтаt / 
if ®Ca11.sav<:: 
format.J1tm] f 1·tdi1·cct to @саг! , 110Іі се:' агІ was SL1cccss l\1lly c1·ec1te(I.' \ 
1oгmat .j soл f ге::лdсг :s lюw. sta!L1s: :сгеа t ссІ , locatio11 : r cai·t } 
cls(; 
furmat.]1t111J f ГСІ1(Jс1· :лсw J 
Іітлаt .jsол f 1 ·сщk:1· jsoп : (tt СіІ ГІ .СІТО / "S , StiІILІ S: : 1111p1·<н.:cssal)lc CІllit y / 
спd 
спd 
dc1·u,x lat<.: 
гсsрол<.І to <.l!J / Іілтаt І 
63 
11 
i f (g)сагt.щ datc(caгt p :11·.1111s) 
tоппаt . 11 11111 { ГL'<iiГL'l'I 11) (O'l':11·1. 1)1)IЇl't': 'С:11· 1 " ';JS Slll'tTss/'1111, щн!;~tс<І .' } 
toпш1tjso11 { Гt'П,k1· :S])\)\Y. st.1111s : :1,k, І 1)С.ІІЇ1)1) ; (о\·:11·1 1 
clsc 
('1)(1 
еп 
@ .:зn.dбrгоу іГ ([i'ca11.id = "essi()п [ :ca11_id] 
s ssioп [ :са11 _id) = пі] 
г spoпd_to d() if()nnat 
fоппа1.Ін111І { геdігес1_10 pos1s_uгl . поt ісе : 'Теперь ваша корзина пуста ! ' } 
foпnat.j оп { J1ead :по_с опtепт ) 
епd 
епd 
def set cart 
щ,с:ю1 = C<:1rt.find(paгams[:id]) 
end 
def cart_JJaгш11s 
рагшn s[ :cart] 
~пd 
Зеf іп,1а]іd сш1 
Іоggе1·. еггог "А ttempt to aGcess іл v.:1 ]id с,иІ // 1р шш11 s І: itl JJ " 
гediгect_to posts_uг] , поtісе: ' J л valid с:ш1' 
~псі 
кІ 
64 
12 
Coшpl;tiпts 
class (\,111pl:~iпts(\)1H1\,\ll'1· Лрр1 Їl' :11 іtщ( \,111 І't)І ki· 
l)ef<)H' ,J('tЇ()\1 :sl't l't)ІНрІ:1 ін1. t)11Іу: І :s1н'"' · :c(iit, : щхіаtс, :tkstmy j 
l)е1с.)І\' :J('I Ї()11 :Гl'ЧlІЇГl'_  llSCt· 
d1..J i1нkx 
@'('t)t11pl:1i111s = 0111pl.tiпt.<1II 
епd 
def s]ю,У 
епd 
def пе\\· 
@сошр]аіпt = Сошр]аіпt.пе,:v 
end 
def edit: end 
def create 
@comp]aint = Сошр]аіпt.леw(со111рІ аіпt_рагатs) 
if @complai11t.sa,1e 
redirect_to coшplaiлtsyatl1 
else 
render :nev-1 
end 
end 
def update 
end 
def' dcstгoy 
@co111plai11t.dcstгoy 
гсsропd to do j їогтаt І 
toп11at. l11m l { 1·е<.іігесІ_ 10 compl,1i11Іs шІ . 1101ісс : ' І ! ост ус 1 1 с 1 11110 уднJ 1 с 11 0 . ' j 
65 
4~2. Ч) ~Т .22 19б7-ОІ 12 01 13 
епd 
епd 
dcf гсqнігс нsсг 
гedi1·cct_to гoot_pat\1 нпІс s сштспt_usс1· 
епd 
def set_ co111plai11t 
@co111plaiпt = Co111plaiпt.fi11d(paгa111s[:id]) 
епd 
def сошрІаіпt_рагашs 
para111s.гeq uiгe(:co111p \ aiпt).pe1111it(:titl e, : descгiptioп) 
епd 
епd 
Linelteшs 
class Lіпе1tе111sСопtгоІІег < АррlісаtіопСопtгоІІег 
iш.:lude СuпепtСагt 
Ьеfоге_асtі оп :set_cait, опІу: [:сгеаtе] 
Ьеfоп:: асtіоп : sct_li пe_item , 011\ у: [:s110,,V, :edit, :updatc. :<.lestгoy] 
defiпdex 
(а Ііпе items = Li11elte111.a ll 
щІ 
e11tl 
СісЇ ІlС\\1 
((/ Іі11е ite111 = Liпe ltem . пew 
c11tl 
66 
4~2. Ч)~Т 1 . 22 1t>б7-О І 12 01 14 
c11d 
post ,..,, Post.1iпd(paгaiпs[ :post_id] ) 
@Ііпе_іtс111 = (a)caгt.add_post(post.id ) 
геsропd _ to do /tоппаt І 
if @liпe_ite111. а\1е 
fo1111at.!1h11! { гediгect_to @Ііпе_іtет.сагt } 
foппat.jsoп { гепdег :sІю,~, , status·.  .·c i·eated , Iо са t·1 011: @І·ш е 1. te111 } 
еІ е 
fоппаt.11hп] { гепdег :пе,,., } 
foппat.jsoп { гепdег j soп: @Jіпе_іtеш.епогs, statнs: :uпpгocessable_eпtity } 
епd 
end 
end 
def update 
respond_to do /foпnat/ 
if @Jine _item.update(liпe_ item _рагатs) 
foпnat.html { redirect_to @Jіпе_іtеш, поtісе : 'Lіпе ite111 was successfull y updated.' } 
foпnat.jsoп { render :sl1ow, status: :ok, І осаtіоп: @Ііпе_іtет } 
else 
foпnat.litm J { гепdег :edit } 
format.jsoп { гепdе1· jsoп: @Jіпе_іtе111.епогs, statLJs: : ш1pгocessabl e_e11tity} 
епd 
епd 
епd 
def destroy 
@Ііпе_ iteш.destгoy 
гespoпd_to do / іоппаt / 
foг111 at.І1tm l { гed ii·ect_to l іпе_ itcm~_ шІ , ,ю tі сс: 'Li 11c ite111 ~,as sL1cccssГL1ll y cles t юyetl.' J 
67 
482. Ч) {ТУ.22 1 967-01 12 0 1 j 5 
{i.,1·111r11.j s\m { Ін~аtі :110 co11tc111 } 
с1ні 
е1кі 
def sct_liпc_ і1"е111 
@Ііпе_і1"е111 = Liпelte111.fi 11d(paгa111s[ :id]) 
епd 
def Ііпе_ ite111_paгa111s 
рагатs.геquіге(: І іпе_ ite111 ). peпnit( :post id) 
епd 
end 
Onшiautl1 
c]ass ОпшіаutІ1СопtгоІІег < АррІісаtіопСопtгоІІег 
Ьеfоге_  асtіоп :сштепt_геsоuгсеs 
def сгеаtе 
if@useг 
@accouпt[ useг: @useг] 
else 
@L1seг = @accoш1t.cгeate_useг(vk_pa гa111s) 
епd 
@accouпt.save 
sessio11[:L1seг_id] = @L1se1·.id 
1·edi1·ect_to пеw _post'_J)a ll1 
спd 
ргі ,1utc 
dеГ сштспt гсsош·сеs 
@ассош11 = Ассош1 t . І іпd _ 01·_ с1·еа Іе_  Ьy( Lti cl : П LІ(І1_І1 аs І1r :t1icl] , 
pmviclci·: aLttl1_!1asl1[ : рго,1 ісІе 1·] , 
68 
01 
'-'111 ,н \: ,шt\1 \1,,,1,1 : ~·111аіІ ]) 
l ( н:- ' l :-1..'І t"i 11,і 1,, ,/  \.'111:'ІЇ 1·. !"'\~  Jt11 І 
1аsІ1І :111ti) ]І :1..·111аі\ ]) 
ti ,1· , k рага,11~ 
,,з:--s\\ (,rd "# {г аш..і( l ОО) 1 ~ашрk pas::-\\ огtі {п шtі( І ОО) j" 
{ 
ешаіl : autl1_ l1asl1[ :іпtо l[ :сшаіl ] . 
··спюtе a,atar url: autl1_ l1aJ1[ :cxtгa][: гa,,.. _iпto][:plюto 200) . 
pass\\·ord: ра, , \\·огd. 
n:iss\\ ord_  сопfіппаtіоп: ра S\\ огd 
end 
protected 
def auth_  hash 
request.eny['o:mruauth.auth'] 
end 
end 
OrderLists 
class OrderListsController < АррІісаtіоnСопtгоІІ ег 
include CurrentOrder 
before_action :set_order. only: (:crcate] 
before action :set огdег list. only: [:slюw. :edit, :update, :destгoy] 
def index 
~order_ lists OrdcrList.all 
end 
def show 
cnd 
defnew 
482· ЧЛТУ .22 1967-0 І 12 О І 17 
а 01·dc1·_!ist = OгdcгList.пc\\' 
e11d 
dci' cdit 
e11d 
de{ сгеаtс 
post = Post.fi пd(paгa111s[:post_id]) 
@oгdeг_list = @oгdcг.add_post(post.id) 
геsропd _ to do ІfоппаtІ 
if@oгdeг_]ist.sa,,e 
fo11пat.l1t111 l { гediгect_to @огdег_Ііst.огdег } 
foппat.jsoп { гепdег :slюv., , status·•  ·. c1·eated , І оса t·1· 011: @ огd  ег 11· st } 
else 
foг111at.l1t111l { гепdег :пеw } 
fom1at.jso 11 { гепdег j soп : @огdег_Іі st . еп-огs, statL1s: :LІпpгocessable_eпtity } 
епd 
епd 
епd 
def LІpdate 
геsропd _10 сІо Іfопшt t І 
іf @огdег_ list.L1pdate(o1·de1·_Іi st_paгa111s) 
foп11at. l1 t 111l { 1·edi1·ect_to @01·deг_li st , поtісе: 'Lіпе ite111 \Nas sL1ccessfu lly LІpdated.' } 
fo1111at.j so11 { 1·e11de1· :sІю\~' - status: :ok, Іосаtіоп: @oгdeг_li st 1 
clsc 
fітш11.І11111 І { 1·епdе1· :edit } 
fi)пш1t .j so11 { 1·e11<.ie1· jso11: @Ol'de1·_li st.e1Тo1·s, statL1s: :L111pl'Ocessat)lc_c11tity} 
спd 
епd 
епd 
dei' cies1юv 
70 
4-82 . Ч ) ~ТУ .22 1 9(,7-01 12 01 18 
i·cspo11cJ_10 (іо / f·<.>п11а1 / 
j• 1•1 11·11 !111111 { пхІін.:сt 10 опіс1· І · ' І , · І · . . d, 
0 ' · - _ 1s s_t11 , 11 0І 1 сс: ' І~ 111с 1І с111 was st1cccss ft1 lly clestroye . } 
f:н,~н11. jso11 , l1cad :110 сопtепt \ 
' • - J 
def set_ oгdcг_list 
@oгdeг_li st = OгdeгLi st . fiпd (paгa111s(: id]) 
e11d 
def oпicг_Ji st_paгa111 s 
paгa111s .гeqt1 i ге( :огdег_] і st).peппit( :post id) 
епd 
епd 
01·de1· 
class ОгdегsСопtго]Іег < Арр]ісаtіопСопtго ІІ ег 
Ьеfоге_асtіоп :set_oгde1·, 011J y: (:sJ10w, :edit, : щхІа tе, :destгoy] 
гescLte_ fго111 Acti,,eRecoгd :: RecoгdNotFoш1cl , \.V itl1 : :іп,,а Ііd _ огdег 
def іпdех 
@огdегs = Огdег.аІ] 
епd 
dеГ s110,~1 
епd 
~~01·(!сг == ОгсІе1·.11еw 
CJ1(f 
tІеГ e<.iit 
с11сІ 
7] 
4 Х2. Ч) ~ТУ.22 1<J(,7 -О І 12 0 1 19 
dc{ ~,·с,11 {; 
((і\опk1· = OІ'<kг. 11c,,·(t)t'tkг рагатs) 
t\;~pt)tнi_1t) (іо 11-'опшlt І 
j { ((r01·dct'.S,1\1C 
t<.ш11аt . \11111 І { 1·c(iii·cct_to @01·(ісг, поtі сс: 'ОпІе1· ,1,1as sL1cccssf·L1lly сгеа tе(І .'} 
t<..)ппat.jsoп { гепdег :sІю,\', st at щ;: :cгea ted , Іосаtіоп : @огсІег } 
clsc 
toп11 at.\1tшl { 1·епdе1· : пе,\1 } 
foппat.jsoп { гепdег jsoп: @огdег.епогs, status: : uпpгocessable_  eп tity } 
епd 
епd 
епd 
def update 
respoпd_to do Іfоп11аt І 
іf@огdег. update( огdег_рагашs) 
foп11at.l1t111! { гediгect_to @огdег, поtі се: 'Огdег was st1ccessfLІ lly LІpdated.' } 
foп11at .jsoп { гепdег :slюw, statLІs: :ok, Іосаtіоп: @огdег } 
else 
fo1111at.l1t111J { гелdег :edit} 
foгmat.jsoп { гепdег jsoп: @огdе1·.еггогs, statL1s: :L111pгocessable_eпtity } 
епd 
епd 
епd 
def dest1·oy 
@oгdeг.destгoy if @o1·de1".id == sessi oп[ :oгdeг_ici] 
sessioп[:oгdeг_id ] = п і ! 
геsропd _(о do І Гоппаt І 
toп11at.l1t111l { 1·c<.li1·ect_to post s_шl , по tі се: " } 
foппat.j soп { І1сас І :по_соп t еп t J 
e11d 
72 
20 
~z'м<k1· - Опkг.1іщі(р:11·.н11s( :iti]) 
'Jlti 
рагзтs[ :огdег] 
e11d 
def i11\·alid _ caгt 
Іоggег.епог "Atte111pt to access iп,ralid огdег #{paгams[:id] } " 
redirect_to posts_uгl. поtісе: 'I11,1alid огdег' 
end 
end 
.1edicinc 
c]as MediciпesContro]Jeг < АррІісаtіо11СопtтоІІ ег 
before_action :set_medicine, on]y: [ :slюw, :edit, :L1pdate, :destюy, :fa,1oшite) 
Ьеfоге_  асtіоп :req uіге_  user 
def index 
~ medicines = Medicine.seaгcJ1(paгams[ :sеагсІ1 ]).опІе,·(рапнп s[ :soгt ]) 
гender :іпdех 
end 
def s]юv., 
@теdісіпс.іпсгетепt!(:раgе vicws) 
end 
сІ сf пен, 
~отссІісіпе = Меd і сіле.пеw 
с1кІ 
73 
..J •' ' 11 l І \ ' ' І О(, • () 1 І ) О 1 
(іс{ с1·с;1/ с 
11,"it' ,'t JlC t'\111\.'tlt \1:-•'І 111•' Jl • , І І J 
. , і ,, ' ,\t І. lllt '111 \1(/ 'І''-І p;)t;)tl),) 
j!' ~11 К\.іІСІ11С '- ;l \ ·с 
··е,і1гt~с 1 і\' 111t",i1c111c, р:~1І1 
de:· updзt 
,-e5p()nd_  tC' d() fonnat 
j; .!:<- т d1ciпc.update(medicinc_J)ara111s) 
fо:111а: .інт і геd1гес1 ю (8,ІПсdісіпе. 110ticc: 'ЛікlІ ycllЇWllO об1101Злс110' ) 
ej 
foпnaт.htm ] ' rendeг :edit 
епd 
епd 
def destro) 
@medicine.destгuy 
respoпd_to do foгmat 
foпnat.htm] { 1<::dіп:<: І to m<.;di<:im:~ ш·І . пuticc: 'ус 11сш1ю ) , щ. н:11о .' } 
end 
end 
def гequire_  uscг 
гedirect_to гoot_JJat]1 ш1/css <.:штспt LJ ~i;i· 
епd 
74 
482. ЧДТУ.22 1 967-0 І 12 О І 22 
dcf' ct mс(Іісі ,ю 
~,)mcdici11c = Medici11e. fi11d(paгains[ :id]) 
c11d 
dcf 111cdici11c _рагатs 
par·a111s . гcquiгc(:mcclici11c) .pcп11it( : 11a111c, :desciptioп, :q ua пtity :ргісс, :iinage) 
c11d 
c11d 
P,·ofilc 
c!ass r ,·ofi lcsC011tJ"O!!c1· Л ррІі саtі опСоп!го !І ег 
І)сfогс_ асtіоп :сштспt_ртfі! с, оп!у: І :cdit, : щхІаtе] 
dcf ссІі1 
eou. с,· = Uscг. Пщ!(paгamsl : Lrsc,·_i d]) 
c11d 
сІсГ щхІаtс 
еrкІ 
(kГcurтc111 JЩ)/Їk 
f!І ртІіІс P1·()fik. liщl( p,m1111s / :i(IJ) 
ещІ 
<kf'1 юІіk рап1111s 
ра1·а111~.І\'(1t1і1·с(:рюf1• Іс). рспш. t( : t·1 1.::.;1 _11,.1 11 1с.•: :. •• І,ї sІ _ п ,·  imc • •· І ос,1 tі о 11 . :а,·а t аг) 
t'щІ 
s,,~~io11 
\'Іа:-:- S •~:-і\,ІІ:-( 'tННІ't) І\сг ..._ ррІісаt іоп( онtгоІkг 
\kt' 11~,,, : ~·,нІ 
75 
482. Ч)~ТУ.22 І ()67-0 І 12 О І 23 
tisc1· == Usc1·.autl1c11ticat'c(1)•~ ip'i t І11s, ... с111а 1. ! ] .. 
- - , · 1· ' pai amsl : pass,~1cщl ]) 
J 1lJS<.;;I 
. essioп[:u c1·_ id] = нscc id 
гcdi1·ect_to 11c,~1_post_patJ1'  11 о t'i cc. . ..  Loggc(i і11 ! 
clsc -
tlasJ1.110,,,1.alcгt = 'J11\1aJid еша·І1  о1 . pass\.,,01·d' 
гепdсг 'пе,~1 • 
епd 
епd 
deflogiп_ ,~1itl1 
sessioп[:useг_id] = paгa111s[:id] 
rediгect_ to пе~1 _post_patJ1 
епd 
def destгoy 
sessioп[ :useг_id] = пі! 
rediгect_to гооt_uгІ , поtісе: :Logged 0L1t! 
епd 
end 
Usc1· 
class UsегsСопtго]Іег < Applicatio11Co11tгolle1· 
Ьеfоге_асtіоп :set_useг, опІу: r:sJю,~,, :eciit, :11pdate, :destгoy, :сІ1апgе_реппіss іо11 ] 
be101·e_actio11 :гe() L1iгe_L1se1·, exccpt: l:пс,~1 , :сгеаtе] 
dcf iпdex 
@uscгs = Uscг.01·de1·(:e111ail) 
епd 
<lef пе,,, 
~1'Н е1· = Usег.ПС\\' 
t'ІНІ 
76 
482. ЧДТУ.22 1 967-0 1 12 0 1 24 
dc( crcatc 
(iyuscr (Jscг. 11cw(uscr r arams) 
j( (([3U!-iC/".S<I VC 
(а)ргоfіІс (ct3L1scr.crcatc r ro filc 
,·с(Іігссt 10 с,І і t usc,· rrofi lc rath((Щuscr.id , ® rrofile.id) 
clsc 
,·сп<ІсГ :11cw 
с1нІ 
с,нІ 
(lc/' 11p< l11I L' 
j/"(rl llSL' l ', lІptl 1 1I L'( l l S L' J ' p 11 1·111 11s ) 
І l : i s li/ :s tІl'l'l'ss / ' І 1 1 ·1 1 І і k 111нl : 1 1L·tl ' 
clsc 
І't'ІІ <k І' : \ ·1Ііt 
L' ІІІІ 
, І l1:Sl'1 . І '~11 1): 
1 '11нс ·t 11, t'I' '' р:нІ 1 
\ '1) і 
1kt' ·'1.1 ;' , ' І' 'ІЛ1і ~~і\Ч1 
, . . , ti, t'l' аtІ111ін) 
-:• 1,,'1 І \'J, ІІ ,'{,1111111 .. ' 1 . . 
І \i1t ,','t \, ' ·І ,.І. 
77 
482 ч; 1т, , 
• ~ .У • 22 І tJб 7- U І І 2 О І 25 
мrгcqui1·c_usc1· 
1·cdi1•cct_to юot_pat\1 ш1\css сt1п-с1н L1scг 
c11d 
dcf" sct usc1· 
~ usc1· == Usc1·. fiпd(paгa111 s(: id]) 
1
c11d 
dc{ uscг_pa1·a111s 
l)aгams.гcquiгe( : usc1-). peп11 i t(:e111ai\ :i)ass ·d . . 
' wor , .passwoгd_confiпnatюп) 
c11d 
З Фа йл маршрутів 
Routes.l'b 
Rails.appl ісаtіоп. гоu1 cs.d,·aw do 
гcsouгccs :li пe_it c111 s 
гesouгces :сагІ s 
гcsouгccs :о гсІегs 
геsош·ссs :o гdcг_li s l s 
гоо1 'scssioпs#пc,,._, , 
gel 'aL1Іl1/,,ko11 І ak l c/ca llback ' , І о: '0 11111 iautl1 #cгcate' 
ГСSОLІ ГСе : LІSСП:, сІо 
ГСSОLІГССS : pгofilcs. опІу: r:c<lit. :щхІаtс] 
get :сІ1апgс_рсппіssіо11. 011: :111c111l)c1· 
епd 
1 ·csouгccs :posts 
гсsош-сс :sessioп . опІу: [:псУ,1 , :сп~а1е) tlo 
tlclctc :tlcstюy. 011: :collectio11 
gc1 :logi11_ \\1itl1. 011: : ше111Ье1· 
сщ\ 
геsонгссs :co111p\ai11ts 
ещі 
78 
0 1 2(, 
4 <J)й Н ,11 НН"ОfНІСТ•НІІІ ' r.. · r:. . 
• ' ,Н,),ІІІО1't.'К 
(;сшЛІс. 1·l) 
g '111 ' sq1 1·  1с.', ' 
gc111 "tkт~1ч-гLІЬу" . :гсquігс =' "Ьсг~·рt" 
о:еІП 'sass-гails'. '-' 5.0' 
gem 1u<;:,1, ]1tic1·' . ,,-_ І .".1  . О' 
gem ' oftee-гai l '. '-> 4. 1.0' 
gem 'rulюcop' 
gem ~jqueгy-гail ' 
gem 'rurbo]iпk ' 
gem Jbuilder'. '- > 2.0' 
gem 'sdoc'. '~> 0.4.0'. gгoup : :doc 
gem 'quiet_ assets' 
gem 'ргу' 
gem 'omniauth' 
gem 'omлiauth-,1kontakte' 
gem 'carrier,~1ave' 
gem 'тіпі_таgісk' 
group :de\1clop111c11t. :test do 
gem 'bycbug' 
end 
group :dc, с]ортспt do 
gem \~1cb-<;011sulc', '~,.... 2.0' 
ge111 'boot stп1p-si.1ss' 
ge111 'Ьoot st гap fстл' 
ge111 's1xiпg' 
епd 
79 
ДОДАТОК В 
ПРОГРАМНЕ ЗАБЬЗПЕЧЕННЯ КОНТРОЛЮ МЕДИЧНИХ ПРЕПАРАТІВ 
АПТЕКИ 
/ 11 струкція користувачев, 
482. ЧДТУ.22 1 967-0 І 34 О І 
Листів 6 
Поляк А.В . 
Розробни к 
2 
ЗМ ІСТ 
І вхід.. . ... ... .... . ................... З 
. 4 ... .. ........ ................... .......... ..... ....... . ..... .... ...... . ...... ..... .. . 
2 робота з дода1·коІ\1 ··· ······ ······ ······· ···· ········ ······ ·············· ············· ········· ···•·"········ · 3 
3 І3ІfХЇД ,..... .. . .. . .. ... .. ... ..... ... . 6 
··· ·· ························· ························ ········ ······················ 
75 
з 
І Вхід 
lЦoG вніі1т11 в ло;~~1Тl)К ко1111 ст,, 13 _ 1 'L1 , . _
t .1 ~ l:ВІ 11отр1 6 110 вrзссти електро11rrу пошту 
в 
Реє~трація 
Рисунок В. І - Вікно авторизації користувача 
В разі якщо користувач не має облікового запису ві н може зареєструватися 
перейшовши на на відповідне вікно(Рисунок В .2) 
S І 
в .2  - вікно JJеєстра 1 ~її користува ча 
Рисунок 
2 Робота з додапсом 
... O j1ИC'J у 1н1 І J сШ'J 0 1\1і:!ТІ1 ч І ІО 11ерей,цс ІІН J' ()JIOBH~ 
Після усп ішної автори'За JJ. JJ к 
. ) ' КС С' І ворюШ:1 '1 І'І ЗПМОВJ І е J-І ШІ , 11ро,ца вrtТІІ 
ві кно додатку(Рисунок В.З) , в якому В ІІІ м<' 
76 
товари. 11с1 cr . 1я ,1:11 11 1tаяв1tіс, . 
1)  1 01к1р1в. а 1r~кож рслаrут:1111 rтлаляти певнr 
Пе е , ' nрепарат 1 в 
c::J 
~ 
' . ,. 
Рисунок В.З - Вікно роботи з медикаментами 
Також користувач має можливість додавати медикаменти при необхідності , 
для uього потрібно натиснути на вкладку "Нові Ліки" (Рисунок В.4), і заповнити 
відповідн і поля. 
Нов і ліки 
11,, 
') л Вік110 /Jддава 1-11-1 я JІ ОВИ Х медИКНІ\1СІІТІ ІЗ 
J>ису1юк _J .ч· -
' о·ке '3аJJИІUИП1 повідоМJ І С ІІJІ Я ВШlС ІІІІ К)' ЧІ І ЇНІ.lІІІІ\І 
Крім цм>1 ·0 користува •1 м 1 
· о , а·, и с 11ути 11 а вкладку "П ов ілоІ\ 1 .1 1е1-111 я "(Р11су1-1ок 
користува 1 1ам ЩІ}І 1J1>01 о 1ю·1 Р 1 JJO 1 
8.5), і ·3 а 1 юн11ити віююві;..1,1,і JJOJ J Я . 
77 
5 
І • 
Нове пов ідомлення 
3:lronoao" 
Оnмс 
Рисунок В.5 - Вікно створення нових повідомлень 
В кожний користувач має змогу редагувати свій по файл для цього потрібно 
натиснути на вкладку "Профайл"(Рисунок В.б), і заповнити відповідні поля. 
Профайп 
А:! • 
A,npcco 
Рисунок В.б - Вікно створення нових повідомлень 
В проекті присутнє розподілення прав. Кр ім користувачів додатком може 
користуватись і адміністратор. Адм і н істратор має право доступу керування 
обліковими ·записами користувач і в(Рисунок 8.7). 
rІсн,::Іu СШ)С 
Рисунок 8.7 - Ві кно керуоа1111 я 061 1і коrтм 11 за п11 сам н користувачі в 
78 
' . 
482. Ч) ~ТУ.22 1 9()7-01 ]4 01 6 
З Вихід 
Для завершення ро6от11 ·з J\0Jщт1 ом ~ютріб~ю 11атис 11ути в навігаційній панелі 
на кнопку "ВнхіJ,"( Р11сунок 13 .8). 
.,,, ., " ) 11 
Рисунок В.8 - Вікно ксруван11я обл іковими за~ 1 исами користувачів 
79 
ДОДАТОІ{ І 
ПРОГРА '1Н Е ЗАБЕЗПЕЧЕННЯ КОНТРОЛІ-О МЕДИЧНИХ ПРЕПАРАТІВ 
АПТЕКИ 
Графічні матеріали 
482.ЧДТУ.221967-019001 
Листів І О 
Розробник Поляк А.В. 
Черкаси 2022 
2 
'JM ICT 
1 <J)yн h'1tiї <111 Г('1,11 .......................................................................................................... R2 
2 Класн~нh'а1~1я а11т('1, ........ ... ............... .. ......................................... .. ...... ..... ... .............. R2 
.) А на.1Н)1'1 І ..... . ...... . ... ...... . ............................... .. .. . ....... ...... ........ . ............. .. ......... ............. RЗ 
83 
84 
4 XCJ\Ht архітсh'тур11 1\10,1 ,сл 1,-прсл.спшлс1111 я - контролер .................... .......... .. ......... 85 
5 ДіагрR1\tа пр нснл.снтів ... .. ... ........ ....... ...... ......... ........ ..... .... ... ... ............ .................... 86 
6 Струh'тура ро"роблсної снстс 111 ............... .. ...... .. ............................................... ...... 87 
робота з 
,.т..І., о,а1·'Г"\.· 0 J\1 .. .... .. ... ........... ......... .. ......... 188 
,.t-1. •• ••• •••••••••••••••••••• • •••• ••• •• • •••••• ••••• • • •••••••• 
81 
19 () 7~ О 1 ()() О І 
.1 
І Фущ ощ антсю, 
І 
/-
З~ощю101) 
ЦОJ)()е•~ 
І 
11 \ 
\ 
І,.,  \, 
І 
r· B'1,'ІJ0filtff Г~ЛВешtНІ ] 
) 
' 
Рисунок Г.1 - Основні функції аптеки 
2 Класифі1(ація аптек 
КЛаснфuсація шпек 
з~ рн:н.ко_зою л~нко.з істю 
~-2. (?Of>MOIO !!).2.CMQCTt ! фірмv.-~асмо::,ника 
~ 
:g ~ 
i ~ І І; 1-." Q. 
-~ :~. .. 
~ ~ J 
L~ ~ І .~ 
l1J І s~
Q · g Q.".:r' 
 ~ 
і ~ і 
_;,---
WTГ<:IG'L-ЛiU<tН.~iB'l"И 
[ зв віl.ХоМЧОЮ належністю 
~==---=-----,--____ _::= ---------, 
,------- -==--- і шn·ски інших мШіст-рсто 
-- алтеЮ..f моз 1/Jq')8'ІНИ і DЩ(H,tC'ID 
!
Рисунок Г.2 - Принци11и клnс11фію1ції ,111тск 
82 
• 
4 
J Лна.1 1 0111 
З. І ЛНР-Аптс1,а 
• ,, t ' -.._ І 
. . 
&] J т 
СІ\t'з,очtм Товар Форма І\JормаСnнска . Служсбнь~е 
- о х 
+ , < л - \ ') ,>. 
L.:::.. •\ 2 І:: 
.. . л } ш Uе.чтрз~1~ла~ 
- - - 'Jx ~ВЬ'rЛ Ф- ,  -Р.Б'""о-с~ня ·-1 [ Іабл -И U І, 
~-~1).1 Ha1~,·eчofa-t1f~ І 
rІ)Jі\ЗООДІПоЛЬ о 
+ U~-OIOOOZ21 lEJ:,.,;;:i.::.,i .• .· .- -·-:~ Qc~r т" -h- -
' '·'-~ 
,;; U.6-1100i34S6 
-- ' 'С ' Кре,1д/депм "100%-~aJ1€Нlie"l~ І 
1З л,фа 1 шr . НдС№. -
= UA-OOJl 3470 1
'1:'' К!зt11 д/депм "100% ~але1і11е" 1О О.ІЛ 
- ЗльФа шr І БезНдС 
UA-OOOi 365D Acru,paт~ НОСООJU\,1ШеІЬ Noval.eJi шr і ндс№. 
;а, UA-D001346D -
дд Шамп!r!Ь МатО<ІНrе моло•м 350 tо\Л 3ІЬФО !jП І ндс20% 
= UA-00013461 ДД Ш~ ~ІіЬТ. Jeлet;Wi ЧіІt,ІrУІ6\~ь 3ОJмл 3ІЬФО шr : НДС20% 
:;; UA-D001 3462 дд Шщ1Ь Мятамль д/~~волос lliiл 3ІЬ(!Іа шr ' ндс20% 
=- UA-1)0013,k,"3 -
дд ШщіЬ Хна,розмар111 д/ЩхШ ооІЮС :ЮО. . 311,фа шr НДС20% 
= UA-IJ001'$:J72 --
Кре;-1 f1)11 непоrоде ВиЬсhеп шr НДС20% 
- Uд-{)001 ЗЬ51 ножнщь1 зата~е1-:нь1; детсще №valex шr НДС20% 
- -
І UA-D0013845 охлаж.а. :;убнrе кольцо г1кдкое Nova!e11 шr j ндС20% 
і І 
~ UА-DОО1 ЗР4Є охлажд. :;убное кот:цо с PJ'-:КOit Nova!ex шr І НДС№. 
І - Uд-{)0013571 Печс;ь1ще детское Хаі'інц ~ НДСаJ% 
::. Uд-0001r::EJ Сок ябя из зея ябюк 200 мл ~ЬІПрадеt1Ья НдС20% 
----- І !ІП -
- Uд-00013847 . щ~t,юм;rрдл; ваНіЬІ "Дел~д,1~" Novale.1 шr НДС№. 
-
- Uд-00013573 Шаt.111. v. гель/душ Ба1,'6Jков. ПоІі!а, 200 мл І Buxl"IЄll шr ~ НДС№. 
.. Uд-00013575 Шамr~. и гель/душ ябmко 2001,1л - Вu:lcr,en шr !Н ДС20% 
- -· 
- UA-00013&'24 ''СМ" Haбrj lf-1 Ге ль-wампд/воmt+креt-нSаfьер 3ІЬ(!Іа шr -І н
-- .д-ст-  
г ------
Uд-ОШ13795 ''СсюІ ГІІf,1" Г еІЬдruщwа t':іОtоІЛ шr І НдС№. 
~ ---- -- _j зпо,J>а 
-
- Uд-И.fЛ37% ''w.11 men" Г еІЬ·t1й•,п дrui wmc-1 1 тела 250r,ІЛ 
- - - іл,Фа І шr ' ндож 
..,.- - - •- --
- UA-0001 ЗЄ40 'wQ! rroen" !-реи после бrмrья Мяr~иії. yxt11 ~:{J.11n ЗлоФ~ І;- ~№. 
[ Uд-OOOlЗFAl "СооІ юеn" Крєи-6аr,,ьер дл;~ mща :{Іил Зл,Фа 2.000 r;-
- - 1н~саw 
- - І 
UАОШ1Зї97 ''(о(І} riocn" Шar,tПJjib д/ИІУJСДЛЯ еЖfД. ІtСІЮЛ 25. 3Ло(!ІсJ lЩ) [шr І НдС"-1¼ 
- І 
UA-00013793 ''СсюІ юеn" Ша1<111~ь д/во№с г~!Лі,Іj nep,r,111 2f/J. . ' Зл,Фа 2,000 І шr НДс::\1% 
~ 
, 
- U.6-0fJJ13%~  '' C e1rr,oa lf,"  /1 a-.r·.o-  .flИЛИНГ 2~r Зл,Ф.; 1О ОО шr ЧПСаJ~ 
NUM 
Рисунок Г.3 - ГшюІЗ н е u і к 11 0 систем и А І І Р-А птека 
83 
482. Ч) (ТУ.22 І 9G7-О І 900 1 5 
3.2 Фармзаказ АПТЕКА 
~~em: Прнtодная на~падная ЦА-Пн-000001 7 от 14. 10_201118: :
01 20 
дей.:Ті'Іt,,• ._ ;,;1 • ~ 
І - · • , '+ • Пєрt11,r11 • , 
...,т,;,,_.,._ \· 
Прю:однвя нвкпаднвя № .іі.:іїШФm от 14102011 ·so12c ~ . 
І 6tt"JJ /t І1ЮJJ~'ь:. 01 141( . ~ нн МП-Оt~ о-. 
kІ(ІЩ UЕНТ~r~) с~п~ ,. . х Сред нооенr.а: 1,3998 
" х Прищ, 
6езНДС НДС Всего 
239,5000 47,9000 287.4000 
335,25()0 67.05DO 402,3001) 
Ufflд Зак Uена Розн Суи3аr. · НДС СуиЗак, 
І 
Процю:r Нацен<а ОбщкrоФ 1С 91~ Ро,н · ндс СумРо';;і+ 
, rе ІІо·СМЗЗ<а ДtJ;JeKC Р/і,у Ve,y Oie11y ... 1,ОЮ 37,5000 37,5())) 52,5000 37;.l)OO 7,:ШJ 45,0000 
ІА.' у, 1,400) 1,4000 152,~ 10,5000 63,0000 
Ге 11о-смззr.а дtJper.c РІау НеаІ с неж... 1,0DD 37,5000 37,5())) 52,WJ 37,!'іІОО 7,5000 45,(Ю] 
МУ 9ТІ 1,400) 1,4(0) 52,!х)ОО 10,5000 63,0000 
З Ге ЛL·смзз<а ДtJрекс РІау Trg'€ свеж... 1,ОЮ 37,5000 37,5())) 52,5000 ЩJ)f}J 7,5000 45,тІО 
ІАУ уп 1,400) 1,4000 52.!1JOO 10,5000 63,ОСОО 
Ге пn·смзз<а Дорекс Р/ау Ve1y D1e1ry ... 1,00J 37,5000 37,5())) 52,5000 37,!WO 7,5000 45,00:Ю 
/І,_ ул 1,400] 1,4000 52,50{)0 10,500:J 63,0000 
-ест дІопр 6ер::,1ен Е l'itesi попоска . . 5,0DJ 6,3000 6,ШJ 8,800D 31,WOO 6,:mi 37,800:J 
м~ ул 1,3968 1,3968 44,0000 8,0000 52,8000 
-ест дІолр беремен Е 11test nonoc,ia. . . 5,ОЮ 11,6000 11 ,БlW 16,2500 58,0000 11,6000 69,6000 
МУ ул 1,4009 1,4009 І 81,2500 16,2500 97,5000 
45,0000 Uена Р~к 63,00 QK 
Рисунок Г.4 - Головне в і кно системи Фармзаказ А ПТЕКА 
84 
(j 
MySQLj 
PostgreSQL и т.п. 
Модель 
Представление 
Контроллер 
Маршруrь, 
Веб-сервер 
Браузер 
Рисунок Г.5 - Схематичне представлення архітектури модель-представлення­
контролер з додатковими компонентами 
85 
7 
s Ді:н ·раІ\Ш ІІJН.'ЦСІЩСІІТін 
Веб-додsток облІt<у мед11ч 1~их 11ре11ар11тІп а1пек1і 
Аптекар1 
Власник 
Рисунок Г.6 - Діаграма прецедентів 
8б 
6 ( ~ 1 J , К • JH І о \f о ),11 , І ІО Ї •1 1 ' І (' 11~1 ==7-
м.чftctnu Sklad 
C:ateg<Wt +td 
+n..-uno +uscr- ,d 
+td 
+narт,e "r "E-------~+-+dcussccnrtpdban +rncdone~d 
 +quantily 
~ane~d +ігnаgё 
+pncc 
Trad_. 
Cart 
+id +id 
1------t +narne 
+medicineid +aaess 
+qJanbty -
РІК) нок Г.7 - Модель бази даних 
- , 
r 
r ---' 
..... - ~ 
mv - CONTROLLER ОАО 
іо- 1--- DATABASE 
SERVICE 
\,,.. ~ 
User ---
-- J 
Рисунок Г.8 Архі 'І ектура ро 3po6J1c1ю ї си стеми 
R7 
482.Ч) ~Т .22 1t J(J7-0 І 90 О І 9 
7 Робота 'J ;щ;щпшм 
n 
Реєстрація 
Пзрм 
Рисунок Г.9 - Вікно авторизації 
,,,. 
Перелік препара ів 
.:зt~ Оі1,1~ J1 К і.,ькість 
,,и: !! \11. -~~ 
6;;k1:зг .·,,  З.:~-,.,~-=-
•.~;;.r.~г~r r,,:·;1 , , r ,.. , Б., l' 
.t·1p;:, ' : ~- _;, .. (. 
Рисунок І ' . І О І ~оловне вік110 nporpal\1 11 
Х8