
- •Розділ 1. Загальна характеристика пп «Західний Буг»
- •1.1. Техініко-економічна характеристика підприємства
- •1.2. Основні показники фінансово-господарської діяльності пп «Західний Буг»
- •1.3. Організаційна структура управління підприємством
- •1.4. Характеристика економічної інформаційної системи пп «Західний Буг»
- •Розділ 2. Автоматизована обробка даних в інформаційній системі підприємства на основі автоматизованих робочих місць
- •Розділ 3. Методи підвищення ефективності діяльності пп «Західний Буг» в умовах впровадження сучасних інформаційних технологій
- •Розділ 4. Аналіз та розширення функцій програми обліку сировини на цукровому заводі
- •Висновки
- •Список використаних джерел:
- •Додатки
Розділ 4. Аналіз та розширення функцій програми обліку сировини на цукровому заводі
Статутом ПП «Західний Буг» зазначено, що підприємство здійснюючи виробничо-господарську діяльність може не лише вирощувати цукровий буряк, а й брати безпосередню участь у процесі виробництва цурку. Підприємство співпрацює із ТзОВ «Радехівський цукор» надаючи їм послугу доставки цукрового буряка, натомість цукровий завод зобов’язаний надати нам послугу по переробці цукровий буряків і виготовлення цукру-піску та цукру-рафінаду. Тепер детальніше про сам процес виготовлення цукру. Процес виготовлення цукру дуже не простий і довготривалий. Основними етапами процесу виготовлення цукру є: приймання буряка на бурякопункті цукрового заводу, доставка на завод і відділення домішок, мийка і зважування буряка, подрібнення в стружку, теплова обробка, отримання дифузійного соку, згущення соку до сиропу і так далі. Все це детальніше можна побачити на принципово-технологічній схемі виробництва цукру (див. рис. 1.2. додаток 3) та схемі аналізу технологічного процесу виробництва цукру (див. табл. 2 додаток 4).
Програмісти ПП «Західний Буг» допомагають комп’ютерній службі ТзОВ «Радехівський цукор» у вирішенні ряду питань пов’язаних із наданням програмного забезпечення для полегшення та пришвидшення процесу обробки цукрових буряків і виготовлення готової продукції. Для цього було створено комплексну програму «Обліку сировини», яка написана в середовищі Microsoft Visual FoxPro (див. додаток 5), на мові програмування систем управління реляційними базами даних Visual FoxPro.
За період виробничої практики я детально вивчив основи цієї програми і зрозумів, що програма «Обліку сировини» відіграє досить важливу роль у виробництві цукру, і не лише цукру, а і меляси, патоки, дефекату, сухого і гранульованого жому. А тепер давайте більш детально розглянемо структуру цієї програми. Як зазначалося вище, програма «Обліку сировини» складається із комплексу програм, які між собою взаємозв’язані у вигляді структурного меню, яке складається із таких пунктів: бухгалтерія (подається інформація про привезений буряк, проводиться реєстрація нового постачальника з яким укладається угода, ведеться облік сировини); транспорт (подається інформація про перевізників, а також проводиться реєстрація автомобілів, які перевозять цукровий буряк); склад (ведеться облік про прихід цукру, проводиться виписка цукру); ваги (ведеться зважування автомобілів), лабораторія (вносяться аналізи, визначається цукристість стружки цукрового буряка, проводить аналіз дифузійного соку); звіти ( подається детальна інформація про прихід цукрового буряка, видачу цукру, жому, дефекату).
Моїм завданням на підприємстві було розробити програму для зважування автомобілів, що перевозять сирий жом, а також створити звіт який би показував нам: номер накладної виданої перевіднику, ініціали водія, місце вивантаження, або назву постачальника, суму пального використаного на перевезення жому, а також заробітна плата водія за перевезення вантажу.
Для допомоги мені знадобилась додаткова інформація, до того часу не відомої мені мови програмування. Скориставшись підручником і інформацією з Інтернету, я зрозумів, що ця мова FoxPro створена на основі мови програмування SQL, яку ми розглядали з дисципліни «Розробка реляційних баз даних» і це полегшало мені завдання. Як зразок для написання програми я використав раніше написану програму для зважування автомобілів, що перевозять буряк. Структура моєї програми не настільки проста як здається насамперед, програма складається із 3 частин: форми, таблиці, звіту.
Перша частина написання програми, це форма. Створення форм в середовищі Microsoft Visual FoxPro доволі просте, за допомогою конструктора форм можна запросто за декілька секунд створити форму. Ось так виглядає створена форма в середовищі Microsoft Visual FoxPro (див. рис. 1.3 додаток 6).
Проаналізувавши роботу я приступив до її виконання. В першу чергу я створив і розмістив в потрібному порядку текстові поля і списки потрібні для того, щоб вносити дані про автомобіль, який стоїть на вазі і готовий до зважування. Пізніше я приступив до написання програми.
Алгоритм написання програми для зважування автомобілів, що перевозять сирий жом:
Фрагмент програми, за допомогою якого проводиться внесення загальної інформації про автомобіль, яку вимагає програма:
With ThisForm
IF !EMPTY(THIS.VALUE)
IF !OPENDATA([defekat])
RETURN
ENDIF
SET ORDER TO TAG TTN
IF SEEK(THIS.VALUE)
.TEXT6.VALUE = KOD_AVTO
.TEXT10.VALUE = TARA
IF !EMPTY(BRUTTO)
=MESSAGEBOX([Товаро-транспортна № - ]+ALLT(STR(.Nomer_Nakl1.Value))
+[ вже зважена!]
IF MESSAGEBOX([Код постачальника - ]+ALLT(STR(Kod_Post))+chr(13)+
[Провести перезважування ?] ,4+32+256,[Накладна вже зважена!!!]) <>6
this.VALUE=0
.Id_Post.Value = 0
.Name_Post.Value = []
.Text6.Value = 0
.Text5.Value = []
.Text2.Value = []
RETURN 0
ENDIF
ENDIF
.LABEL9.CAPTION = [Тара]
.TEXT5.VALUE = SEEK_TAG(.TEXT6.VALUE,[AVTO],[KOD_AVTO],[N_AVTO],[])
.TEXT2.VALUE = SEEK_TAG(.TEXT6.VALUE,[AVTO],[KOD_AVTO],[MARKA],[])
.Id_Post.VALUE = kod_post
.Name_post.VALUE = SEEK_TAG(.Id_Post.VALUE,[klients],[KOD_post],[Name_post],[])
.TEXT3.VALUE = vyd_tmc
.TEXT4.VALUE = SEEK_TAG(.TEXT3.VALUE,[vantag],[refcode],[reftext],[])
ENDIF
IF THISFORM.TEXT3.VALUE=7 AND THIS.VALUE!=0
THISFORM.TEXT10.VISIBLE=.F.
THISFORM.TEXT11.VISIBLE=.F.
THISFORM.LABEL9.VISIBLE=.F.
THISFORM.LABEL10.VISIBLE=.F.
ELSE
THISFORM.TEXT10.VISIBLE=.T.
THISFORM.TEXT11.VISIBLE=.T.
THISFORM.LABEL9.VISIBLE=.T.
THISFORM.LABEL10.VISIBLE=.T.
ENDIF
Фрагмент програми, за допомогою якого проводиться відображення збережених фотокарток автомобілів, які в процесі зважування перебували на вазі:
IF Type([O]) = [O]
O1 = CreateObject("ImageCapture.JpegDecoder")
VideoPath = GetValue([DefPath])
n_Str = allt(str(This.value))
Folder = Folder(This.value)+[\]
Dele file *.bmp
m.File1_JPG = VideoPath + Folder + n_Str + [_dT1.JPG]
m.File1_BMP = [T_] + n_Str + [_1.BMP]
m.File2_JPG = VideoPath + Folder + n_Str + [_dT2.JPG]
m.File2_BMP = [T_] + n_Str + [_2.BMP]
IF FILE(m.File1_JPG)
O1.Decode(m.File1_JPG,m.File1_BMP)
ENDIF
IF FILE(m.File2_JPG)
O1.Decode(m.File2_JPG,m.File2_BMP)
ENDIF
O1 = .null.
.IMAGE1.PICTURE = m.File1_BMP
.IMAGE2.PICTURE = m.File2_BMP
ENDIF
ENDIF
.REFRESH()
EndWith
Фрагмент програми за допомогою якого проводиться занесення інформації в таблицю створену для обліку сировини:
WITH THISFORM
.BRUTTO.VALUE = Vaga()
IF .text11.VALUE =0 AND .TEXT3.VALUE=7
ELSE
.text11.VALUE = .BRUTTO.VALUE - .text10.VALUE
ENDIF
Select defekat
IF SEEK(.Nomer_nakl1.VALUE)
SET ORDER TO TAG TTN
IF THISFORM.TEXT3.VALUE=7
REPLACE Brutto With .BRUTTO.VALUE,;
Time_B With Datetime()
.COMMAND1.ENABLED =
IIF(!EMPTY(THISFORM.BRUTTO.VALUE),.F.,.T.)
ELSE
REPLACE Brutto With .BRUTTO.VALUE,;
Time_B With Datetime(),;
NETTO WITH .BRUTTO.VALUE - .text10.VALUE
.COMMAND1.ENABLED = IIF(!EMPTY(THISFORM.BRUTTO.VALUE),.F.,.T.)
ENDIF
IF opendata([PROTOCOL])
append blank
repl date with DATETIME(),;
user with UserName,;
events with [BruttoDef],;
Notes with [№ авто - ]+ALLT(.Text5.VALUE)+CHR(13)+;
[Накладна - ]+ALLT(STR(.NOMER_NAKL1.VALUE,12))+CHR(13)+;
[ТМЦ - ]+ALLT(STR(.text3.VALUE))+CHR(13)+;
[Код - ]+ALLT(STR(.ID_POST.VALUE))+CHR(13)+;
[Тип авто - ]+ALLT(.Text2.VALUE)+CHR(13)+;
[Брутто - ]+ALLT(STR(.BRUTTO.VALUE))
ENDIF
Фрагмент програми, за допомогою якого проводиться збереження фотокарток на жорсткому диску, автомобілів, які в процесі зважування перебували на вазі:
IF Type([O])=[O]
VideoPath = GetValue([DefPath])
Folder = Folder(.Nomer_Nakl1.Value)+[\]
Var1 = allt(str(.Nomer_Nakl1.Value))
O.Grab(Var1+[B])
name1 = Var1+[B_0.jpg]
name2 = VideoPath + Folder + Var1+[_DB1.jpg]
IF file(name1)
COPY file &name1 to &name2
ENDIF
Dele file name1
name1 = Var1+[B_1.jpg]
name2 = VideoPath + Folder + Var1+[_DB2.jpg]
IF file(name1)
COPY file &name1 to &name2
ENDIF
Dele file name1
ENDIF
ENDIF
.Nomer_Nakl1.Value=0
.Text6.Value=0
.Id_Post.Value=0
ENDWITH
По закінчені написання, моя форма набула такого вигляду:
Друга частини написання програми, являє собою створення таблиці в яку будуть заноситись дані надіслані після успішного виконання форми.
Третя частина написання програми є заключною частиною, основним завданням якої є формування звіту. Звіт також як і форма створюється за допомогою конструктора. Початковий етап створення звіту має вигляд:
Завершальний етап створення звіту має вигляд:
Після закінчення написання програми, я показав структурний алгоритм програмісту, який підключивши вагу до комп’ютера за допомогою «com порта» перевірив працездатність алгоритму, переконавшись, що програма працює він приступив до імпортування структури програми в оригінал програми «Обліку сировини».