Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

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

РефератДопомога в написанніДізнатися вартістьмоєї роботи

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

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

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

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

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

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

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

7.09.15.01 «Комп'ютерні та інтелектуальні системи та мережі».

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

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

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

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

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

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

______________________________________.

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

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

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

______________________________________.

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

____________________________ Лазор О. Б.

______________________________________.

Форма №У-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.

Анотація.

Даний дипломний проект містить 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.

Затверджено.

Ф.ФФ.57 071−01 93 01−1-ЛУ.

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

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

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

Ф.ФФ.57 071−01 93 01−1-ЛУ.

Листів 2.

Ф.ФФ.57 071−01 93 01−1-ЛУ.

Позначення.

Найменування.

Примітка.

Ф.ФФ.57 071−01 81 01−1.

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

Ф.ФФ.57 071−01 13 01−1.

програми.

Ф.ФФ.57 071−01 12 01−1.

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

Затверджено.

Ф.ФФ.57 071−01 93 01−1-ЛУ.

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

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

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

Ф.ФФ.57 071−01 93 01−1-ЛУ.

Аркушів 28.

Ф.ФФ.57 071−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.

Вступ.

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

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

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

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

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

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

по об'єкту та якості - стислість та чіткість формулювань, вчасність отримання,.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Програмний комплекс реалізовано в СУБД FoxPro 2.6 © 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 625 21.04.00 13:28 DTOP.FXP.

DTOP PRG 496 21.04.00 13:28 DTOP.PRG.

DTOP BAK 484 21.04.00 11:53 DTOP.BAK.

IDVID01 IDX 1 536 21.04.00 9:49 IDVID01.IDX.

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.

M111 PRG 3 947 21.04.00 11:58 M111.PRG.

M111 FXP 3 939 21.04.00 13:49 M111.FXP.

M112 FXP 3 361 21.04.00 12:59 M112.FXP.

M112 PRG 3 096 21.04.00 12:00 M112.PRG.

M1_12DV IDX 2 048 21.04.00 15:55 M1_12DV.IDX.

M114 FXP 963 20.04.00 14:00 M114.FXP.

M114 PRG 797 21.04.00 12:00 M114.PRG.

M115 FXP 1 224 20.04.00 15:37 M115.FXP.

M115 PRG 952 21.04.00 12:01 M115.PRG.

M116 PRG 1 633 21.04.00 12:02 M116.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.

M21 PRG 1 369 21.04.00 12:03 M21.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.

M111 PRG 3 947 21.04.00 11:58 M111.PRG.

M112 PRG 3 096 21.04.00 12:00 M112.PRG.

M114 PRG 797 21.04.00 12:00 M114.PRG.

M115 PRG 952 21.04.00 12:01 M115.PRG.

M116 PRG 1 633 21.04.00 12:02 M116.PRG.

M12PROC PRG 4 018 21.04.00 11:54 M12PROC.PRG.

M21 PRG 1 369 21.04.00 12:03 M21.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. Адаптація до мережевого використання.

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

Затверджено.

Ф.ФФ.57 071−01 93 01−1-ЛУ.

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

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

програми.

Ф.ФФ.57 106−01 13 01−1.

Аркушів 29.

Анотація.

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

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

Початковий модуль 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.

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

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

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

Малюнок 5.

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

Малюнок 6.

При виборі пункту «ПЕРЕЙМЕНУВАТИ ВІДДІЛ» активізується меню з списком відділів в якому можна вибрати потрібний. Після вибору відділу активізується вікно з запрошенням ввести нову назву відділу, причому код відділу, що перейменовується, залишається незмінним (малюнок 7):

Малюнок 7.

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

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

Малюнок 8.

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

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

procedure proc1 — процедура створення нового відділу,.

procedure perv — перейменування відділу,.

procedure delv — процедура видалення відділу,.

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

Ввід даних.

При виборі другого пункту підменю «ВНЕСЕННЯ ОЗ В ВІДДІЛ» першого пункту головного меню викликається модуль M112.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 — визначення групи засобів.

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

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

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

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

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

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

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

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

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

