.

Автоматизація господарської діяльності (на прикладі місцевого ВАТ) (дипломний проект)

Язык: украинский
Формат: реферат
Тип документа: Word Doc
0 8138
Скачать документ

Міністерство освіти України

Чернівецький державний університет

ім. Ю. Федьковича

Кафедра електронно-обчислювальних машин

7.09.15.01 “Комп’ютерні та інтелектуальні системи та мережі”

Автоматизація господарської діяльності

ВАТ “Коломийський сирзавод”

Дипломний проект

Завідуючий кафедрою ЕОМ

доктор фізико-математичних наук, профессор

__________________________З. Д. Ковалюк

______________________________________

Науковий керівник

кандидат фізико-математичних наук, доцент

__________________________ В. І. Федорук

______________________________________

Виконав студент 5-го курсу

____________________________ Лазор О. Б.

______________________________________

2000

Форма №У-9.01*

Затв. Наказом Мінвузу УРСР

Від 3 серпня 1984р. №253

Чернівецький державний університет

Факультет фізичний Кафедра електронно-обчислювальних машин

Спеціальність Комп`ютерні та інтелектуальні системи та мережі

Заверджую:

зав. кафедрою __________________

“____”_________________2000р.

Завдання на дипломний проект (роботу) студентові

Лазору Олегу Богдановичу

Тема проекту (роботи): Автоматизація господарської діяльності

ВАТ “Коломийський сирзавод”.

Затверджена наказом по університету від “___”____________2000р.
№_______

Термін здачі студентом закінченого проекту (роботи)____________________

Вихідні дані до проекту (роботи): ____________________________________
________________________________________________________________________
________________________________________________________________________
______________________________________________________

Зміст розрахунково-пояснювальної записки: (перегляд питань, які слід
розробити): Теоретичні відомості з питань бухгалтерського обліку
основних фондів підприємства, опис програмного комплексу та роботи з
програмою.

Перелік графічного матеріалу (з точним зазначенням обов’язкових
кресленнь): _______________________________________________________
________________________________________________________________________
________________________________________________________________________
______________________________________________________

Консультанти по проекту (роботі) з зазначенням розділів проекту, що
стосуються їх:

Розділ Консультант Підпис, дата

Завдання видав Завдання прийняв

Дата видачі завдання:

Керівник________________________

(підпис)

Завдання прийняв до виконання __________________
”___”______2000р.

(підпис)

Календарний план.

№ п/п Найменування етапів курсової роботи Термін виконання Примітка

1 Розробка алгоритму програми

2 Введення і відладка програми

3 Оформлення ПД отримання рецензії

4 Захист дипломної роботи

Студент дипломник ________________________Лазор О.Б.

(підпис)

Керівник проекту___________________В. І. Федорук

(підпис)

Зміст

Анотація.

Специфікація.

Пояснювальна записка.

3.1. Вступ.

3.2. Призначення та область використання.

3.3. Технічні характеристики.

3.4. Опис алгоритму програми.

3.5. Опис організації вхідних та вихідних даних.

3.6. Вибір та обгрунтування апаратних та програмних засобів.

Технічне та економічне обгрунтування дипломного проекту.

Охорона праці.

Висновки.

Список використаної літератури.

Додаток 1 – Текст програмних модулів.

Додаток 2 – Приклади електронних звітів.

Додаток 3 – Блок схеми основних алгоритмів.

5

7

9

11

12

13

19

29

30

31

34

36

37

38

85

Анотація

Даний дипломний проект містить 70 сторинок друкованого тексту і 6
графічних додатків. Написаний українською мовою.

Створено програмний комплекс, що автоматизує облік основних засобів
будь-якого підприємства чи господарства, та автоматично нараховує
поквартальний знос на них, а також виводить загальні звіти по
підприємству, а також звіти по внутрішніх відділах підприємства.

Проект містить опис алгоритму, опис програми та текст програми.

Використання розробленого програмного забезпечення автоматизує працю
бухгалтера пов`язану з обліком засобів підприємства, та нарахуванням
амортизаційного зносу.

Sumary

Given degree project is kept – pages of printed text and graphic
exhibits. Written on ukrainian language.

Created programme complex, which automates an account of main fund of
some enterprise, or facilitieses, and automatically adds quarterly
deductions, as well as produces general reports on the enterprise, as
well as reports on its internal branches.

Project is kept an algorithm description,program description and text of
program.

Using developping software vastly simplifies a working an accountant is
connected with the account of funds of an enterprise, and an adding a
quarterly deduction.

Затверджено

Ф.ФФ.57071-01 93 01-1-ЛУ

Автоматизація господарської діяльності

ВАТ “Коломийський сирзавод”.

Специфікація

Ф.ФФ.57071-01 93 01-1-ЛУ

Листів 2

2000

Ф.ФФ.57071-01 93 01-1-ЛУ

Позначення Найменування Примітка

Ф.ФФ.57071-01 81 01-1 Пояснювальна записка

Ф.ФФ.57071-01 13 01-1 Опис програми

Ф.ФФ.57071-01 12 01-1 Текст програми

Затверджено

Ф.ФФ.57071-01 93 01-1-ЛУ

Автоматизація господарської діяльності

ВАТ “Коломийський сирзавод”.

Пояснювальна записка

Ф.ФФ.57071-01 93 01-1-ЛУ

Аркушів 28

2000

Ф.ФФ.57071-01 93 01-1 81 01-1

Зміст

Вступ

Призначення та область використання.

Традиційні методи вирішення задачі.

Технічні характеристики.

4.1. Файлова структура комплексу.

4.2. Організація основних та службових даних.

4.3. Основні функції, що реалізує комплекс.

4.4. Захист інформації від несанкціонованого доступу.

4.5. Інсталяція комплексу.

4.6. Необхідні для роботи ресурси дискової та оперативної пам‘яті.

4.7. Часові характеристики робочого циклу програми.

4.4. Можливість модернізації.

4.5. Адаптація до мережевого використання.

Опис програми.

5.1. Анотація.

5.2. Опис структури алгоритму

5.3. Вихід та індикація вдалого закінчення сеансу.

5.4. Структурні підрозділи підприємства.

5.5. Ввід даних.

5.6. Відображення інформації.

5.7. Контроль помилок.

5.8. Зміна параметрів нарахування.

5.9. Перехід на новий квартал.

5.10. Типи звітів та їх вивід на принтер.

5.11. Опис організації вхідних та вихідних даних.

5.12. Вибір та обгрунтування апаратних та програмних засобів.

5.12.1. Обгрунтування вибору програмних засобів.

5.12.2. Обгрунтування вибору апаратних засобів.

Технічне та економічне обгрунтування дипломного проекту

Охорона праці

Висновки.

9.1. Специфіка вибору методу реалізації.

9.2. Мережеве використання.

Список використаної літератури.

Додаток 1 – Текст програми.

Додаток 3 – Приклади комп‘ютерних звітів

Додаток 3 – Блок-схеми алгоритму, та основних модулів. 11

12

13

13

14

15

16

17

18

18

18

18

18

19

20

21

22

23

25

26

27

27

27

28

29

30

30

30

31

34

36

36

36

37

38

85

Вступ.

Сучасне підприємство або установа у тій, або іншій формі займається
обробкою різноманітних даних.

В сучасних умовах важливою областю стало інформаційне забезпечення,
задача якого полягає в зборі та переробці інформації, необхідної для
обгрунтованих керівних рішень.

Передача інформації про положення і діяльність підприємства на вищий
рівень керування та взаємний обмін інформацією між усіма підрозділами
фірми виконується на базі сучасної електронно-обчислювальної техніки та
інших технічних засобів зв’язку.

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

Інформація служить основою для підготовки доповідей, звітів, пропозицій
та прийняття відповідних рішень.

До інформації ставляться деякі вимоги:

по об’єкту та якості – стислість та чіткість формулювань, вчасність
отримання;

по цілеспрямованості – задоволення конкретних вимог;

по точності та достовірності – правильний відбір первинних даних,
оптимальність систематизації та безперервність збору і обробки
інформації.

Особлива відмінність праці товарознавця, бухгалтера, економіста полягає
в тому, що він переписує дані з первинних документів у картки, журнали,
накопичувально-групувальні відомості та інші облікові регістри на папері
з подальшим їх узагальненням та перенесенням загальних результатів на
рахунки.

Всі ці операції займають велику кількість часу, досить трудомісткі, у
них достатньо великий відсоток помилок.

Один з шляхів полегшення роботи – створення автоматизованого робочого
місця (АРМ) бухгалтера, товарознавця, кладовщика.

АРМ має задовольняти наступні вимоги:

звільнення людини від рутинної праці, пов’язаної з простими операціями,
які часто повторюються;

зведення до мінімуму помилок;

доступний інтерфейс;

Дана дипломна робота орієнтована на створення АРМ бухгалтера, що
займається основними фондами підприємства.

Призначення та область використання.

Програма призначена для відображення основних фондів підприємства
результатом роботи якої є квартальний звіт, а також для автоматизації
нарахування зносу на вищезгадані фонди.

Основні засоби підприємства.

Основні засоби підприємства – це сукупність матеріально речових
цінностей, що діють у натуральній формі протягом тривалого часу як у
сфері матеріального виробництва, так і в невиробничій сфері, термін
служби яких більше одного року і вартість з 1,01,1994 р. складає 5000
українських карбованців і більше.

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

Гранична вартість предметів, що належать до основних засобів, може
змінюватись за рішенням Кабінету Міністрів України.

Основні засоби приймаються на облік на підставі Актів вводу в
експлуатацію, та актів прийомки-передачі встановленої форми.