Малюнок 13.

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

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

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

Малюнок 14.

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

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

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

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

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

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

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

Малюнок 15.

Малюнок 16.

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

організації вхідних та вихідних даних.

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

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

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

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

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

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

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

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

При постановці завдання було визначено, що даний програмний комплекс буде використовуватись на IBM PC/AT 80 486 з принтером 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=11 210 (інстр/міс).

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

Т=Т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,90.32=3.07 (міс).

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

Т2=1900/11 520 =0,16 (міс).

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

Т4=1600/10 857=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=177 732,6(грн).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Висновки:

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

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

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

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

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

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

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

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

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

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

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

Галицькі контракти. Дебет-Кредит лютий 2000р. internet.

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

Затверджено.

Ф.ФФ.57 071−01 93 01−1-ЛУ.

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

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

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

Ф.ФФ.57 106−01 13 01−1.

Аркушів 43.

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 M111 WITH BAR ().

ON SELECTION BAR 2 OF MENU1 DO M112 WITH BAR ().

ON SELECTION BAR 4 OF MENU1 ACTIVATE POPUP MENU12.

ON SELECTION BAR 6 OF MENU1 DO M114 WITH BAR ().

ON SELECTION BAR 7 OF MENU1 DO M115 WITH BAR ().

ON SELECTION BAR 9 OF MENU1 DO M116 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 «© 2000 ___ Зареєстровано: ВАТ «Коломийський сирзавод» «.

return.

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

parameter b.

clear windows.

close databases.

set talk off.

set date german.

set century on.

do dtop.

select B.

erase M1111.idx.

use dovvid.

index on nazvav to M1111.idx compact.

define popup v01 prompt field nazvav from 5,5 shadow.

on selection popup v01 do perv in M111 with recno ().

define popup v02 prompt field nazvav from 5,5 shadow.

on selection popup v02 do delv in M111 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 M111 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®.

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®.

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.

do dtop.

return.

endcase.

case y=2.

clear windows.

do dtop.

return.

endcase.

clear windows.

do dtop.

return.

Лістінг модуля M112.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 ().

select b.

@ 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.

Лістінг модуля M114.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 10 101.

replace amrt with 10 101.

endcase.

skip (1).

@ 1,0 SAY «для-» +nazva.

@ 2,0 say str (cena).

@ 3,0 say str (amrt).

enddo.

clear windows.

do dtop.

return.

Лістінг модуля M115.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.

Лістінг модуля M116.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<=3.

kvrt=1.

CASE MS<=4.AND.MS<=6.

kvrt=2.

CASE MS<=7.AND.MS<=9.

kvrt=3.

CASE MS<=10.AND.MS<=12.

kvrt=4.

endcase.

define window nk from 5,10 to 14,67 double shadow color scheme 7 title «Перехід на новий квартал» .

activate window nk.

@ 0,10 say «СЬОГОДНІ «+dmy (dt).

@ 1,10 say «ПОТОЧНИЙ КВАРТАЛ «+STR (kvrt).

select b.

if kvt=kvrt.

@ 2,1 say «УВАГА перехід на новий квартал проводиться завчасно !» .

else.

endif.

@ 4,6 prompt «ПРОВЕСТИ ПЕРЕРАХУНОК ДЛЯ НОВОГО КВАРТАЛУ «.

@ 6,13 prompt «ПРОДОВЖИТИ БЕЗ ПЕРЕРАХУНКУ «.

menu to r.

do case.

case r=1.

do case.

case kvrt=1.

copy file c: amortizamortiz. dbf to c: amortizkvartal1oz1.dbf.

case kvrt=2.

copy file c: amortizamortiz. dbf to c: amortizkvartal2oz2. dbf case kvrt=3.

copy file c: amortizamortiz. dbf to c: amortizkvartal3oz3.dbf.

case kvrt=4.

copy file c: amortizamortiz. dbf to c: amortizkvartal4oz4.dbf.

endcase.

select a.

go top.

do while! eof ().

replace cena with amrt.

skip (1).

enddo.

do M11.prg &&виклик перерах.

clear window nk.

select b.

replace kvt with kvrt.

close databases.

return.

case r=2.

clear windows.

do dtop.

return.

endcase.

clear windows.

do dtop.

return.

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

parameter bar.

set date german.

set century on.

set talk off.

close databases.

clear windows.

do dtop.

erase prm12.idx.

select a.

use amortiz.

index on nazva to prm12. idx compact.

ERASE m12m1ind.idx.

select b.

use dovvid.

index ON NAZVAV TO m12m1ind. idx COMPACT.

select c.

use filter.

select a.

if c. frax≠0.

set filter to a. nrax=c.frax.

else.

endif.

set filter to between (a.data, c. fdata1,c.fdata2).

if c. fgrp≠0.

set filter to grupa=c.fgrp.

else.

endif.

if alltrim (c.fnazva)≠"Назва" .

set filter to nazva=c.fnazva.

else.

endif.

if c. fbalv1≠0.and.c.fbalv2≠0.

set filter to between (balrax, c. fbalv1,c.fbalv2).

else.

endif.

if c. fzal1≠0.and.c.fzal2≠0.

set filter to between (Amrt, c. fzal1,c.fzal2).

else.

endif.

define popup m12m01 prompt field b. nazvav from 1,50 shadow.

on selection popup m12m01 do m01b1pr with recno () in m122.prg.

DEFINE WINDOW m12w1 FROM 2,0 TO 22,79 double shadow COLOR SCHEME 1.

ACTIVATE WINDOW m12w1.

@ 0,10 say «*** КОРЕКЦІЯ ТА СПИСАННЯ ОЗ ***» .

@ 2,2 say «ESC-вийти, F4-підсумок F8-зписати» .

ON KEY LABEL F4 DO SUMPR in m122.prg.

on KEY LABEL F8 delete.

do case.

case bar=2.

@ 1,2 SAY «Визначіть відділ якій треба переглянути» .

select b.

activate popup m12m01.

case bar=1.

do browser in m122.prg.

otherwise.

return.

endcase.

procedure m01b1pr.

parameter recn.

select b.

go top.

goto (recn).

DVKEY1=RECN.

dvkey=kodv.

select a.

set filter to grp=dvkey.

do browser.

clear windows.

do dtop.

deactivate popup m12m01.

CLOSE DATABASES.

RETURN.

procedure browser.

parameter ddd.

define window w0201 from 6,1 to 21,78 DOUBLE.

activate window w0201.

browse title «Oсновні засоби відділу — «+b.nazvav fields invnom: h="інв.N» ,.

grupa :h="група", nrax: h="рахунок", Nazva: h="Назва ОЗ", balrax: h="балансова вартість" ,.

cena :h="варт.на початок кврт" ,.

oper1 :h="Знос за кв.", amrt: h="замортизована варт" .

return.

procedure sumpr.

parameter k.

select a.

go top.

select d.

use sumator.

replace d. sbalv with 0.

replace d. scena with 0.

replace d. soper with 0.

replace d. samrt with 0.

do while! eof ().

select a.

replace d. sbalv with d. sbalv+a.balrax.

replace d. scena with d. scena+a.cena.

replace d. soper with d. soper+a.oper1.

replace d. samrt with d. samrt+a.amrt.

skip (1).

enddo.

define window w044 from 17,1 to 24,77 double shadow color scheme 1 title «ПІДСУМКИ» .

activate window w044.

@ 0,1 say «Cумарна балансова вартість ОЗ відділу=».

@ 0,40 say d.sbalv.

@ 1,1 say «На початок кв.=».

@ 1,17 say d.scena.

@ 2,1 say «Знос за квартал=».

@ 2,17 say d.soper.

@ 3,1 say «Вартість на кінець кварталу=».

@ 3,35 say d.samrt.

@ 4,35 prompt «ДАЛІ «.