Основні засоби підприємства відображаються в бухгалтерському обліку і
звітності за фактичними затратами на їх придбання, спорудження і
виготовлення. Ці затрати становлять іх первісну вартість. Зміни
первісної вартості основних засобів допускаються лишу у разі добудови,
дообладнання реконструкції та часткової ліквідації відповідних об`єктів,
переоцінки та індексації основних засобів за рішенням уряду.

Погашення вартості основних засобів підприємства здійснюється шляхом
віднесення зносу (амортизаційних відрахувань) за затвердженими нормами
на витрати виробництва та обсяги протягом терміну, за який первісна
вартість повністю переноситься на витрати виробництва.

Одиницею основних засобів є окремий інвентарний об`єкт. За кожним
інвентарним об`єктом закріпляється інвентарний номер.

Основні засоби як діючі, так і на консервації або в запасі, а також
закінчені капітальні вкладення в орендовані основні засоби, показують в
активі балансу за первісною та залишковою вартістю. Залишкова вартість
основних засобів по балансу визначається як різниця між первісною їх
вартістю та сумою зносу.

Облік основних засобів.

Порядок відображення у фінансовій звітності об‘єктів основнихзасобів
регулюється ПБО 7 “Основні засоби”.

Виходячи з визначення основних фондів, яке присутнє в ПБО 7, до основних
фондів належать матеріальні активи, котрі підприємство утримує з метою
використання їх у процесі виробництва, або поставки товарів і послуг,
надання в оренду іншим особам або для здійснення адміністративних і
соціально-культурних функцій, очікуваний термін використання
(експлуатації) яких більше одного року (або операційного циклу, якщо він
перевищує рік). На сьогодні ПБО дозволяє підприємству самостійно
визначити, що відносити до основних засобів, а що ні, виходячи з чого
ніхто не забороняє підприємству прийняти рішення про зарахування до
складу основних засобів саме тих видів МШП, котрі найбільш відповідають
цому поняттю з економічної точки зору.

Як і будь-який актив, основний засіб відображається в Балансі при
додержанні двох умов:

– існує імовірність одержання економічних вигод від його використання;

– оцінка основного засобу може бути достовірно визначена.

Матеріальні ресурси, готова продукція і товари, на які продажна ціна
зменшилась, або якщо вони застаріли чи частково втратили первісну
якість, відображаються в звітності на кінець звітного періоду за ціною
можливої реалізації в тих випадках, коли вона нижче від їх вартості,
коли вона нижче від їх вартості їх зарахування на баланс, з віднесенням
таких втрат на зменшення товарних надбавок, фонду поповнення власних
коштів та дооцінки товарно-матеріальн-матеріальних цінностей, а у разі
недостатності таких джерел – на фінансові результати від
позареалізаційних операцій.

Складання первинних документів про господарські операції та їх
відображення в регістрах обліку підприємства й організації проводять у
гривнях та копійках.

3. Традиційні підходи до вирішення таких задач.

Традиційно питання розв‘язувалось методом послідовного обчислення зносу
за квартал для кожного інвентарного обєкту, з наступним підрахуванням
вартості на кінець кварталу. Пізніше підбивались вручну підсумовувались
залишки по підрозділах та загальні підсумки. Результатом роботи є
квартальний звіт в який переписувались всі наявні засоби підприємства ,
з іхніми вартісними показниками.

4. Технічні характеристики

Програмний комплекс реалізовано в СУБД FoxPro 2.6 (c) 1989-1994
Microsoft Corporation. Програма працює під управлінням DOS, і тому
сумісна з переважною більшістю систем РС.

Основним елементом комплексу є інтерактивне меню – нащадок системного
меню СУБД, функції якого полягають в виклику модулів, що безпосередньо
виконують прикладні функції. При розробці модулів максимально
пропрацьована їх незалежність від інших. Наявніьсть незалежного
інтерактивного меню і ізольованих підпрограм дозволяє при некоректній
роботі оператора з одною підпрограмою, без проблем запустити іншу,
причому запуск кожної нової підпрограми передбачає закриття всіх
відкритих баз і деактивацію вікон та меню, які залишились від невдалого
закінчення роботи попередніх модулів.

Використання невеликої кількості схем колоьорів рекомендованих
розробниками СУБД полегшує сприйняття даних та роботу з комплексом, а
також виключає проблеми при роботі в монохромному режимі.

Для друку звітів необхідний широкоформатний принтер, який працює під
управлінням DOS і коректно працює з ASCII кодуванням.

4.1 Файлова структура комплексу:

!ST BAT 58 09.04.00 11:23 !ST.BAT

!ST1 BAT 40 09.04.00 11:23 !ST1.BAT

AMORTIZ DBF 25 554 21.04.00 15:55 AMORTIZ.DBF

AMORTIZ1 PRG 2 431 21.04.00 11:52 AMORTIZ1.PRG

AMORTIZ1 FXP 1 986 21.04.00 12:06 AMORTIZ1.FXP

AMORTIZ1 BAK 2 699 13.04.00 10:58 AMORTIZ1.BAK

DOVVID DBF 938 21.04.00 13:50 DOVVID.DBF

DTOP FXP
6?†????†??????????††??†††††??????‰??????????††??†††††??†????†???????????
†??††††???????‰†????????

KVARTAL1 <ПАПКА> 10.04.00 8:19 KVARTAL1

KVARTAL2 <ПАПКА> 10.04.00 8:19 KVARTAL2

KVARTAL3 <ПАПКА> 10.04.00 8:19 KVARTAL3

KVARTAL4 <ПАПКА> 10.04.00 8:19 KVARTAL4

M1_11 PRG 3 947 21.04.00 11:58 M1_11.PRG

M1_11 FXP 3 939 21.04.00 13:49 M1_11.FXP

M1_12 FXP 3 361 21.04.00 12:59 M1_12.FXP

M1_12 PRG 3 096 21.04.00 12:00 M1_12.PRG

M1_12DV IDX 2 048 21.04.00 15:55 M1_12DV.IDX

M1_14 FXP 963 20.04.00 14:00 M1_14.FXP

M1_14 PRG 797 21.04.00 12:00 M1_14.PRG

M1_15 FXP 1 224 20.04.00 15:37 M1_15.FXP

M1_15 PRG 952 21.04.00 12:01 M1_15.PRG

M1_16 PRG 1 633 21.04.00 12:02 M1_16.PRG

M12M1IND IDX 1 536 21.04.00 15:42 M12M1IND.IDX

M12PROC PRG 4 018 21.04.00 11:54 M12PROC.PRG

M12PROC FXP 4 145 21.04.00 12:06 M12PROC.FXP

M12SUM IDX 2 560 21.04.00 12:07 M12SUM.IDX

M2_1 PRG 1 369 21.04.00 12:03 M2_1.PRG

NOWKVART PRG 1 604 21.04.00 12:05 NOWKVART.PRG

NOWKVART FXP 1 687 21.04.00 12:06 NOWKVART.FXP

PERERAH PRG 516 10.04.00 14:21 PERERAH.PRG

PERERAH FXP 674 19.04.00 14:09 PERERAH.FXP

PRINTZV FXP 3 246 19.04.00 14:11 PRINTZV.FXP

PRINTZV PRG 3 414 19.04.00 14:11 PRINTZV.PRG

PRM12 IDX 4 608 21.04.00 15:42 PRM12.IDX

PRSTAT DBF 543 19.04.00 14:12 PRSTAT.DBF

REZERV PRG 1 648 13.04.00 10:56 REZERV.PRG

REZERV FXP 1 571 17.04.00 10:43 REZERV.FXP

REZERV <ПАПКА> 10.04.00 8:19 rezerv

SUMATOR DBF 203 21.04.00 12:07 SUMATOR.DBF

VIXOD PRG 1 036 10.04.00 13:08 VIXOD.PRG

VIXOD FXP 978 17.04.00 10:45 VIXOD.FXP

ZAH DBF 413 21.04.00 15:55 ZAH.DBF

57 файлів 120 196 байт

4.2. Організація основних та службових даних.

Комплекс застосовує бази даних:

AMORTIZ DBF – основна база комплексу, містить поля:

Npp – порядковий номер

Data – дата прийому на облік

Invnom – інвентарний номер засобу

Grupa – група

Nrax – обліковий рахунок

Nazva – назва засобу

Balrax – первісна вартість

Cena – вартість на початок кварталу

Oper1 – квартальний знос

Amrt – вартість на кінець кварталу (замортизована= вартість на початок
кварталу – квартальний знос)

Grp – код відділу

ZAH DBF – службова база, містити поля:

P1 – динамічна змінна, що містить текуче значення норми амортизації.

P2 – динамічна змінна, що містить текуче значення понижуючого
коефіцієнту.

Zax – індикатор протікання сеансу роботи. При нормальному закінченні
сеансу містить значення .Т. , при екстремальному закінченні сеансу – .F.
.

Kvt – динамічна змінна що містить значення текучого кварталу.

G1p1 – змінна що містить значення норми амортизаціє для першої групи.

G1p2 – змінна що містить значення понижуючого коефіцієнту для першої
групи.

G2p1 – змінна що містить значення норми амортизації для першої групи.

G2p2 – змінна що містить значення понижуючого коефіцієнту для першої
групи.

G3p1 – змінна що містить значення норми амортизації для третьої групи.

G3p2 – змінна що містить значення понижуючого коефіцієнту для третьої
групи.

DOVVID DBF – довідник відділів, база що містить поля:

KODV – код відділу

NAZVAV – назва відділу

PRSTAT DBF – службова база для організації звітування, містить поля:

Ngrp – номер групи для звіту

Nvid – код відділу для звіту

Bs,Pc,Ks,Sr1,Sr2,Sr3,Sr4,Sr5 – операнди та суми для вибраної множини
засобів

Vid – назва відділу для звіту

Grupa – назва групи для звіту

SUMATOR DBF – службова база, що містить поля

Sbalv, Scena, Soper, Samrt – підсумкові значення для звіту.

Індексні файли:

IDVID01 IDX 1 536 21.04.00 9:49 IDVID01.IDX

M1_12DV IDX 2 048 21.04.00 15:55 M1_12DV.IDX

M12M1IND IDX 1 536 21.04.00 15:42 M12M1IND.IDX

M12SUM IDX 2 560 21.04.00 12:07 M12SUM.IDX

PRM12 IDX 4 608 21.04.00 15:42 PRM12.IDX

5 файлов 12 288 байт

Програмні модулі комплексу:

AMORTIZ1 PRG 2 431 21.04.00 11:52 AMORTIZ1.PRG

DTOP PRG 496 21.04.00 13:28 DTOP.PRG

M1_11 PRG 3 947 21.04.00 11:58 M1_11.PRG

M1_12 PRG 3 096 21.04.00 12:00 M1_12.PRG

M1_14 PRG 797 21.04.00 12:00 M1_14.PRG

M1_15 PRG 952 21.04.00 12:01 M1_15.PRG

M1_16 PRG 1 633 21.04.00 12:02 M1_16.PRG

M12PROC PRG 4 018 21.04.00 11:54 M12PROC.PRG

M2_1 PRG 1 369 21.04.00 12:03 M2_1.PRG

NOWKVART PRG 1 604 21.04.00 12:05 NOWKVART.PRG

PERERAH PRG 516 10.04.00 14:21 PERERAH.PRG

PRINTZV PRG 3 414 19.04.00 14:11 PRINTZV.PRG

REZERV PRG 1 648 13.04.00 10:56 REZERV.PRG

VIXOD PRG 1 036 10.04.00 13:08 VIXOD.PRG

14 файлов 27 676 байт

4.3. Основні функциї, що реалізує програмний комплекс.

У відповідності до завдання розроблено програму, що в залежності від
приналежності інвентарного об`єкту до певної групи основних фондів, з
вартості на початок кварталу, застосовуючи коєфіцієнти для даноє групи,
нараховує знос по формулі:

Де S – знос за квартал;

X – вартість на початок кварталу;

k1 – норма амортизації для даної групи;

k2 – понижуючий коефіцієнт;

Значення зносу округляється до двох знаків після коми. Програмою
вираховується різниця між вартістю на початок кварталу і зносом
результатом якої є вартість на кінець кварталу.

Також програмою здійснюються функції:

Резервування даних;

Перевірка настання (ненастання) нового кварталу;

Оперування з довідником відділів:

– створення відділу;

– перейменування відділу;

– видалення відділу:

– з переносом ОЗ в інший відділ;

– з списанням ОЗ відділу;

Внесення ОЗ в відділ;

Списання ОЗ та корекция даних з підбиттям контрольних сум;

вибір відділу

відбір по назві

відбір по інв. номеру

відбір по даті придбання

відбір по первісній ціні

відбір по залишку на поч. кв.