MENU TO R.

IF R=1.

DEACTIVATE WINDOW W044.

select a.

RETURN.

ELSE.

ENDIF.

DEACTIVATE WINDOW W044.

RETURN.

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

parameter bar.

set date german.

set century on.

set talk off.

close databases.

clear windows.

do dtop.

select a.

use filter.

define window w1201 from 6,10 to 10,70 double shadow color scheme 1.

define popup r1 from 0,40.

define 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.prg.

define popup r2 from 0,40.

define 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.prg.

DO CASE.

CASE BAR=1.

do m122 with bar ().

CASE BAR=2.

do m122 with bar ().

CASE BAR=4.

activate window w1201.

@ 0,1 say «Виберіть рахунок «.

@ 1,1 say «який треба переглянути» .

activate popup r1.

clear windows.

do dtop.

return.

CASE BAR=5.

define window w1202 from 6,10 to 12,70 double shadow color scheme 1.

activate window w1202.

@ 0,1 say «Визначіть діапазон дати придбання для засобів, «.

@ 1,1 say «які треба переглянути» .

d1=a.fdata1.

d2=a.fdata2.

@ 3,0 say «Введіть початкову дату «get d1.

@ 4,0 say «Введіть кінцеву дату «get d2.

read.

replace fdata1 with d1.

replace fdata2 with d2.

clear windows.

do dtop.

return.

CASE BAR=6.

define window w1203 from 6,10 to 10,70 double shadow color scheme 1.

activate window w1203.

@ 0,1 say «Виберіть групу «.

@ 1,1 say «яку треба переглянути» .

activate popup r2.

clear windows.

do dtop.

return.

case bar=7.

define window w1203 from 6,10 to 10,70 double shadow color scheme 1.

activate window w1203.

@ 0,1 say «Введіть назву засобу, або перші кілька букв «.

@ 1,1 get a.fnazva.

read.

CASE BAR=8.

define window w1202 from 6,10 to 12,70 double shadow color scheme 1.

activate window w1202.

@ 0,1 say «Визначіть діапазон балансово• вартості для засобів, «.

@ 1,1 say «які треба переглянути» .

@ 3,0 say «Введіть нижню межу вартості «get fbalv1.

@ 4,0 say «Введіть верхню межу вартості «get fbalv2.

read.

CASE BAR=9.

define window w1206 from 6,10 to 12,70 double shadow color scheme 1.

activate window w1206.

@ 0,1 say «Визначіть діапазон балансово• вартості для засобів, «.

@ 1,1 say «які треба переглянути» .

@ 3,0 say «Введіть нижню межу залишку «get fzal1.

@ 4,0 say «Введіть верхню межу залишку «get fzal2.

read.

case bar=11.

replace frax with 0.

replace fdata1 with {01/01/1900}.

replace fdata2 with {01/01/2200}.

replace fgrp with 0.

replace fnazva with «Назва» .

replace fbalv1 with 0.

replace fbalv2 with 0.

replace fzal1 with 0.

replace fzal2 with 0.

use amortiz.

set filter to.

close databases.

OTHERWISE.

CLEAR WINDOWS.

DO DTOP.

close databases.

RETURN.

ENDCASE.

CLEAR WINDOWS.

DO DTOP.

close databases.

RETURN.

procedure pr01.

parameter bar.

do case.

case bar=1.

replace a. frax with 23.

case bar=2.

replace a. frax with 231.

case bar=3.

replace a. frax with 24.

case bar=4.

replace a. frax with 26.

case bar=5.

replace a. frax with 44.

case bar=6.

replace a. frax with 81.

otherwise.

deactivate popup r1.

return.

endcase.

deactivate popup r1.

return.

procedure pr02.

parameter bar.

do case.

case bar=1.

replace a. fgrp with 1.

case bar=2.

replace a. fgrp with 2.

case bar=3.

replace a. fgrp with 3.

otherwise.

replace a. fgrp with 0.

deactivate popup r2.

endcase.

deactivate popup r2.