Контрольний перерахунок (видалення помилок в результатах нарахування, що
випадково виникають при корекції даних оператором, а також перерахунок
при зміні коефіцієнтів);

Зміна коефіцієнтів для кожної з груп;

Автоматизований перехід на новий квартал (з запрошенням переходу при
настанні нового, або по вибору оператора), з резервуванням минулого
кварталу.

Вивід загального звіту по всіх групах і відділах з підсумками;

Вивід звіту по вибраній групі з підсумками;

Вивід по вибраному відділу з підсумками;

Комбінації пунктів 10 та 11.

4.4. Захист інформації від несанкціонованого доступу.

Для захисту інформації від несанкціонованого доступу інсталяційний пакет
захищено паролем. Дана опція є стандартним методом захисту архівів
програми архівації даних RAR 2.05 32-bit console version. Після
інсталяції комплексу, при кожному запуску програми викликається модуль
Z1. Даний модуль робить запит паролю від користувача, по внутрішній
формулі обчислює службовий ключ, і звіряє його з ключами, що містяться в
службовій базі даних.

Таким чином забезпечується ідентифікація користувачів, організовується
протоколювання роботи користувача з програмою.

4.5. Інсталяція комплексу.

Інсталяційний пакет організовано в вигляді SFX архіву після запуску
якого програма розархівовується в папку AMORTIZ на жорсткий диск
компютера.

4.6. Необхідні для роботи ресурси дискової та оперативної пам‘яті.

Оскільки програма написана на FoxPro 2.0 вона не вимагає великих
ресурсів оперативної пам‘яті, на 4 Мb Озу програма працює цілком
задовільно.

Програма займає 720 Кбайт об‘єму пам‘яті жорсткого диску.

4.7. Часові характеристики робочого циклу програми.

Загрузка програми – 4с.

Резервування – 0,5с.

Процедури сумування – 3,5с.

Фільтрування даних – 1,5с.

4.8. Можливість модернізації.

Дана програма легко піддається модернізації, оскільки структура даних
для кожного модуля незалежна, також самі модулі пропрацьовані як
незалежні обєкти при запуску яких передається максимум один необхідний
параметр. Використання інтерактивного меню дозволяє дописати до
головного модуля AMORTIZ.PRG опис деякого нового його пункту, та назву
нового модуля що буде опрацьовувати його, в подальшому можна не
переживати про сумісну роботу програми й нової підпрограми, а сміливо
писати програмний модуль. Можна не переживати навіть про те, щоб, по
закінченні роботи нового модуля, закрити файли й дати доступ до даних
іншим підпрограмам, оскільки кожен модуль комплексу “чистить” пам‘ять і
закриває всі відкриті файли, для забезпечення гарантії нормальної роботи
і запобігання конфліктів в майбутньому.

4.9. Адаптація до мережевого використання.

Адаптація програми до мережевого використання вимагатиме суттєвого
ускладнення програмного коду у повному обємі комплексу.

Затверджено

Ф.ФФ.57071-01 93 01-1-ЛУ

Автоматизація господарської діяльності

ВАТ “Коломийський сирзавод”.

Опис програми

Ф.ФФ.57106-01 13 01-1

Аркушів 29

2000

Анотація

Опис пргорами містить інформацію про функціональне призначення
програми, опис її логічної структури.

Опис логічної структури алгоритму

Початковий модуль AMORTIZ.PRG в якому визначається і активується основне
меню програми, що є нащадком від інтерактивного системного меню Foxpro.

При запуску модуля здійснюється виклик кількох підпрограм:

– rezerv.prg – здійснює резервне копіювання бази даних;

– nowkvart.prg – здійснює контроль настання /ненастання/ наступного
кварталу;

– dtop.prg – активує фонове вікно програми.

Основною функцією модуля є визначення і активізація основного меню
програми. Пункти цього меню викликають наступні підпрограми.

Модуль DTOP.PRG – створює фонове вікно програми, розроблений для того,
щоб вивести інформацію про розробника ПЗ, замовника, текучої дати, а
також для того, щоб приховати інколи не деактивовані вікна та меню
програми.

Модуль REZERV.PRG – опрацьовує змінну-індикатор робочого циклу програми
zax з допоміжної бази ZAH.DBF. В залежності від значення змінноє видає
повідомлення про нормальне закінчення роботи програми, та пропонує
створити резервну копію бази (Малюнок 1).

Малюнок 1.

В випадку ненормального переривання робочого циклу при наступному
запуску програми видаєтся попередження про імовірнисть пошкодження
структури даних в базі і пропонує відновити базу з копії створеної до
невдалого сеансу роботи (Малюнок 2.):

Малюнок 2.

Вихід з програми та індикація вдалого закінчення сеансу.

Третім і останнім пунктом головного меню програми є пункт “Вихід” при
виборі якого ініціюється меню з пунктами зображеними на малюнку 3:

Малюнок 3.

При виборі пункту “Вийти з програми ” здійснюється вихід з індикацією
нормального завершення сеансу роботи. Два наступних пункти здійснюють
доступ до системного командного вікна Foxpro – “Command”, та приховують
його. Це створено для того, щоб дати змогу програмісту мати додатковий
канал для впливу на протікання роботи програми.

Перший пункт головного меню програми «РОБОТА З ДАНИМИ» містить підменю
зображене на ілюстрації 4:

Малюнок 4.

Створення відділу.

Перший пункт підменю «СТВОРИТИ НОВИЙ ВДДІЛ» викликає модуль М1_11.PRG.
Цей модуль здійснює створення нового відділу, присвоєння йому
оригінального коду, також перевіряє чи назва нового відділу не співпадає
з назвами вже існуючих відділів, також не допускає введення відділу без
назви.

Також він містить процедури перейменування та знищення існуючих
відділів. На малюнку 5 зображено інтерфейс даного модуля:

Малюнок 5.

При вводі назви, що співпадає з назвою існуючого відділу, чи при вводі
відділу без назви видається повідомлення зображене на малюнку 6.

Малюнок 6.

При виборі пункту «перейменувати відділ» активізується меню з списком
відділів в якому можна вибрати потрібний. Після вибору відділу
активізується вікно з запрошенням ввести нову назву відділу, причому код
відділу, що перейменовується, залишається незмінним (малюнок 7):

Малюнок 7.

При виборі пункту «ЗНИЩИТИ ВІДДІЛ» знову ініціюється меню з списком
відділів, і після вибору потрібного відділу видається попередження про
знищення вибраного відділу. В програмі здійснено звязок між
базою-довідником відділів і базою обліку основних засобів через код
відділу. Тобто кожному засобу ставиться в відповіднисть код відділу до
якого він належить В випадку, якщо відділ, що містить засоби знищується,
ці засоби потрібно перенести в інший відділ, інакше засоби з кодом
неіснуючого відділу будуть недоступні в програмі.

По цій причині після підтвердження знищення відділу програма видає
запрошення перенести засоби цього відділу в інший, тобто змінити код
вищезгадуваних засобів, або знищити і їх (Малюнок 8):

Малюнок 8.

В випадку вибору кнопки «ПЕРЕНЕСТИ» активізується вікно з меню-списком
відділів і після вибору відділу код відділу засобів змінюється на код
вибраного відділу.

Модуль містить внутрішні процедури:

procedure proc1 – процедура створення нового відділу;

procedure perv – перейменування відділу;

procedure delv – процедура видалення відділу;

procedure p23 – переносить дані з відділу, що знищується в визначений
відділ.

Ввід даних.

При виборі другого пункту підменю “ВНЕСЕННЯ ОЗ В ВІДДІЛ” першого пункту
головного меню викликається модуль M1_12.PRG в функції якого входить
поповнення бази даних новими основними засобами. Перш за все програма
видає запрошення ввести групу, до якої відноситимуться засоби, та
підтвердити коєфіцієнти для даної групи (малюнок 9):

Малюнок 9.

Після цьго, за допомогою меню виводиться запрошення визначити відділ, до
якого відноситимуться нові засоби.

Після того, як група і код відділу нових засобів визначені,
відкривається вікно для вводу засобів, в якому вводяться рахунок для
засобів, інвентарний номер, назва засобу, його первісна вартість і
вартість на початок кварталу. Після введення даних програма зразу
нараховує знос і вартість на кінець кварталу.

На ілюстрації 10 діалогове вікно вводу.

Малюнок 10.

При виборі кнопки “Ще один запис” повторюється ввід засобу в ту ж групу
і відділ. Кнопка “вихід” закриває вікно введення даних.

Модуль містить внутрішні процедури:

procedure pr01 – вносить дані в вибрану групу й відділ;

procedure raxproc – додаткове інтерфейсне меню з номерами рахунків.

Відображення інформації.

Третій пункт підменю “СПИСАННЯ ТА КОРЕКЦІЯ ОЗ”, що викликається першим
пунктом головного меню активізує підменю, зображене на малюнку 11.

Малюнок 11.

Перший пункт даного підменю активізує діалогове вікно, в якому
відкривається спеціальним чином зконфігуроване BROWSE-вікно, в якому
відображаються всі засоби підприємства. Вибираючи пункти меню від 3 до
9 можна певним чином зконфігурувати фільтр, який буде застосований до
бази. При виборі пунктів 3-9 викликається модуль М12proc.prg, котрий в
залежності від пункту вносить в допоміжну базу значення параметру для
фільтра. Застосування бази для збереження параметрів відбору підвищує
функціональність модуля, тому що появляється можливість комбінувати
параметри фільтрування а також викликати модуль необмежену кількість
разів без втрати параметрів визначених при попередніх викликах. Але це
зумовлює наявність пункту “очистити фільтр”, який встановлює значення
параметрів “по замовчуванню”. При накладанні фільтру розрізняються
параметри по замовчуванню (які не застосовуються при накладанні фільтру)
і параметри, що потрібно застосувати при накладанні фільтру.

На ілюстрації 12 діалогове вікно для перегляду бази:

Малюнок 12.

В даному модулі застосовані дві клавішні функції:

При нажиманні клавіші F8 виконується стирання текучого запису.

При нажиманні клавіші F4 викликається процедура підбиття підсумків для
даних, що відображені в діалоговому вікні.

Модуль містить внутрішні процедури:

Procedure pr01 – визначення номеру рахунку, який переглядатиметься.

Procedure pr02 – визначення групи засобів.

При виборі пункту “ПЕРЕГЛЯНУТИ ВІДДІЛ” активізується меню з списком
відділів, після визначення відділу викликається модуль M1_12.PRG в
діалоговому вікні якого можна і переглянути відділ можливістю
використання клавішних функцій F4 i F8.

Модуль M1_12.PRG містить процедури:

procedure m01b1pr – визначає відідл для перегляду.

procedure browser – конфігурує і активізує Browse – вікно.

procedure sumpr – підбиття підсумків по відфільтрованих засобах.

Контроль помилок.

При виборі четвертого пункту підменю першого пункту головного меню
”Контрольний перерахунок” активізується модуль M1_4.prg, функцією якого
є перерахунок зносу і вартості на кінець кварталу для виправлення
випадкових помилок, які імовірно з`явились під час перегляду бази
користувачем, а також для перерахунку даних з новими параметрами.

Зміна параметрів.

Вибір п`ятого пункту меню “Зміна коефіцієнтів” здійснює виклик модуля
М1_5.prg, функцією якого є можливість коректування норми амортизації і
понижуючих коефіцієнтів для груп оборотної відомості по основних
засобах. Діалогове вікно активізоване доним модулем зображене на малюнку
13.

Малюнок 13.

Перерахунок для нового кварталу.

Шостим і останнім пунктом головного меню є «Перехід на новий квартал».
Даний пункт викликає модуль М1_6.prg, функцією якого є резервування
бази, як бази за минулий квартал і збереження її в папці KVARTAL1, а
також, в текучій базі, зміна вартості ОЗ на початок кварталу на кінцеву
вартість попереднього кварталу, і нарахувавши квартальний знос,
визначити залишкову вартість на кінець нового кварталу. Модуль
автоматично активізується при запуску програми, якщо текучий квартал
закінчився, але не закритий.

Під час роботи модуля активізується діалогове вікно, зображене на
малюнку14:

Малюнок 14.

Вивід звітів.

В другому пункті головного меню «Вивід звітів» реалізовано

Видрук звітів двох типів:

Комбінований звіт з можливістю визначення відділу та групи для основних
засобів.

Загальний звіт для всіх груп послідовного для всіх відділів.

Звіт 1 генерується модулем printzv.prg , який в залежності від значень
які записані в допоміжній базі PRSTAT.DBF розділяє їх на параметри по
замовчуванню, які не враховуються при відборі засобів, і на ініційовані
параментри які потрібно застосувати при відборі даних для звіту.

Конфігурування звіту організовано зручно з передбаченою властивістю
уникнення вводу помилкових параметрів. Користувачу не потрібно що-небудь
вводити. Конфігурування відбувається за допомогою спеціальних маню в
відповідних вікнах з підказками (малюнок 15(визначення групи),16
(визначення відділу)).

Малюнок 15.

Малюнок 16.

Звіти організовані за допомогою стандартного системного генератора
звітів. Приклади всіх видів звітів приведені в додатку 2.

Опис організації вхідних та вихідних даних

Ввід даних в програму може здійснюватись двома шляхами:

Рекомендований метод – вводити дані через спеціалізовану процедуру
введення даних. Викликається процедура другим пунктом підменю головного
меню “Внесення нових ОЗ”.

Існує можливість вносити дані під час перегляду бази, чи відділу, під
час роботи процедури перегляду, яка викликається з третього пункту
підменю головного меню, безпосереднім поновленням бази використовуючи
клавіші Crtl+N, що є властивістю BROWSE – вікна, використаного в даній
процедурі.

Вивід даних здійснюється одночасно на екран та принтер комп‘ютера при
запуску процедур виводу звітів.

Вибір та обгрунтування апаратних та програмних засобів

Обгрунтування вибору програмних засобів .

Для написання комплексу застосовувалась дещо застаріла СУБД Foxpro 2.0
сумісне з MSDOS. Це зумовлене тим, що на підприємстві використовуються
системи Ibm PC/AT 80386 та Ibm PC/AT 80486, для яких і була розроблена
дана програма.

Обгрунтування вибору апаратних засобів.

При постановці завдання було визначено, що даний програмний комплекс
буде використовуватись на Ibm PC/AT 80486 з принтером Epson LX-1050+

8. Технічне та економічне обгрунтування дипломного проекту

Основним завданням техніко-економічного обгрунтування дипломного
проекту являється визначення величини економічного ефекту від
використання в виробництві основних та другорядних результатів, які
одержані в даному дипломному проекті. Оцінка ефективності прийнятого
рішення повинна бути комплексною і враховувати всі його аспекти.

Проведемо оцінку затрат праці на розробку програмного продукту,
виходячи з того, що розмір початкового тексту запису алгоритму і даних в
основному визначає затрати праці t та час розробки Т програмного
продукту:

t=3.6*Nті

де Nті – кількість інструкцій в тисячах.

Загальний об`єм програми складає приблизно 1900 інструкцій.

t=3.6*1.9=6.84 (люд/міс)

продуктивність праці розробників програмного продукту:

П=1000* Nті/t

П=1000*1,9/5,9=11210 (інстр/міс)

Розрахуємо час потрібний для розробки програмного продукту:

Т=Т0+Т1+Т2+Т3+Т4+Т5

Т0 – строк розробки програмного продукту;

Т1 – коефіцієнт вірності постановки завдання;

Т2 – час розробки алгоритму;

Т3 – час відладки;

Т4 – час на підготовку тексту;

Т5 – час на розробку документації;

Т0 – 2,5* Nті^0,32

T5=0.75*T4

Де К залежить від ступені підготовки програміста. Беремо К=0,8 (стаж
роботи до двох років)

Т0=2,5*1,9^0.32=3.07 (міс)

Т1=(1900*1,2)/(720*75*0,8)=0,05 (міс)

Т2=1900/11520 =0,16 (міс)

Т3=1900/1536=1,2 (міс)

Т4=1600/10857=0,15 (міс)

Т5=0,75*0,15=0,11 (міс)

Т=3,07+0,05+0,16+1,2+0,15+0,11=4,74

Визначимо собівартість роботи комп‘ютера. Для цього розраховуються
поточні витрати на експлуатацію комп‘ютера. До їх складу включаються
витрати на електроєнергію та амортизаційні відрахування на реновацію від
вартості комп‘ютера та інше.

Витрати на електроенєргію визначаються множенням видатків
електроенергії за одну годину на вартість 1кВт/год електроенергії на час
роботи комп‘ютера за рік.

Час роботи комп‘ютера за рік визначається множенням кількості робочих
днів у році на час роботи комп‘ютера за день:

F=(365-104-6)*8=2040 (год)

Тоді видатки електроенергії складають:

Вел=0,78*0,11*2040=175 (год)

Амортизаційні відрахування визначаються множенням вартості комп‘ютера
на норму амортизаційних відрахувань:

La= 3300*0,06=198 (грн)

Річна заробітня плата обслуговуючого персоналу (економіста з місячною
посадовою ставкою 120 грн) складає:

Z=120*12=1440 (грн)

Відрахування на соціальне страхування:

Ввідр=1440*0,06=86,4 (грн)

Вартість витрачених матеріалів складає 2% від вартості обчислювальної
техніки:

Ввм=3300*0,02=66 (грн)

Утримання та ремонт приміщень, в яких знаходяться засоби обчислювальної
техніки:

Срп=3300*0,03=99 (грн)

Собівартість години роботи на комп‘ютері:

R=(Вел+LA+Z+ВВМ+Ввідр+Спр)/F

R=(175+198+1440+86.4+66+99)/2040=1.01

Рахуємо прямі витрати на виконання дипломного проекту:

ВПР=R*T*8*21

ВПР=1.01*4.74*8*21=804.3(грн)

Накладні витрати, що включають витрати на освітлення, опалення і т. п.
Приймаються в розмірі 40-50% від суми прямих витрат:

Внакл=0,4*804,3=321,72 (грн)

Загальні витрати на виконання дипломної роботи:

В= ВПР+ Внакл=804,3+321,72=1126,02(грн)

Визначення ціни на програмний продукт:

ЦПП=В(1+Р/(100*К))

Де В – витрати на виконання дипломного проекту;

Р – рівень рентабельності (Р=20)

К – коефіцієнт, що залежить від рівня науково-технічного ефекту (К=1,3)

ЦПП=1126,02(1+20/(100*1,3))=1299,25 (грн)

Річний економічний ефект визначається за формулою:

Ер=Z0*T-Zприв

Де Z0=Т1*А

Де Т1 – трудомісткість (в годинах), на складання документу, а зарплата
виконавця.

Z0=4*150=600(грн)

Zприв=t*R*T+EK*ЦПП

Де ЕК=0,15 – нормативно-галузевий коефіцієнт.

Zприв=6,84*1,01*300+0,15*1299,25=2072,52+194,89=2267,4(грн)

Враховуючи всі дані отримаємо:

Ер=600*300-2267,4=177732,6(грн)

Охорона праці

В процесі роботи здоров’ю, а також, можливо, життю людей можут
загрожувати фактори, викликані найчастіше неправильною організацією
праці або порушенням техніки безпеки.

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

Безпосередню небезпеку для життя та здоров’я людей являють собою прилади
та елементи обладнання, що вимагають для своєї роботи живлення від
мережі з високою напругою.

З метою запобігання нещасних випадків при використанні людиною такого
обладнання або при контакті з ним, необхідне проведення серед персоналу
інструктажу по техніці безпеки, а також контроль за дотриманням вимог
техніки базпеки. Крім того, зиеншити вірогідність нещасних випадків або
аварій можна шляхом проведення деяких організаційних та профілактичних
заходів.

При роботі з легкозаймистими, вибухонебезпечними та токсичними газами, а
також рідинами та продуктами розкладу органічних сполук, необхідна
постійна вентиляція робочих приміщень. Роботи з небезпечними речовинами
рекомендується проводити тільки в герметичних системах, або під витяжною
шафою, в добре провітрюваному приміщенні.

Ефективним засобом профілактики нещасних випадків є найбільш вдале
розміщення обладнання, використання, по можливості, приладів та
обладнання з найбільш оптимальними конструктивними рішеннями. Важливим
засобом забезпечення безпеки служить надійна ізоляція частин, що
знаходяться під напругою, кабелів, а також заземлення корпусів всіх
приладів та металічних частин обладнання.

Для забезпечення безпеки людей від враження струмом необхідно
забезпечити ізоляцію частин обладнання що знаходяться під напругою, для
чого рекомендується проведення профілактичних оглядів кабелів та всієї
проводки. Крім того необхідно забезпечити надійне заземлення. Ефективним
– є заземлення трубчастого типу з товщиною стінки 3,5 мм. Довжина труби
звичайно складає 250 см. , діаметр – 5 см. Заземлювачі розміщуються по
чотирикутному контуру з глибиною закладки близько 80 см. , причому опір
заземлення не повинен перевищувати 4 Ом. Таке заземлення допомагає
уникнути нещасних випадків навіть при виникненні аварійних ситуацій.

В цілях забезпечення безпеки обслуговуючого персоналу та забезпечення
найшвидшого усунення ситуацій, що загрожують здоров`ю, або життю людей,
на підприємстві повинен бути передбачений комплекс заходів по
попередженню та усуненню таких ситуацій, а також засоби захисту,
повідомлення та боротьби з аварійною ситуацією.

До будівель та приміщень в яких розміщується обчислювальна техніка
ставляться такі протипожежні вимоги:

Приміщення в якому розміщується обчислювальна техніка повинно бути І або
ІІ ступеня вогнетривкості.

В приміщенні повинні бути встановлені протипожежні перешкоди в якості
перегородок з негорючих матеріалів між виробничими залами.

Всі види комунікацій прокладають в металічних трубах або в
металорукавах.

Комунікації, прокладені під підлогою, або в стінах, розділяють
негорючими перегородками.

Всі кабельні силові лінії повинні бути надійно ізольовані.

В приміщенні повинні бути первинні засоби боротьби з вогнем.

Передбачені пристрої пожежної автоматики що призначені для виявлення,
оповіщення, та ліквідації пожеж, а також для захисту людей від впливу
шкідливих факторів.