return.

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

parameter bar.

close databases.

set talk off.

set date german.

clear windows.

clear.

do dtop.

select a.

use amortiz.

select b.

use dovvid.

define popup mg01 from 0,33.

define 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 m21.prg.

define popup zmd01 prompt field nazvav shadow.

on selection popup zmd01 do prmd01 with recno () in M21.prg.

do case.

case bar=1.

DEFINE WINDOW w01 FROM 0,0 TO 24,79 COLOR SCHEME 1.

ACTIVATE WINDOW w01.

@ 1,0 say «Для яко• групи вивести звіт? «.

activate popup mg01.

NG=GGG ().

case bar=2.

select b.

activate popup zmd01.

NV=kv ().

case bar=3.

do prprint.

case bar=5.

set filter to.

otherwise.

do dtop.

return.

endcase.

procedure prg01.

parameter b1, GGG.

do case.

case b1=1.

GGG=1.

case b1=2.

GGG=2.

case b1=3.

GGG=3.

otherwise.

deactivate popup mg01.

clear windows.

do dtop.

return.

endcase.

return.

procedure prmd01.

parameter nv, KV.

goto (nv).

KV=kodv.

return.

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

close databases.

clear windows.

clear.

do dtop.

set talk off.

set date german.

set century on.

yr=year (date ()).

ms=month (date ()).

dt=date ().

DO CASE.

CASE MS>=1.AND.MS<=3.

kvrt=1.

CASE MS>=4.AND.MS<=6.

kvrt=2.

CASE MS>=7.AND.MS<=9.

kvrt=3.

CASE MS>=10.AND.MS<=12.

kvrt=4.

endcase.

use zah.

skv=kvt.

staw=p1.

staw1=p2.

close databases.

if skv≠kvrt.

define window nk from 3,3 to 13,65 double shadow color scheme 7 title «Перехід на новий квартал» .

activate window nk.

@ 0,20 say «СЬОГОДНІ «+dmy (dt).

@ 1,20 say «ПОТОЧНИЙ КВАРТАЛ «+STR (kvrt).

@ 3,10 prompt «ПРОВЕСТИ ПЕРЕРАХУНОК ДЛЯ НОВОГО КВАРТАЛУ «.

@ 5,17 prompt «ПРОДОВЖИТИ БЕЗ ПЕРЕРАХУНКУ «.

menu to r.

do case.

case r=1.

do case.

case kvrt=1.

copy file c: amortizamortiz. dbf to c: amortizkvartal1oz1.dbf.

case kvrt=2.

copy file c: amortizamortiz. dbf to c: amortizkvartal2oz2.dbf.

case kvrt=3.

copy file c: amortizamortiz. dbf to c: amortizkvartal3oz3.dbf.

case kvrt=4.

copy file c: amortizamortiz. dbf to c: amortizkvartal4oz4.dbf.

endcase.

use amortiz.

go top.

do while! eof ().

replace cena with amrt.

replace oper1 with round (cena*staw*staw1/100,2).

replace amrt with cena-oper1.

skip (1).

enddo.

deactivate window nk.

use zah.

replace kvt with kvrt.

close database.

return.

case r=2.

deactivate window nk.

return.

endcase.

else.

do dtop.

return.

endif.

do dtop.

return.

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

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 10 101.

replace amrt with 10 101.

endcase.

skip (1).

enddo.

return.

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

clear windows.

close databases.

set talk off.

do dtop.

select a.

use amortiz.

select b.

use pids.

replace sbg1 with 0.

replace spg1 with 0.

replace skg1 with 0.

replace szg1 with 0.

replace s23g1 with 0.

replace s231g1 with 0.

replace s24g1 with 0.

replace s26g1 with 0.

replace s44g1 with 0.

replace s81g1 with 0.

replace sbg2 with 0.

replace spg2 with 0.

replace skg2 with 0.

replace szg2 with 0.

replace s23g2 with 0.

replace s231g2 with 0.

replace s24g2 with 0.