Висновки:

Створено програмний комплекс, який дозволяє автоматизувати
бухгалтерсько-економічну та облікову роботу на ВАТ “Коломийський
сирзавод”.

Робота пройшла адаптацію на ВАТ “Коломийський сирзавод” і отримала
високу оцінку спеціалістів підприємства.

Впровадження комплексу дозволило скоротити кількість працівників, що
виконували дану роботу, з трьох до одного.

В завданні на розробку програмного комплексу не було передбачено його
мережеве використання, оскільки на підприємстві не використовується
локальна мережа, а апаратна база має деякі обмеження. Тому питання
адаптації програми до роботи з багатьма користувачами не розроблене.

9.1 Специфіка вибору методу реалізації.

Для даного комплексу існує велика кількість альтернативного програмного
забезпечення, яке реалізує дану задачу в повному об`ємі, в комплексі
автоматизованого бухгалтерського обліку. Але на підприємстві більшість
завдань обліку автоматизовано ізольованими програми, написаними на СУБД
Foxpro. По цій причині підприємство в цілях економії коштів, уникаючи
закупівлі нових повномаштабних комплексів бухгалтерського обліку,
спеціалізованих під MSDOS, а також комплексів сумісних з Windows 9Х, що
вимагає модернізації апаратної частини підприємства, повважало
вигіднішим заказати ізольовану програму сумісну з існуючою апаратною
базою. Також було бажано створити програму з інтерфейсом звичним для
операторів комп‘ютерів.

9.2. Мережеве використання.

В завданні на даний проект не обумовлювалось мережеве використання в
силу обмеженості апаратної бази. Тому адаптація для
багатокористувацького використання не проводилась.

8. Список використанї літератури:

А. А. Попов. Програмування в середовищі СУБД Foxpro 2.0, побудова систем
обробки даних. Видавництво “Калашніков и К”. Москва 1997р.

І. М. Павлюк. Рекомендації з організації і ведення бухгалтерського
обліку на підприємстві і в організаціях України. (Практичний посібник).
ВТП “Вік” Коломия 1995р.

Галицькі контракти. Дебет-Кредит лютий 2000р. HYPERLINK
http://www.dk.gs.com.ua www.dk.gs.com.ua

Щотижневик “Податки та бухгалтерський облік”.

Затверджено

Ф.ФФ.57071-01 93 01-1-ЛУ

Автоматизація господарської діяльності

ВАТ “Коломийський сирзавод”.

Текст програми.

Ф.ФФ.57106-01 13 01-1

Аркушів 43

2000

10. Текст програми.

Лістінг модуля Amortiz.prg

clear

CLOSE DATABASES

CLEAR WINDOWS

set deleted on

do dtop

set century on

set clock on

use amortiz.dbf

set talk off

set message to 30 center

set century on

set date german

do rezerv.prg

use zah

replace zax with .f.

close databases

do nowkvart.prg

clear windows

do dtop

SET SYSMENU TO

SET SYSMENU AUTOMATIC

DEFINE PAD _01 OF _MSYSMENU PROMPT ” Робота з даними ”

DEFINE PAD _02 OF _MSYSMENU PROMPT “Вивід звітів ”

DEFINE PAD _03 OF _MSYSMENU PROMPT “Вихід ”

ON PAD _01 OF _MSYSMENU ACTIVATE POPUP menu1

ON PAD _02 OF _MSYSMENU ACTIVATE POPUP menu2

ON selection PAD _03 OF _MSYSMENU do vixod

DEFINE POPUP MENU12 FROM 1,0 MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF MENU12 PROMPT “Переглянути базу”

DEFINE BAR 2 OF MENU12 PROMPT “Переглянути відділ”

DEFINE BAR 3 OF MENU12 PROMPT “\-”

DEFINE BAR 5 OF MENU12 PROMPT “Відібрати по даті придбання”

DEFINE BAR 6 OF MENU12 PROMPT “Відібраті по групі”

DEFINE BAR 4 OF MENU12 PROMPT “Відібраті по рахунку”

DEFINE BAR 7 OF MENU12 PROMPT “Відібрати по назві”

DEFINE BAR 8 OF MENU12 PROMPT “Відібрати по бал. вартості”

DEFINE BAR 9 OF MENU12 PROMPT “Відібрати по залишку на п.кв.”

DEFINE BAR 10 OF MENU12 PROMPT “\-”

DEFINE BAR 11 OF MENU12 PROMPT “Очистити фільтр”

ON SELECTION POPUP MENU12 DO M12PROC WITH BAR()

DEFINE POPUP MENU2 FROM 1,0 MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF MENU2 PROMPT “Визначити групу”

DEFINE BAR 2 OF MENU2 PROMPT “Визначити віділ”

DEFINE BAR 3 OF MENU2 PROMPT “Вивести звіт”

DEFINE BAR 4 OF MENU2 PROMPT “\-”

DEFINE BAR 5 OF MENU2 PROMPT “Вивести загальний звіт”

DEFINE BAR 6 OF MENU2 PROMPT “Очистити фільтр”

ON SELECTION popup menu2 do printzv WITH BAR()

DEFINE POPUP MENU1 SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF MENU1 PROMPT “Cтворити новий відділ”

DEFINE BAR 2 OF MENU1 PROMPT “Внесення ОЗ в відділ”

DEFINE BAR 3 OF MENU1 PROMPT “\-”

DEFINE BAR 4 OF MENU1 PROMPT “Списання та корекція ОЗ”

DEFINE BAR 5 OF MENU1 PROMPT “\-”

DEFINE BAR 6 OF MENU1 PROMPT “Контрольний перерахунок”

DEFINE BAR 7 OF MENU1 PROMPT “Зміна коєфіцієнтів”

DEFINE BAR 8 OF MENU1 PROMPT “\-”

DEFINE BAR 9 OF MENU1 PROMPT “Перехід на новий кватал”

ON SELECTION BAR 1 OF MENU1 DO M1_11 WITH BAR()

ON SELECTION BAR 2 OF MENU1 DO M1_12 WITH BAR()

ON SELECTION BAR 4 OF MENU1 ACTIVATE POPUP MENU12

ON SELECTION BAR 6 OF MENU1 DO M1_14 WITH BAR()

ON SELECTION BAR 7 OF MENU1 DO M1_15 WITH BAR()

ON SELECTION BAR 9 OF MENU1 DO M1_16 WITH BAR()

return

Лістінг модуля Dtop.prg

clear

CLEAR WINDOWS

clear

set talk off

set clock on

set message to 30 center

set century on

set date german

DEFINE WINDOW DTOP FROM 0,0 TO 24,79 COLOR SCHEME 1

ACTIVATE WINDOW DTOP

d=day(date())

m=month(date())

y=year(date())

@ 0,60 say ‘Сьогодні
‘+alltrim(str(d))+’,’+alltrim(str(m))+’,’+alltrim(str(y))

@ 21,3 say ‘* Облік та нарахування амортизаці• основних засобів
підприємства *’

@ 22,3 say ‘(C) 2000 ___ Зареєстровано: ВАТ “Коломийський
сирзавод”‘

return

Лістінг модуля М1_11.prg

parameter b

clear windows

close databases

set talk off

set date german

set century on

do dtop

select B

erase M1_111.idx

use dovvid

index on nazvav to M1_111.idx compact

define popup v01 prompt field nazvav from 5,5 shadow

on selection popup v01 do perv in M1_11 with recno()

define popup v02 prompt field nazvav from 5,5 shadow

on selection popup v02 do delv in M1_11 with recno()

define window p002 from 2,30 to 20,75 double shadow color scheme 1

define popup v03 prompt field nazvav from 3,5 shadow

on selection popup v03 do p23 in M1_11 with recno()

define popup p1 from 5,5 shadow

define bar 1 of p1 prompt ‘Новий відділ’

define bar 2 of p1 prompt ‘Перейменувати відділ’

define bar 3 of p1 prompt ‘\-‘

define bar 4 of p1 prompt ‘Знищити відділ’

on selection popup p1 do proc1 with bar()

activate popup p1

procedure proc1

parameter bar

do case

case bar=1

@ 2,10 say ‘*** ВНЕСЕННЯ НОВОГО ВІДДІЛУ ***’

DEFINE WINDOW w01 FROM 5,20 TO 9,65 double shadow COLOR SCHEME 1

ACTIVATE WINDOW w01

@ 0,4 say ‘Введіть назву нового відділу’

nv=’ ‘

@ 1,0 get nv

READ

NV=ALLTRIM(NV)

select b

go top

do while !eof()

if nazvav=nv

define window w02 from 7,7 to 16,70 double shadow color scheme 7

activate window w02

@ 0,8 say ‘ Такий відділ вже існує !’

@ 1,0 say ‘ Внесення даного відділу сприятиме виникненню помилок під
час’

@ 2,0 say ‘ роботи оператора, оскільки існує висока імовірність
переплу-‘

@ 3,0 say ‘ тати відділи з оинаковими назвами !’

@ 5,10 prompt ‘Внести відділ’

@ 5,40 prompt ‘Відміна’

menu to r

deactivate window w02

if r=2

return

else

endif

else

endif

skip(1)

enddo

go bottom

x=kodv

append blank

go bottom

replace kodv with (x+1)

replace nazvav with nv

@ 2,0 say ‘ Новий відділ успішно внесений !’

@ 2,33 prompt ‘ OK ‘

menu to r

deactivate window w01

case bar=2

@ 2,10 say ‘*** ПЕРЕЙМЕНУВАННЯ ВІДДІЛУ *** ‘

select b

activate popup v01

case bar=4

@ 2,10 say ‘*** ВИДАЛЕННЯ ВІДДІЛУ *** ‘

select b

activate popup v02

ENDCASE

deactivate window dtop01

close databases

do dtop

deactivate popup p1

return

procedure perv

parameter r

goto(r)

define window w03 from 5,20 to 13,65 double shadow color scheme 5

activate window w03

@ 0,7 say ‘*** ПЕРЕЙМЕНУВАННЯ ВІДДІЛУ ***’

@ 1,0 SAY ‘Стара назва відділу – ‘+nazvav

@ 2,0 say ‘Введіть нову назву відділу’

nn=’ ‘

@ 3,0 get nn

read

replace nazvav with alltrim(nn)

@ 5,0 say ‘Відділ успішно перейменовано !’

@ 5,35 prompt ‘ O K ‘

menu to r

deactivate window w03

deactivate popup v01

return

procedure delv

parameter r

goto(r)

Define window d01 from 5,10 to 11,60 double shadow color scheme 5

activate window d01

@ 0,5 say ‘УВАГА ВИКОНУЄТЬСЯ ЗНИЩЕННЯ ВІДДІЛУ !’

@ 1,0 SAY ‘ Буде знищено відділ – ‘+nazvav

@ 3,10 prompt ‘ ЗНИЩИТИ ‘

@ 3,30 prompt ‘ ВІДМІНА ‘

MENU TO y

do case

case y=1

clear

@ 0,4 say ‘Увага , ОЗ даного відділу зараз можна ‘

@ 1,4 say ‘перенести до іншого відділу, або зтерти’

@ 3,0 say ‘Що зробити з ОЗ відділу ? ‘

@ 4,4 prompt ‘ ПЕРЕНЕСТИ ‘

@ 4,20 prompt ‘ ЗНИЩИТИ ‘

@ 4,35 prompt ‘ ВІДМІНА ‘

MENU TO X

do case

case x=1

activate window p002

@ 0,0 say ‘Запропоновано перелік віділів’

@ 1,0 say ‘Визначіть відділ в який перенести ОЗ’

activate popup v03

delete

pack

case x=2

k=kodv

use amortiz

delete for grp=k

pack

clear window d01

close database

clear windows

do dtop

return

case x=3

clear windows

???????????????????????????????????????????????????????????

Лістінг модуля M1_12.prg

PARAMETER BAR

SET TALK OFF

clear windows

close databases

do dtop

SELECT A

USE AMORTIZ

SELECT C

USE ZAH

SELECT B

erase M1_12dv.idx

USE DOVVID

index on nazvav to M1_12dv.idx

clear windows

do dtop

define window w033 from 5,5 to 10,75 double shadow

activate window w033

@ 0,0 say ‘*** Визначіть групу та коєфіцієнти ***’

@ 1,0 say ‘Введіть номер групи’

g=1

@ 1,37 get G range 1,3 picture ‘#’ error ‘Введіть номер групи від 1 до
3’

read

do case

case g=1

@ 2,1 say ‘Введіть норму амортизаці• ‘ get c.g1p1 picture ‘##.##’

@ 3,1 say ‘Введіть понижуючий коефіцієнт ‘ get c.g1p2 picture ‘##.##’

read

replace c.p1 with c.g1p1

replace c.p2 with c.g1p2

case g=2

@ 2,1 say ‘Введіть норму амортизаці• ‘ get c.g2p1 picture ‘##.##’

@ 3,1 say ‘Введіть понижуючий коефіцієнт ‘ get c.g2p2 picture ‘##.##’

read

replace c.p1 with c.g2p1

replace c.p2 with c.g2p2

case g=3

@ 2,1 say ‘Введіть норму амортизаці• ‘ get c.g3p1 picture ‘##.##’

@ 3,1 say ‘Введіть понижуючий коефіцієнт ‘ get c.g3p2 picture ‘##.##’

read

replace c.p1 with c.g3p1

replace c.p2 with c.g3p2

otherwise

return

endcase

clear windows

do dtop

define window newd from 3,3 to 17,75 title ‘Введення нових даних’ double
shadow

activate window newd

define popup p1 from 0,55

define bar 1 of p1 prompt ’23’

define bar 2 of p1 prompt ‘231’

define bar 3 of p1 prompt ’24’

define bar 4 of p1 prompt ’26’

define bar 5 of p1 prompt ’44’

define bar 6 of p1 prompt ’81’

on selection popup p1 do raxproc with prompt()?????

@ 0,2 SAY ‘ВИБЕРІТЬ ВІДДІЛ’

DEFINE POPUP P01 PROMPT FIELD NAZVAV FROM 1,6 SHADOW

ON SELECTION POPUP P01 DO PR01 WITH RECNO()

ACTIVATE POPUP P01

PROCEDURE PR01

PARAMETER RR

SELECT B

GO TOP

GOTO(RR)

KOD=KODV

define window newd from 3,3 to 17,75 title ‘Введення нових даних’ double
shadow

activate window newd

r=1

do while r=1

clear

SELECT A

go bottom

lich=npp

APPEND blank

go bottom

replace npp with (lich+1)

replace GRP with KOD

replace grupa with g

CLEAR

@ 0,3 say ‘Внесення ОЗ в ‘+b.nazvav+alltrim(str(G))+’ група’

@ 1,1 say ‘Введіть номер рахунку’

activate popup p1

@ 1,37 say ‘Вибрано ‘+str(nrax)

@ 3,1 say ‘Введіть дату придбання ОЗ’

@ 3,37 get data picture ‘##/##/##’

@ 4,1 say ‘Введіть інвентарний номер’

@ 4,37 get invnom

@ 5,1 say ‘Введіть назву засобу’

@ 5,22 get nazva

@ 6,1 say ‘Введіть балансову вартість’

@ 6,37 get balrax picture ‘#######.##’

@ 7,1 say ‘Введіть вартість на початок кварталу’

@ 7,37 get cena picture ‘#######.##’

read

replace oper1 with round(cena*C.P1*C.P2/100,2)

replace amrt with cena-oper1

@ 10,15 prompt ‘Ще один запис’ message ‘повторити поновлення бази ‘

@ 10,35 prompt ‘Вихід’ message ‘Вихід в основне меню’

menu to r

if r=2

clear windows

do dtop

deACTIVATE POPUP P01

return

else

endif

enddo

clear windows

do dtop

deACTIVATE POPUP P01

return

procedure raxproc

parameter prmt

replace nrax with val(prmt)

deactivate popup p1

return

Лістінг модуля M1_14.prg

parameter a

set talk off

define window www from 18,40 to 24,77 double shadow color scheme 7

activate window www

@ 0,3 say ‘*** ПРОВОДИТЬСЯ ПЕРЕРАХУНОК ***’

select a

USE ZAH

select b

use amortiz

go top

do while !eof()

do case

case grupa=1

replace oper1 with round(cena*a.g1P1*a.g1P2/100,2)

replace amrt with cena-oper1

case grupa=2

replace oper1 with round(cena*a.g2P1*a.g2P2/100,2)

replace amrt with cena-oper1

case grupa=3

replace oper1 with round(cena*a.g3P1*a.g3P2/100,2)

replace amrt with cena-oper1

otherwise

replace oper1 with 10101

repl???????????????????

@ 1,0 SAY ‘для-‘+nazva

@ 2,0 say str(cena)

@ 3,0 say str(amrt)

enddo

clear windows

do dtop

return

Лістінг модуля M1_15.prg

parameter bar

clear windows

close databases

set talk off

clear

do dtop

define window w033 from 5,5 to 19,55 double shadow

activate window w033

USE ZAH

@ 0,4 say ‘*** ПРОЦЕДУРА КОРЕКЦІ° КОЕФІЦІЄНТІВ ***’

@ 1,3 say ‘Введіть коефіцієнти для 1• групи’

@ 2,1 say ‘Введіть норму амортизаці• ‘ get g1p1 picture ‘##.##’

@ 3,1 say ‘Введіть понижуючий коефіцієнт ‘ get g1p2 picture ‘##.##’

@ 4,1 say ‘——————————————-‘

@ 5,3 say ‘Введіть коефіцієнти для 2• групи’

@ 6,1 say ‘Введіть норму амортизаці• ‘ get g2p1 picture ‘##.##’

@ 7,1 say ‘Введіть понижуючий коефіцієнт ‘ get g2p2 picture ‘##.##’

@ 8,1 say ‘——————————————-‘

@ 9,3 say ‘Введіть коефіцієнти для 3• групи’

@ 10,1 say ‘Введіть норму амортизаці• ‘ get g3p1 picture ‘##.##’

@ 11,1 say ‘Введіть понижуючий коефіцієнт ‘ get g3p2 picture ‘##.##’

read

clear windows

do dtop

return

Лістінг модуля M1_16.prg

parameter bar

clear

clear windows

close databases

do dtop

set date german

set century on

select a

use amortiz

select b

use zah

yr=year(date())

ms=month(date())

dt=date()

DO CASE

CASE MS<=1.AND.MS<=3kvrt=1CASE MS<=4.AND.MS<=6kvrt=2CASE MS<=7.AND.MS<=9kvrt=3CASE MS<=10.AND.MS<=12kvrt=4endcasedefine window nk from 5,10 to 14,67 double shadow color scheme 7 title 'Перехід на новий квартал'activate window [email protected] 0,10 say 'СЬОГОДНІ '+dmy(dt)@ 1,10 say 'ПОТОЧНИЙ КВАРТАЛ '+STR(kvrt)select bif [email protected] 2,1 say 'УВАГА перехід на новий квартал проводиться завчасно !'[email protected] 4,6 prompt ' ПРОВЕСТИ ПЕРЕРАХУНОК ДЛЯ НОВОГО КВАРТАЛУ '@ 6,13 prompt ' ПРОДОВЖИТИ БЕЗ ПЕРЕРАХУНКУ 'menu to rdo casecase r=1do casecase kvrt=1copy file c:\amortiz\amortiz.dbf to c:\amortiz\kvartal1\oz1.dbfcase kvrt=2copy file c:\amortiz\amortiz.dbf to c:\amortiz\kvartal2\oz2.dbf case kvrt=3copy file c:\amortiz\amortiz.dbf to c:\amortiz\kvartal3\oz3.dbfcase kvrt=4copy file c:\amortiz\amortiz.dbf to c:\amortiz\kvartal4\oz4.dbfendcaseselect ago topdo while !eof()replace cena with amrtskip(1)enddodo M1_1.prg &&виклик перерахclear window nkselect breplace kvt with kvrtclose databasesreturncase r=2clear windowsdo dtopreturnendcaseclear windowsdo dtopreturnЛістінг модуля M12_2.prgparameter barset date germanset century onset talk offclose databasesclear windowsdo dtoperase prm12.idxselect ause amortizindex on nazva to prm12.idx compactERASE m12m1ind.idxselect buse dovvidindex ON NAZVAV TO m12m1ind.idx COMPACTselect c???????????????????????????????????????????????????????????????????????? ???????????????if alltrim(c.fnazva)!='Назва'set filter to nazva=c.fnazvaelseendifif c.fbalv1!=0.and.c.fbalv2!=0set filter to between(balrax,c.fbalv1,c.fbalv2)elseendifif c.fzal1!=0.and.c.fzal2!=0set filter to between(Amrt,c.fzal1,c.fzal2)elseendifdefine popup m12m01 prompt field b.nazvav from 1,50 shadowon selection popup m12m01 do m01b1pr with recno() in m12_2.prgDEFINE WINDOW m12w1 FROM 2,0 TO 22,79 double shadow COLOR SCHEME 1ACTIVATE WINDOW [email protected] 0,10 say '*** КОРЕКЦІЯ ТА СПИСАННЯ ОЗ ***'@ 2,2 say 'ESC-вийти, F4-підсумок F8-зписати'ON KEY LABEL F4 DO SUMPR in m12_2.prgon KEY LABEL F8 deletedo casecase [email protected] 1,2 SAY 'Визначіть відділ якій треба переглянути'select bactivate popup m12m01case bar=1do browser in m12_2.prgotherwisereturnendcaseprocedure m01b1prparameter recnselect bgo topgoto(recn)DVKEY1=RECNdvkey=kodvselect aset filter to grp=dvkeydo browserclear windowsdo dtopdeactivate popup m12m01CLOSE DATABASESRETURNprocedure browserparameter ddddefine window w0201 from 6,1 to 21,78 DOUBLEactivate window w0201browse title 'Oсновні засоби відділу - '+b.nazvav fields invnom :h='інв.N',;grupa :h='група', nrax :h='рахунок', Nazva :h='Назва ОЗ',balrax :h='балансова вартість',;cena :h='варт.на початок кврт',;oper1 :h='Знос за кв.',amrt :h='замортизована варт'returnprocedure sumprparameter kselect ago topselect duse sumatorreplace d.sbalv with 0replace d.scena with 0replace d.soper with 0replace d.samrt with 0do while !eof()select areplace d.sbalv with d.sbalv+a.balraxreplace d.scena with d.scena+a.cenareplace d.soper with d.soper+a.oper1replace d.samrt with d.samrt+a.amrtskip(1)enddodefine window w044 from 17,1 to 24,77 double shadow color scheme 1 title 'ПІДСУМКИ'activate window [email protected] 0,1 say 'Cумарна балансова вартість ОЗ відділу='@ 0,40 say [email protected] 1,1 say 'На початок кв.='@ 1,17 say [email protected] 2,1 say 'Знос за квартал='@ 2,17 say [email protected] 3,1 say 'Вартість на кінець кварталу='@ 3,35 say [email protected] 4,35 prompt ' ДАЛІ 'MENU TO RIF R=1DEACTIVATE WINDOW W044select aRETURNELSEENDIFDEACTIVATE WINDOW W044RETURNЛістінг модуля M12proc.prgparameter barset date germanset century onset talk offclose databasesclear windowsdo dtopselect ause filterdefine window w1201 from 6,10 to 10,70 double shadow color scheme 1define popup r1 from 0,40define bar 1 of r1 prompt 'Переглянути 23 рахунок'define bar 2 of r1 prompt 'Переглянути 231 рахунок'define bar 3 of r1 prompt 'Переглянути 24 рахунок'define bar 4 of r1 prompt 'Переглянути 26 рахунок'define bar 5 of r1 prompt 'Переглянути 44 рахунок'define bar 6 of r1 prompt 'Переглянути 81 рахунок'on selection popup r1 do pr01 with bar() in m12proc.prgdefine popup r2 from 0,40define bar 1 of r2 prompt 'Переглянути 1 групу'define bar 2 of r2 prompt 'Переглянути 2 групу'define bar 3 of r2 prompt 'Переглянути 3 групу'on selection popup r2 do pr02 with bar() in m12proc.prgDO CASECASE BAR=1do m12_2 with bar()CASE BAR=2do m12_2 with bar()CASE BAR=4activate window [email protected] 0,1 say 'Виберіть рахунок '@ 1,1 say 'який треба переглянути'activate popup r1clear windowsdo dtopreturnCASE BAR=5define window w1202 from 6,10 to 12,70 double shadow color scheme 1activate window [email protected] 0,1 say 'Визначіть діапазон дати придбання для засобів, '@ 1,1 say 'які треба переглянути'[email protected] 3,0 say 'Введіть початкову дату ' get [email protected] 4,0 say 'Введіть кінцеву дату ' get d2readreplace fdata1 with d1replace fdata2 with d2clear windowsdo dtopreturnCASE BAR=6define window w1203 from 6,10 to 10,70 double shadow color scheme 1activate window [email protected] 0,1 say 'Виберіть групу '@ 1,1 say 'яку треба переглянути'activate popup r2clear windowsdo dtopreturncase bar=7define window w1203 from 6,10 to 10,70 double shadow color scheme 1activate window [email protected] 0,1 say 'Введіть назву засобу, або перші кілька букв '@ 1,1 get a.fnazvareadCASE BAR=8define window w1202 from 6,10 to 12,70 double shadow color scheme 1activate window [email protected] 0,1 say 'Визначіть діапазон балансово• вартості для засобів, '@ 1,1 say 'які треба переглянути'@ 3,0 say 'Введіть нижню межу вартості ' get [email protected] 4,0 say 'Введіть верхню межу вартості ' get fbalv2readCASE BAR=9define window w1206 from 6,10 to 12,70 double shadow color scheme 1activate window [email protected] 0,1 say 'Визначіть діапазон балансово• вартості для засобів, '@ 1,1 say 'які треба переглянути'@ 3,0 say 'Введіть нижню межу залишку ' get [email protected] 4,0 say 'Введіть верхню межу залишку ' get fzal2readcase bar=11replace frax with 0replace fdata1 with {01/01/1900}replace fdata2 with {01/01/2200}replace fgrp with 0replace fnazva with 'Назва'replace fbalv1 with 0replace fbalv2 with 0replace fzal1 with 0replace fzal2 with 0use amortizset filter toclose databasesOTHERWISECLEAR WINDOWSDO DTOPclose databasesRETURNENDCASECLEAR WINDOWSDO DTOPclose databasesRETURNprocedure pr01parameter bardo casecase bar=1replace a.frax with 23case bar=2replace a.frax with 231case bar=3replace a.frax with 24case bar=4replace a.frax with 26case bar=5replace a.frax with 44case bar=6replace a.frax with 81otherwisedeactivate popup r1returnendcasedeactivate popup r1returnprocedure pr02parameter bardo casecase bar=1replace a.fgrp with 1case bar=2replace a.fgrp with 2case bar=3replace a.fgrp with 3otherwisereplace a.fgrp with 0deactivate popup r2endcasedeactivate popup r2returnЛістінг модуля M2_1.prgparameter barclose databasesset talk offset date germanclear windowscleardo dtopselect ause amortizselect buse dovviddefine popup mg01 from 0,33define bar 1 of mg01 prompt '1 група'define bar 2 of mg01 prompt '2 група'define bar 3 of mg01 prompt '3 група'on selection popup mg1 do prg01 with bar() in m2_1.prgdefine popup zmd01 prompt field nazvav shadowon selection popup zmd01 do prmd01 with recno() in M2_1.prgdo casecase bar=1DEFINE WINDOW w01 FROM 0,0 TO 24,79 COLOR SCHEME 1ACTIVATE WINDOW [email protected] 1,0 say ' Для яко• групи вивести звіт ? 'activate popup mg01NG=GGG()case bar=2select bactivate popup zmd01NV=kv()case bar=3do prprintcase bar=5set filter tootherwisedo dtopreturnendcaseprocedure prg01parameter b1,GGGdo casecase b1=1GGG=1case b1=2GGG=2case b1=3GGG=3otherwisedeactivate popup mg01clear windowsdo dtopreturnendcasereturnprocedure prmd01parameter nv,KV????????????????Лістінг модуля Nowkvart.prgclose databasesclear windowscleardo dtopset talk offset date germanset century onyr=year(date())ms=month(date())dt=date()DO CASECASE MS>=1.AND.MS<=3kvrt=1CASE MS>=4.AND.MS<=6kvrt=2CASE MS>=7.AND.MS<=9kvrt=3CASE MS>=10.AND.MS<=12kvrt=4endcaseuse zahskv=kvtstaw=p1staw1=p2close databasesif skv!=kvrtdefine window nk from 3,3 to 13,65 double shadow color scheme 7 title 'Перехід на новий квартал'activate window [email protected] 0,20 say 'СЬОГОДНІ '+dmy(dt)@ 1,20 say 'ПОТОЧНИЙ КВАРТАЛ '+STR(kvrt)@ 3,10 prompt ' ПРОВЕСТИ ПЕРЕРАХУНОК ДЛЯ НОВОГО КВАРТАЛУ '@ 5,17 prompt ' ПРОДОВЖИТИ БЕЗ ПЕРЕРАХУНКУ 'menu to rdo casecase r=1do casecase kvrt=1copy file c:\amortiz\amortiz.dbf to c:\amortiz\kvartal1\oz1.dbfcase kvrt=2copy file c:\amortiz\amortiz.dbf to c:\amortiz\kvartal2\oz2.dbfcase kvrt=3copy file c:\amortiz\amortiz.dbf to c:\amortiz\kvartal3\oz3.dbfcase kvrt=4copy file c:\amortiz\amortiz.dbf to c:\amortiz\kvartal4\oz4.dbfendcaseuse amortizgo topdo while !eof()replace cena with amrtreplace oper1 with round(cena*staw*staw1/100,2)replace amrt with cena-oper1skip(1)enddodeactivate window nkuse zahreplace kvt with kvrtclose databasereturncase r=2deactivate window nkreturnendcaseelsedo dtopreturnendifdo dtopreturnЛістінг модуля Pererah.prgselect aUSE ZAHselect buse amortizgo topdo while !eof()do casecase grupa=1replace oper1 with round(cena*a.g1P1*a.g1P2/100,2)replace amrt with cena-oper1case grupa=2replace oper1 with round(cena*a.g2P1*a.g2P2/100,2)replace amrt with cena-oper1case grupa=3replace oper1 with round(cena*a.g3P1*a.g3P2/100,2)replace amrt with cena-oper1otherwisereplace oper1 with 10101replace amrt with 10101endcaseskip(1)enddoreturnЛістінг модуля Pids.prgclear windowsclose databasesset talk offdo dtopselect ause amortizselect buse pidsreplace sbg1 with 0replace spg1 with 0replace skg1 with 0replace szg1 with 0replace s23g1 with 0replace s231g1 with 0replace s24g1 with 0replace s26g1 with 0replace s44g1 with 0replace s81g1 with 0replace sbg2 with 0replace spg2 with 0replace skg2 with 0replace szg2 with 0replace s23g2 with 0replace s231g2 with 0replace s24g2 with 0replace s26g2 with 0replace s44g2 with 0replace s81g2 with 0replace sbg3 with 0replace spg3 with 0replace skg3 with 0replace szg3 with 0replace s23g3 with 0replace s231g3 with 0replace s24g3 with 0replace s26g3 with 0replace s44g3 with 0replace s81g3 with 0replace sbs with 0replace sps with 0replace sks with 0replace szs with 0replace s23s with 0replace s231s with 0replace s24s with 0replace s26s with 0replace s44s with 0replace s81s with 0store 0 to zspom,zspomz,zsbg1,zspg1,zskg1,zszg1,zs23g1,zs231g1, zs24g1,zs26g1, zs44g1,zs81g1,zsbg2,zspg2,zskg2,zszg2,zs23g2,zs231g2,zs24g2,zs26g2,zs44g 2,zs81g2,zsbg3,zspg3,zskg3,zszg3,zs23g3,zs231g3,zs24g3,zs26g3,zs44g3,zs8 1g3,zsbs,zsps,zsks,zszs,zs23s,zs231s,zs24s,zs26s,zs44s,zs81sDefine window d01 from 5,10 to 11,60 double shadow color scheme 5activate window [email protected] 0,4 say 'Проводиться підбиття підсумків. Почекайте !'select ax=reccount()@ 2,1 say 'Всього записів '@ 2,18 say [email protected] 3,1 say 'Залишилось записів 'do while !eof()if a.grupa=1zsbg1=zsbg1+a.balraxzspg1=zspg1+a.cenazskg1=zskg1+a.amrtzszg1=zszg1+a.oper1do casecase a.nrax=23zs23g1=zs23g1+a.amrtcase a.nrax=23zs231g1=zs231g1+a.amrtcase a.nrax=24zs24g1=zs24g1+a.amrtcase a.nrax=26zs26g1=zs26g1+a.amrtcase a.nrax=44zs44g1=zs44g1+a.amrtcase a.nrax=81zs81g1=zs81g1+a.amrtotherwisezspom=zspom+a.amrtendcaseelseendifif a.grupa=2zsbg2=zsbg2+a.balraxzspg2=zspg2+a.cenazskg2=zskg2+a.amrtzszg2=zszg2+a.oper1do casecase a.nrax=23zs23g2=zs23g2+a.amrtcase a.nrax=231zs231g2=zs231g2+a.amrtcase a.nrax=24zs24g2=zs24g2+a.amrtcase a.nrax=26zs26g2=zs26g2+a.amrtcase a.nrax=44zs44g2=zs44g2+a.amrtcase a.nrax=81zs81g2=zs81g2+a.amrtotherwisezspom=zspom+a.amrtendcaseelseendifif a.grupa=3zsbg3=zsbg3+a.balraxzspg3=zspg3+a.cenazskg3=zskg3+a.amrtzszg3=zszg3+a.oper1do casecase a.nrax=23zs23g3=zs23g3+a.amrtcase a.nrax=23zs231g3=zs231g3+a.amrtcase a.nrax=24zs24g3=zs24g3+a.amrtcase a.nrax=26zs26g3=zs26g3+a.amrtcase a.nrax=44zs44g3=zs44g3+a.amrtcase a.nrax=81zs81g3=zs81g3+a.amrtotherwisezspom=zspom+a.amrtendcaseelseendifzsbs=zsbs+a.balraxzsps=zsps+a.cenazsks=zsks+a.amrtzszs=zszs+a.oper1do casecase a.nrax=23zs23s=zs23s+a.amrtcase a.nrax=23zs231s=zs231s+a.amrtcase a.nrax=24zs24s=zs24s+a.amrtcase a.nrax=26zs26s=zs26s+a.amrtcase a.nrax=44zs44s=zs44s+a.amrtcase a.nr[email protected] 3,20 say xskip(1)enddoselect bgo topreplace b.sbg1 with zsbg1replace b.spg1 with zspg1replace b.skg1 with zskg1replace b.szg1 with zszg1replace b.s23g1 with zs23g1replace b.s231g1 with zs231g1replace b.s24g1 with zs24g1replace b.s26g1 with zs26g1replace b.s44g1 with zs44g1replace b.s81g1 with zs81g1replace b.sbg2 with zsbg2replace b.spg2 with zspg2replace b.skg2 with zskg2replace b.szg2 with zszg2replace b.s23g2 with zs23g2replace b.s231g2 with zs231g2replace b.s24g2 with zs24g2replace b.s26g2 with zs26g2replace b.s44g2 with zs44g2replace b.s81g2 with zs81g2replace b.sbg3 with zsbg3replace b.spg3 with zspg3replace b.skg3 with zskg3replace b.szg3 with zszg3replace b.s23g3 with zs23g3replace b.s231g3 with zs231g3replace b.s24g3 with zs24g3replace b.s26g3 with zs26g3replace b.s44g3 with zs44g3replace b.s81g3 with zs81g3replace b.sbs with zsbsreplace b.sps with zspsreplace b.sks with zsksreplace b.szs with zszsreplace b.s23s with zs23sreplace b.s231s with zs231sreplace b.s24s with zs24sreplace b.s26s with zs26sreplace b.s44s with zs44sreplace b.s81s with zs81sreport form fsum to printerreturn to masterЛістінг модуля Printzv.prgparameter bARset heading offclose databasesset talk offset date germanclear windowscleardo DTOPclearerase prm21.idxselect ause amortizindex on nazva to prm21.idx compacterase prm22.idxselect buse dovvidindex on nazvav to prm22.idx compactselect cuse prstatselect duse st1go topstor=0DEFINE WINDOW w0?????‰??????????????†??????????????????????define bar 1 of mg01 prompt '1 група'define bar 2 of mg01 prompt '2 група'define bar 3 of mg01 prompt '3 група'on selection popup mg01 do prg01 with bar() in printzv.prgdefine popup zmd01 prompt field nazvav shadowon selection popup zmd01 do prmd01 with recno() in printzv.prgdo casecase bAr=1ACTIVATE WINDOW [email protected] 1,0 say ' Для яко• групи вивести звіт ? 'activate popup mg01case bAr=2DEFINE WINDOW w02 FROM 5,10 TO 15,60 COLOR SCHEME 1 double shadowACTIVATE WINDOW [email protected] 0,0 say 'Визначіть для якого відділу вивести звіт ?'select bactivate popup zmd01case bAr=3do print01case bAr=5do print02case bar=6select aset filter toreplace c.nvid with 0replace c.ngrp with 0replace c.grupa with ' 'replace c.vid with ' 'endcaseselect aset filter toclear windowsdo dtopclose databasesreturnprocedure prg01parameter b1select cdo casecase b1=1replace ngrp with 1replace grupa with 'Звіт по першій групі'case b1=2replace ngrp with 2replace grupa with 'Звіт по другій групі'case b1=3replace ngrp with 3replace grupa with 'Звіт по третій групі'otherwisereplace ngrp with 0replace grupa with 'Звіт по всіх групах'endcasedeactivate popup mg01RETURNprocedure prmd01parameter nvselect bgo topgoto(nv)x1kv=kodvx2nv=nazvavselect creplace nvid with x1kvreplace vid with x2nvdeactivate popup zmd01returnprocedure print02parameter bbbclear windowsdo dtopselect aset filter toselect bgo topdo while !eof()replace c.nvid with b.kodvreplace c.vid with b.nazvavselect ago topset filter to grp=b.kodvstore 0 to x1,x2,x3,x4do while !eof()x1=x1+balraxx2=x2+cenax3=x3+oper1x4=x4+amrtdefine window i001 from 8,10 to 20,71 double shadow color scheme 4ACTIVATE WINDOW [email protected] 0,20 say 'ІНДИКАТОР ПРОЦЕСУ'@ 1,2 SAY 'Виводиться звіт для відділу '[email protected] 2,2 say 'По балансовій вартості - '@ 3,2 say 'По початковій вартості - '@ 4,2 say 'Знос - '@ 5,2 say 'По залишковій вартості - '@ 2,30 say [email protected] 3,30 say [email protected] 4,30 say [email protected] 5,30 say x4skip(1)enddoselect creplace c.sr1 with x1replace c.sr2 with x2replace c.sr3 with x3replace c.sr4 with x4select ado p00pselect dstor=stor+1replace d.st with storselect bskip(1)enddodo pidsreturnprocedure print01parameter bset filter toif c.ngrp!=0select aset filter to a.grupa=c.ngrpelseendifif c.nvid!=0select aset filter to a.grp=c.nvidelseendifdefine window i001 from 8,10 to 20,71 double shadow color scheme 4ACTIVATE WINDOW [email protected] 0,20 say 'ІНДИКАТОР ПРОЦЕСУ'@ 1,2 SAY 'Виводиться звіт для відділу '[email protected] 2,2 say 'По балансовій вартості - '@ 3,2 say 'По початковій вартості - '@ 4,2 say 'Знос - '@ 5,2 say 'По залишковій вартості - 'select ago topstore 0 to x1,x2,x3,x4do while !eof()[email protected] 2,30 say [email protected] 3,30 say [email protected] 4,30 say [email protected] 5,30 say x4skip(1)enddoclear windowsdo dtopselect creplace c.sr1 with x1replace c.sr2 with x2replace c.sr3 with x3replace c.sr4 with x4select ado p00preturnprocedure p00pparameter bclear windowsdo dtopps=.t.do while psif printstatus()ps=.f.elsedefine window prer from 10,10 to 15,55 double shadow color scheme 7activate window [email protected] 0,2 say 'ПРИНТЕР НЕ ГОТОВИЙ !'@ 1,1 say 'Приведіть принтер до стану ON LINE !'@ 3,3 PROMPT ' ПОВТОРИТИ '@ 3,18 PROMPT ' ВІДМІНА 'MENU TO XIF X=2clear windowsdo dtopRETURNELSEENDIFendifenddoreport form f1 to printerreturnЛістінг модуля Rezerv.prguse zahdo casecase zax=.t.define window r1 from 10,10 to 17,69 double shadow color sCheme 5activate window [email protected] 0,0 say ' РЕЗЕРВУВАННЯ ДАНИХ'@ 0,0 say ' Попередній сеанс роботи закінчено коректно !'@ 1,0 say ' Для створення резервно• копі• натіснить <ЗАРЕЗЕРВУВАТИ> ‘

@ 2,0 say ‘ В випадку відмови натисніть <ВІДМІНА>‘

@ 4,10 prompt ‘ ЗАРЕЗЕРВУВАТИ ‘ shadow

@ 4,32 prompt ‘ ВІДМІНА ‘ shadow

menu to r

if r=1

erase c:\amortiz\rezerv\amortiz.dbf

copy file c:\amortiz\amortiz.dbf to c:\amortiz\rezerv\amortiz.dbf

clear window r1

return

else

clear window w1

replace zax with .f.

close database

return

endif

return

case zax=.f.

define window er from 10,5 to 16,73 double shadow color scheme 7

activate window er

@ 0,0 say ‘ НЕВДАЛЕ ЗАКІНЧЕННЯ СЕАНСУ РОБОТИ !’ @
1,0 say ‘ Попередній сеанс роботи програми закінчився некоректно
!’

@ 3,15 prompt ‘ Відновити базу ‘ message ‘Дані внесені під час
останнього сеансу будуть втрачені’

@ 3,35 prompt ‘ Не відновлювати ‘ message ‘В випадку якщо база
пошкоджена, програма не працюватиме’

menu to r

do case

case r=1

ERASE c:\amortiz\amortiz.dbf

copy file c:\amortiz\rezerv\amortiz.dbf to c:\amortiz\amortiz.dbf

clear window ER

replace zax with .f.

close database

return

case r=2

clear window ER

replace zax with .f.

close database

return

endcase

endcase

replace zax with .f.

close database

return

Лістінг модуля Vixod.prg

CLOSE DATABASES

define popup vp01 from 1,50 shadow

define bar 1 of vp01 prompt ‘Вийти з програми’

define bar 2 of vp01 prompt ‘\-‘

define bar 3 of vp01 prompt ‘Командний режим’

define bar 4 of vp01 prompt ‘Назад в програму’

on selection popup vp01 do p01 with bar() in vixod.prg

activate popup vp01

procedure p01

parameter bar

do case

case bar=1

DEFINE WINDOW EXITW FROM 10,30 TO 13,50 DOUBLE SHADOW COLOR SCHEME 7

ACTIVATE WINDOW EXITW

@ 0,0 SAY ‘Вийти з програми ?’

@ 1,3 prompt ‘ ТАК ‘ SHADOW

@ 1,9 prompt ‘ НІ ‘ SHADOW

MENU TO X

do case

case X=1

USE ZAH

replace zax with .t.

close database

quit

case X=2

clear windows

do dtop

return

otherwise

return

endcase

deactivate popup vp01

case bar=3

clear windows

deactivate popup vp01

case bar=4

DEFINE WINDOW DTOP FROM 0,0 TO 24,79 COLOR SCHEME 1

ACTIVATE WINDOW DTOP

deactivate popup vp01

otherwise

return

endcase

return

RETURN

PAGE

PAGE 37

PAGE 1

Нашли опечатку? Выделите и нажмите CTRL+Enter

Похожие документы
Обсуждение

Оставить комментарий

avatar
  Подписаться  
Уведомление о
Заказать реферат!
UkrReferat.com. Всі права захищені. 2000-2019