replace s26g2 with 0.

replace s44g2 with 0.

replace s81g2 with 0.

replace sbg3 with 0.

replace spg3 with 0.

replace skg3 with 0.

replace szg3 with 0.

replace s23g3 with 0.

replace s231g3 with 0.

replace s24g3 with 0.

replace s26g3 with 0.

replace s44g3 with 0.

replace s81g3 with 0.

replace sbs with 0.

replace sps with 0.

replace sks with 0.

replace szs with 0.

replace s23s with 0.

replace s231s with 0.

replace s24s with 0.

replace s26s with 0.

replace s44s with 0.

replace s81s with 0.

store 0 to zspom, zspomz, zsbg1, zspg1,zskg1,zszg1,zs23g1,zs231g1, zs24g1, zs26g1, zs44g1, zs81g1,zsbg2,zspg2,zskg2,zszg2,zs23g2,zs231g2,zs24g2,zs26g2,zs44g2,zs81g2,zsbg3,zspg3,zskg3,zszg3,zs23g3,zs231g3,zs24g3,zs26g3,zs44g3,zs81g3,zsbs, zsps, zsks, zszs, zs23s, zs231s, zs24s, zs26s, zs44s, zs81s.

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

activate window d01.

@ 0,4 say «Проводиться підбиття підсумків. Почекайте !» .

select a.

x=reccount ().

@ 2,1 say «Всього записів «.

@ 2,18 say x.

@ 3,1 say «Залишилось записів «.

do while! eof ().

if a. grupa=1.

zsbg1=zsbg1+a.balrax.

zspg1=zspg1+a.cena.

zskg1=zskg1+a.amrt.

zszg1=zszg1+a.oper1.

do case.

case a. nrax=23.

zs23g1=zs23g1+a.amrt.

case a. nrax=23.

zs231g1=zs231g1+a.amrt.

case a. nrax=24.

zs24g1=zs24g1+a.amrt.

case a. nrax=26.

zs26g1=zs26g1+a.amrt.

case a. nrax=44.

zs44g1=zs44g1+a.amrt.

case a. nrax=81.

zs81g1=zs81g1+a.amrt.

otherwise.

zspom=zspom+a.amrt.

endcase.

else.

endif.

if a. grupa=2.

zsbg2=zsbg2+a.balrax.

zspg2=zspg2+a.cena.

zskg2=zskg2+a.amrt.

zszg2=zszg2+a.oper1.

do case.

case a. nrax=23.

zs23g2=zs23g2+a.amrt.

case a. nrax=231.

zs231g2=zs231g2+a.amrt.

case a. nrax=24.

zs24g2=zs24g2+a.amrt.

case a. nrax=26.

zs26g2=zs26g2+a.amrt.

case a. nrax=44.

zs44g2=zs44g2+a.amrt.

case a. nrax=81.

zs81g2=zs81g2+a.amrt.

otherwise.

zspom=zspom+a.amrt.

endcase.

else.

endif.

if a. grupa=3.

zsbg3=zsbg3+a.balrax.

zspg3=zspg3+a.cena.

zskg3=zskg3+a.amrt.

zszg3=zszg3+a.oper1.

do case.

case a. nrax=23.

zs23g3=zs23g3+a.amrt.

case a. nrax=23.

zs231g3=zs231g3+a.amrt.

case a. nrax=24.

zs24g3=zs24g3+a.amrt.

case a. nrax=26.

zs26g3=zs26g3+a.amrt.

case a. nrax=44.

zs44g3=zs44g3+a.amrt.

case a. nrax=81.

zs81g3=zs81g3+a.amrt.

otherwise.

zspom=zspom+a.amrt.

endcase.

else.

endif.

zsbs=zsbs+a.balrax.

zsps=zsps+a.cena.

zsks=zsks+a.amrt.

zszs=zszs+a.oper1.

do case.

case a. nrax=23.

zs23s=zs23s+a.amrt.

case a. nrax=23.

zs231s=zs231s+a.amrt.

case a. nrax=24.

zs24s=zs24s+a.amrt.

case a. nrax=26.

zs26s=zs26s+a.amrt.

case a. nrax=44.

zs44s=zs44s+a.amrt.

case a. nrax=81.

zs81s=zs81s+a.amrt.

otherwise.

zspomz=zspom+a.amrt.

endcase.

x=x-1.

@ 3,20 say x.

skip (1).

enddo.

select b.

go top.

replace b. sbg1 with zsbg1.

replace b. spg1 with zspg1.

replace b. skg1 with zskg1.

replace b. szg1 with zszg1.

replace b. s23g1 with zs23g1.

replace b. s231g1 with zs231g1.

replace b. s24g1 with zs24g1.

replace b. s26g1 with zs26g1.

replace b. s44g1 with zs44g1.

replace b. s81g1 with zs81g1.

replace b. sbg2 with zsbg2.

replace b. spg2 with zspg2.

replace b. skg2 with zskg2.

replace b. szg2 with zszg2.

replace b. s23g2 with zs23g2.

replace b. s231g2 with zs231g2.

replace b. s24g2 with zs24g2.

replace b. s26g2 with zs26g2.

replace b. s44g2 with zs44g2.

replace b. s81g2 with zs81g2.

replace b. sbg3 with zsbg3.

replace b. spg3 with zspg3.

replace b. skg3 with zskg3.

replace b. szg3 with zszg3.

replace b. s23g3 with zs23g3.

replace b. s231g3 with zs231g3.

replace b. s24g3 with zs24g3.

replace b. s26g3 with zs26g3.

replace b. s44g3 with zs44g3.

replace b. s81g3 with zs81g3.

replace b. sbs with zsbs.

replace b. sps with zsps.

replace b. sks with zsks.

replace b. szs with zszs.

replace b. s23s with zs23s.

replace b. s231s with zs231s.

replace b. s24s with zs24s.

replace b. s26s with zs26s.

replace b. s44s with zs44s.

replace b. s81s with zs81s.

report form fsum to printer.

return to master.

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

parameter bAR.

set heading off.

close databases.

set talk off.

set date german.

clear windows.

clear.

do DTOP.

clear.

erase prm21.idx.

select a.

use amortiz.

index on nazva to prm21. idx compact.

erase prm22.idx.

select b.

use dovvid.

index on nazvav to prm22. idx compact.

select c.

use prstat.

select d.

use st1.

go top.

stor=0.

DEFINE WINDOW w01 FROM 5,10 TO 10,60 double shadow COLOR SCHEME 1.

define popup mg01 from 0,30.

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.prg.

define popup zmd01 prompt field nazvav shadow.

on selection popup zmd01 do prmd01 with recno () in printzv.prg.

do case.

case bAr=1.

ACTIVATE WINDOW w01.

@ 1,0 say «Для яко• групи вивести звіт? «.

activate popup mg01.

case bAr=2.

DEFINE WINDOW w02 FROM 5,10 TO 15,60 COLOR SCHEME 1 double shadow.

ACTIVATE WINDOW w02.

@ 0,0 say «Визначіть для якого відділу вивести звіт ?» .

select b.

activate popup zmd01.

case bAr=3.

do print01.

case bAr=5.

do print02.

case bar=6.

select a.

set filter to.

replace c. nvid with 0.

replace c. ngrp with 0.

replace c. grupa with ««.

replace c. vid with ««.

endcase.

select a.

set filter to.

clear windows.

do dtop.

close databases.

return.

procedure prg01.

parameter b1.

select c.

do case.

case b1=1.

replace ngrp with 1.

replace grupa with «Звіт по першій групі» .

case b1=2.

replace ngrp with 2.

replace grupa with «Звіт по другій групі» .

case b1=3.

replace ngrp with 3.

replace grupa with «Звіт по третій групі» .

otherwise.

replace ngrp with 0.

replace grupa with «Звіт по всіх групах» .

endcase.

deactivate popup mg01.

RETURN.

procedure prmd01.

parameter nv.

select b.

go top.

goto (nv).

x1kv=kodv.

x2nv=nazvav.

select c.

replace nvid with x1kv.

replace vid with x2nv.

deactivate popup zmd01.

return.

procedure print02.

parameter bbb.

clear windows.

do dtop.

select a.

set filter to.

select b.

go top.

do while! eof ().

replace c. nvid with b.kodv.

replace c. vid with b.nazvav.

select a.

go top.

set filter to grp=b.kodv.

store 0 to x1, x2,x3,x4.

do while! eof ().

x1=x1+balrax.

x2=x2+cena.

x3=x3+oper1.

x4=x4+amrt.

define window i001 from 8,10 to 20,71 double shadow color scheme 4.

ACTIVATE WINDOW I001.

@ 0,20 say «ІНДИКАТОР ПРОЦЕСУ» .

@ 1,2 SAY «Виводиться звіт для відділу «+b.nazvav.

@ 2,2 say «По балансовій вартості - «.

@ 3,2 say «По початковій вартості - «.

@ 4,2 say «Знос — «.

@ 5,2 say «По залишковій вартості - «.

@ 2,30 say x1.

@ 3,30 say x2.

@ 4,30 say x3.

@ 5,30 say x4.

skip (1).

enddo.

select c.

replace c. sr1 with x1.

replace c. sr2 with x2.

replace c. sr3 with x3.

replace c. sr4 with x4.

select a.

do p00p.

select d.

stor=stor+1.

replace d. st with stor.

select b.

skip (1).

enddo.

do pids.

return.

procedure print01.

parameter b.

set filter to.

if c. ngrp≠0.

select a.

set filter to a. grupa=c.ngrp.

else.

endif.

if c. nvid≠0.

select a.

set filter to a. grp=c.nvid.

else.

endif.

define window i001 from 8,10 to 20,71 double shadow color scheme 4.

ACTIVATE WINDOW I001.

@ 0,20 say «ІНДИКАТОР ПРОЦЕСУ» .

@ 1,2 SAY «Виводиться звіт для відділу «+b.nazvav.

@ 2,2 say «По балансовій вартості - «.

@ 3,2 say «По початковій вартості - «.

@ 4,2 say «Знос — «.

@ 5,2 say «По залишковій вартості - «.

select a.

go top.

store 0 to x1, x2,x3,x4.

do while! eof ().

x1=x1+balrax.

x2=x2+cena.

x3=x3+oper1.

x4=x4+amrt.

@ 2,30 say x1.

@ 3,30 say x2.

@ 4,30 say x3.

@ 5,30 say x4.

skip (1).

enddo.

clear windows.

do dtop.

select c.

replace c. sr1 with x1.

replace c. sr2 with x2.

replace c. sr3 with x3.

replace c. sr4 with x4.

select a.

do p00p.

return.

procedure p00p.

parameter b.

clear windows.

do dtop.

ps=.t.

do while ps.

if printstatus ().

ps=.f.

else.

define window prer from 10,10 to 15,55 double shadow color scheme 7.

activate window prer.

@ 0,2 say «ПРИНТЕР НЕ ГОТОВИЙ !» .

@ 1,1 say «Приведіть принтер до стану ON LINE !» .

@ 3,3 PROMPT «ПОВТОРИТИ «.

@ 3,18 PROMPT «ВІДМІНА «.

MENU TO X.

IF X=2.

clear windows.

do dtop.

RETURN.

ELSE.

ENDIF.

endif.

enddo.

report form f1 to printer.

return.

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

use zah.

do case.

case zax=.t.

define window r1 from 10,10 to 17,69 double shadow color sCheme 5.

activate window r1.

r=0.

@ 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 ezervamortiz.dbf.

copy file c: amortizamortiz. dbf to c: amortiz ezervamortiz.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: amortizamortiz.dbf.

copy file c: amortiz ezervamortiz. dbf to c: amortizamortiz.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.

Показати весь текст
Заповнити форму поточною роботою