Информационная система (ІНФОРМАЦІЙНА СИСТЕМА ОБЛІКУ І АНАЛІЗУ РОЗРАХУНКІВ З ПОСТАЧАЛЬНИКАМИ І ПІДРЯДНИКАМИ)
Міністерство освіти і науки України
Тернопільська академія народного господарства
Інститут комп’ютерних інформаційних технологій
Кафедра моделювання та оптимізації економічних систем і процесів
ІНФОРМАЦІЙНА СИСТЕМА ОБЛІКУ І АНАЛІЗУ РОЗРАХУНКІВ З ПОСТАЧАЛЬНИКАМИ І ПІДРЯДНИКАМИ
(на прикладі ПП «Біомед»)
Дипломний проект
Спеціальність 7.050207 "Інформаційні системи в менеджменті"
студент групи ІСМ-51 ________ Г. Конєв
Керівник к.т.н.,
доцент ________ І. Білоусов
Зав. кафедри МОЕСП
К.е.н., доцент ________ Г. Гладій
2000
АНОТАЦІЯ
дипломного проекту Конєва Григорія Борисовича
"Інформаційна система обліку і аналізу розрахунків з постачальниками і підрядниками"
(на прикладі ПП “Біомед”)
ТАНГ, IКIТ, кафедра ІІТ, група IСМ- 51, 2000 рік.
Обсяг дипломного проекту 104 сторiнки.
В даному дипломному проекті проведено дослідження процесу обліку і аналізу розрахунків з постачальниками і підрядниками. Наведено модель системи та її детальний опис, розроблено та використано математичне та інформаційне забезпечення. Здійснено програмну реалізацію спроектованої системи.
Результати даного дипломного проекту можуть бути застосовані як на підприємствах, що займаються медикаментами, так і на підприємствах іншого профілю.
ANNOTATION
degree project of Konev Gregory Borysovych
"The information system of account and analysis of accounts with the suppliers"
(on an example of the private enterprise “Biomed”)
TANE, ICIТ, Department IIT, group ISM- 51, 2000.
Volume of degree project 104 of pages.
In the given degree project the research of methods of account and analysis of accounts with the suppliers. The model of system model and it's detail description is given, mathematical and dataware have been designed and used. Programmed realization system was designed.
Results of given degree project can be aplied as at the enterprises occupied medical preparations, and at the enterprises of other structure.
Змн. |
Лист |
№ Докум. |
Підпис |
Дата |
Арк. |
4 |
ІКІТ.95712.105.ДП |
Розроб. |
Конєв Г.Б. |
Перевір. |
Білоусов І.А. |
Реценз. |
Н. Контр. |
Васильків Н.М |
Затверд. |
Маслияк Б.О. |
ІНФОРМАЦІЙНА СИСТЕМА ОБЛІКУ І АНАЛІЗУ РОЗРАХУНКІВ З ПОСТАЧАЛЬНИКАМИ І ПІДРЯДНИКАМИ |
Літ. |
Аркушів |
105 |
ТАНГ, ІКІТ, ІСМ-51 |
Вступ......................................................................................... \h
1. Аналіз потреб ПП “Біомед” в створенні КІС обліку і аналізу розрахунків з постачальниками і підрядниками............................................ \h
1.1. Характеристика ПП “Біомед” і опис діючої системи обліку розрахунків з постачальниками і підрядниками............................................ \h
1.2 Існуючі шляхи розв’язку задачі обліку розрахунків з постачальниками і підрядниками......................................................................... \h
1.3 Постановка задачі на проектування............................. \h
2. Розробка загальносистемних рішень............................... \h
2.1 Загальна структура розроблюваної системи............... \h
2.2 Математично-алгоритмічне забезпечення................... \h
2.3 Інформаційне забезпечення.......................................... \h
3. Програмно-технічна реалізація системи........................... \h
3.1. Структура програмного забезпечення....................... \h
3.2. Розробка програмних модулів.................................... \h
3.3 Практична реалізація системи...................................... \h
Висновки................................................................................. \h
Література.............................................................................. \h
Додаток 1................................................................................ \h
Додаток 2................................................................................ \h
Додаток 3................................................................................ \h
Додаток 4................................................................................ \h
Додаток 5................................................................................ \h
Додаток 6................................................................................ \h
Додаток 7................................................................................ \h
Додаток 8................................................................................ \h
Додаток 9................................................................................ \h
Додаток 10.............................................................................. \h
Додаток 11.............................................................................. \h
Додаток 12.............................................................................. \h
Додаток 13.............................................................................. \h
Додаток 14.............................................................................. \h
Змн. |
Арк. |
№ докум. |
Підпис |
Дата |
Арк. |
5 |
ІНФОРМАЦІЙНА СИСТЕМА ОБЛІКУ І АНАЛІЗУ РОЗРАХУНКІВ З ПОСТАЧАЛЬНИКАМИ І ПІДРЯДНИКАМИ |
Додаток 16.............................................................................. \h
Додаток 17.............................................................................. \h
Додаток 18.............................................................................. \h
Додаток 19.............................................................................. \h
Додаток 20.............................................................................. \h
Додаток 21.............................................................................. \h
Додаток 22.............................................................................. \h
Додаток 23.............................................................................. \h
Додаток 24……………………………………………………….99
Додаток 25……………………………………………………….100
Додаток 26……………………………………………………….101
Додаток 27……………………………………………………….102
Додаток 28……………………………………………………….103
Додаток 29……………………………………………………….104
Додаток 30……………………………………………………….105
ВСТУП
На сучасному етапі розвитку народного господарства проходить подальше вдосконалення управлінської діяльності підприємств. Зміни, які проходять в економіці України, потребують підвищення ефективності та якості управлінської праці. Це викликано всезростаючим науково-технічним прогресом, впровадженням на промислових підприємствах досягнень науки і техніки.
Завданням переддипломної практики є ознайомлення із структурою приватного підприємства “Біомед”, оцінка комплексу технічних і програмних засобів, аналіз технології збору, обробки та передачі інформації, а також виявлення недоліків у функціонуванні системи обліку розрахунків з постачальниками і підрядниками.
Метою практики є удосконалення існуючої в приватному підприємстві “Біомед” системи обліку розрахунків з постачальниками і підрядниками та насичення її елементами аналізу і контролю. Це допоможе ефективніше управляти підприємством, приймати відповідні рішення на різних рівнях управління та, як наслідок, забезпечить отримання очікуваного прибутку.
1 АНАЛІЗ ПОТРЕБ ПП “БІОМЕД” В СТВОРЕННІ КІС ОБЛІКУ І АНАЛІЗУ РОЗРАХУНКІВ З ПОСТАЧАЛЬНИКАМИ І ПІДРЯДНИКАМИ
1.1 Характеристика ПП “Біомед” і опис діючої системи обліку розрахунків з постачальниками і підрядниками
Приватне підприємство “Біомед” засноване у 1994 році (фактично діє з жовтня 1998 року) для здійснення господарської діяльності, скерованої на виконання для об’єднань, підприємств, виробничих колективів та громадян, послуг та робіт у вирішенні медичних, медико-біологічних, науково-технічних, виробничих та соціальних проблем, а також з метою одержання прибутків від основних видів діяльності.
В своїй діяльності підприємство керується Законами України “Про підприємництво”, “Про підприємства України”, та іншими актами та нормативами з врахуванням особливостей, що передбачені в статуті підприємства.
Предметом діяльності підприємства є:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Структуру підприємства зображено в додатку 1.
На даний момент основним видом діяльності підприємства є роздрібна торгівля медикаментами. Це передбачає, зокрема, ведення бухгалтерського обліку.
На підприємстві вже автоматизовано задачі бухгалтерського обліку “Склад” та “Реалізація товару”. Це здійснено засобами СУБД Microsoft Visual FoxPro 5.0. Для цього на підприємстві є такі технічні засоби:
- комп’ютер на базі процесора Pentium з тактовою частотою 133 мегагерца, оперативною памяттю в 32 мегабайта, жорстким диском об’ємом 3,2 гігабайта, монітором 14” SVGA з роздільною здатністю 800х600 пікселів;
- принтер Hewlett Packard DeskJet 400.
Задача “Облік розрахунків з постачальниками і підрядниками” вирішується на підприємстві у торговому відділі і не є автомвтизована. Призначення задачі – видача фінансової інформації про діяльність підприємства і формування звітних документів.
Порядок обліку товарообороту на підприємствах роздрібної торгівлі наступний. Товари від місця виробництва до роздрібної торговельної організації доставляє оптова торгівля. Роздрібна організація реалізуює товари безпосередньо споживачам. Товари поступають до магазинів (або роздрібних торговельних організацій) у порядку децентралізованих закупок самого магазину. Деякі товари надходять з місць виробництва безпосередньо у роздрібну торговельну мережу, обминаючи оптову ланку. Через оптові ланки проходять товари, що потребують комплектування їх у широкий торговельний асортимент, необхідний для безперебійного і рівномірного постачання роздрібних торговельних підприємств. Облік розрахунків з постачальниками ведеться на рахунку № 60 “Розрахунки з постачальниками і підрядниками”. Оприбуткування товарів від постачальників оформляється записом в дебеті рахунка № 41 “Товари” (субрахунок 01 чи 02) та в кредиті рахунка № 60 “Розрахунки з постачальниками і підрядниками”. При оплаті рахунка робиться запис в дебеті рахунка № 60 “Розрахунки з постачальниками і підрядниками” та в кредиті рахунка № 52 “Валютний рахунок”, або № 51 “Розрахунковий рахунок”, або № 66 “Векселі видані”. Оприбуткування товарів оформляється по цінах реалізації [].
Окрім вищенаведених бухгалтерських проводок, які є найчисленішими у підприємстві роздрібної торгівлі, можливі і наступні варіанти: кредит рахунка № 60 – дебет рахунка № 03, 05, 06, 07, 08, 12, 42, 43, 44, 45, 46, 47, 50, 55, 61, 62, 63, 78, 79, 84, 87, 93, 96, дебет рахунка № 60 – кредит рахунка № 42, 46, 49, 50, 52, 55, 61, 62, 66, 68, 76, 78, 90, 93, 96.
Отже, облік розрахунків з постачальниками і підрядниками стосується бухгалтерських операцій з рахунком № 60. Практично задача вирішується шляхом виконання наступних дій.
На першому етапі ведеться облік надходження товарів і облік оплати. Облік надходження товарів здійснюється на основі розхідних накладних, які надає постачальник, шляхом записів в журналі операцій відповідних бухгалтерських проведень, що відображається по кредиту рахунка № 60. Проведення містить дані про відповідного партнера, суму (в якості якої вказується загальна сума в розхідній накладній) і дату здійснення операції. При обліку оплати рахунка вхідними документами служать платіжні доручення, одержані з банку як документи, що засвідчують здійснення оплати. В журналі операцій робляться записи, зміст яких є протилежний записам при оприбуткуванні товарів. Надходження грошей фіксується на дебеті рахунка № 60. При цьому проведення також містить інформацію про партнера, суму, яку проплачено і дату здійснення операції.
Другий етап включає в себе формування звітних документів, а саме: оборотно-сальдової відомості і журналу-ордеру. Вони формуються на основі журналу операцій. Оборотно-сальдова відомість містить інформацію про сальдо (залишок) на рахунку № 60 на початок і кінець місяця по дебету, кредиту, та згорнуте. Журнал-ордер містить інформацію про суми обороту по дебету і кредиту рахунку № 60 в розрізі рахунків, і загальні суми обороту по дебету і кредиту.
Технологічна схема процесу вирішення задачі обліку з постачальниками наведена в додатку 2.
Рішення даної задачі вимагає аналізу великої кількості паперової інформації і включає в себе видачу різноманітних звітів. При цьому дуже висока ймовірність допущення помилки, яку важко відшукати. Це вимагає надзвичайних витрат робочого часу та ручної праці, що не може забезпечити високої продуктивності. До того ж, ручна обробка інформації у вирішенні задач такого типу є морально застарілим підходом.
Тому доцільно реалізувати задачу обліку розрахунків з постачальниками і підрядниками на ЕОМ, щоб спростити та прискорити її розв’язання.
1.2 Існуючі шляхи розв’язку задачі обліку розрахунків з постачальниками і підрядниками
Оскільки методика бухгалтерського обліку єдина і стандартизована, вибір шляху розв’язку даної задачі зводиться до вибору програмного середовища, в якому доцільніше її розв’язувати. Тут можливі два альтернативні напрямки – встановлення готової спеціалізованої бухгалтерської системи і розробка власної. З спеціалізованих систем можна виділити російський “1С” та вітчизняний “X-Door” Запорізької фірми “SoftTaxi”. Ці обидва пакети є досить потужними і гнучкими (особливо “1С”). Зокрема, одним із шляхів вирішення проблеми міг би бути вибір компонента “1С” – “1С: Бухгалтерія”, який можна додатково налаштувати на виконання деяких функцій оперативного обліку. Але на сьогодні всі спеціалізовані системи, які варті уваги, мають один суттєвий недолік – відносно високу вартість (в першу чергу це стосується дрібних підприємств). Очевидно, що якщо підприємство має на меті одержання прибутку, то так чи інакше всі управлінські рішення повинні бути економічно обгрунтованими. А для обгрунтування такого рішення, як вибір системи комп’ютеризованого обліку повинні враховуватись такі фактори, як економічна ефективність та ціна системи, і на основі аналізу цих факторів вже повинен робитись висновок про доцільність тієї чи іншої системи [].
1.3 Постановка задачі на проектування
З огляду на те, що приватне підприємство “Біомед” не є великим підприємством, займається одним видом діяльності і має порівняно просту структуру, (поки що), зараз воно не має потреби у великій і дорогій системі. Адже, наприклад, лише один компонент системи “1С” “1С: Бухгалтерія” (на момент написання проекту) коштує 1309 грн. (245 у.о.), а мережева версія – 5200 грн. (972 у.о.). Очевидно, що придбання фірмою такого пакету не є оптимальним шляхом.
Як ще один спосіб вирішення проблеми може бути вибір нелегальних копій програмного забезпечення, які значно дешевші за оригінал. Це є на даний час досить поширеним, але цьому способу притаманні свої недоліки. Один з них полягає в слідуючому. Метою впровадження на підприємстві автоматизованого бухгалтерського обліку є поступовий перехід на повністю комп’ютеризовану систему і заміна нею існуючої паперової системи. Це дасть змогу оперативно одержувати різноманітні звіти про діяльність фірми, як в розрізах, зручних для аналізу, так і документів, що являються необхідними звітними документами, навіть баланс всього підприємства. А як відомо, для того, щоб така система працювала на підприємстві, вона повинна бути ліцензована. Звісно, ліцензування нелегальних копій програмних продуктів (наприклад, “1С”) неможливе. Отже, окрім інших аспектів, використання нелегального програмного забезпечення для автоматизації бухгалтерського обліку не є прийнятним ще й тому, що це не дасть можливості для розвитку системи в майбутньому [].
Вагомим аргументом на користь створення власної системи (наприклад, засобами Visual FoxPro) також є те, що в такій системі можна передбачити всі тонкощі і особливості, які пов’язані з торгівлею медикаментами, для здійснення оперативного обліку і елементів аналізу.
Щодо вибору конкретного інструментарію для створення системи, він цілком виправдано падає на Microsoft Visual FoxPro, оскільки на підприємстві на даний момент вже працюють дві системи обліку (“Склад” та “Реалізація товару”), які створені на основі цієї СУБД. Це створить можливості для інтеграції всіх компонентів в єдину систему, модернізації існуючих та створення нових компонентів по мірі розвитку підприємства.
2 РОЗРОБКА ЗАГАЛЬНОСИСТЕМНИХ РІШЕНЬ
2.1 Загальна структура розроблюваної системи
Для розгляду структури розроблюваної системи обліку і аналізу розрахунків з постачальниками та взаємозв’язку із зовнішніми об’єктами зручно представити систему у вигляді DFD-діаграм. В додатку 3 подано контекст-діаграму розроблюваної системи, яка відображає зв’язки з зовнішніми об’єктами і визначає вхідні та вихідні потоки інформації []. Для даної системи можна умовно виділити три зовнішні об’єкти: постачальники, банк і бухгалтерія підприємства. На вхід системи від постачальників надходять розхідні накладні, а з банку – проплачені платіжні доручення. В процесі роботи системи формуються наступні результатні документи:
- оборотні відомості;
- узагальнені оборотні відомості;
- сальдові відомості;
- узагальнені сальдові відомості;
- журнал-ордер;
- акт звірки.
Всі ці документи надходять до бухгалтерії підприємства для здійснення оперативного, синтетичного обліку, проведення аналізу тощо.
За допомогою діаграми 1-го рівня, яку подано в додатку 4, проведено декомпозицію системи на окремі процеси. В результаті можна виділити наступні процеси:
- ведення журналу операцій (процес 1);
- формування результатних документів (процес 2);
- друк і передача результатних документів (процес 3).
Для процесу 1 “Ведення журналу операцій” вхідними є дані, отримані з розхідних накладних, що надходять від постачальника і дані, отримані з проплачених платіжних доручень, які надходять з банку. В результаті ведення журналу операцій утворюються дані про операції, які є вхідними для процесу 2 “Формуванння результатних документів”. Цей процес також використовує вхідні дані для процесу 1 для звірки і виявлення помилок. На виході процесу 2 формуються в електронному вигляді ті ж самі документи, які будуть вихідними документами для всієї системи. За допомогою процесу 3 ці документи роздруковуються і передаються в бухгалтерію підприємства.
Розглянемо детальніше процес 1 “Ведення журналу операцій” за допомогою діаграми другого рівня, що наведена в додатку 5. Даний процес складається з наступних дрібніших процесів:
- ввід і контроль інформації (процес 1.1);
- запис на магнітний носій (процес 1.2);
- звірка і корекція БД (процес 1.3).
Інформація з розхідних накладних і платіжних доручень є вхідною для процесів 1.1 “Ввід і контроль інформації” та 1.3 “Звірка і корекція БД”. Після процесу 1.1 введена інформація про операції записується на магнітний носій (вінчестер) в файл операцій. Записана інформація використовується в процесі 1.3 при звірці і корекції БД. На виході процесу 1.3 (і всього процесу 1) – дані про операції.
Деталізація процесу 2 “Формування результатних документів” за допомогою діаграми другого рівня наведена в додатку 6. В результаті декомпозиції даного процесу одержуємо наступні дрібніші процеси:
- формування оборотних відомостей (процес 2.1);
- формування узагальнених оборотних відомостей (процес 2.2);
- формування сальдових відомостей (процес 2.3);
- формування узагальнених сальдових відомостей (процес 2.4);
- формування журнала-ордера (процес 2.5);
- формування акту звірки (процес 2.6).
Дані про операції є вхідними для процесів 2.1, 2.3, 2.5 та 2.6, на виході яких формуються відповідно оборотні відомості, сальдові відомості, журнал-ордер та акт звірки. Оборотні і сальдові відомості є вхідними даними відповідно для процесів 2.2 та 2.4, в яких формуються узагальнені відомості.
Процес 3 “Друк і передача результатних документів” не вимагає деталізації.
Для висвітлення технології рішення даної задачі у системі, що проектується і для порівняння її з існуючою технологією, систему зручно представити у вигляді техпроцесу, який зображено в додатку 7. При оприбуткуванні товару дані з накладних вводяться в пам’ять ЕОМ. В процесі введення даних ідбувається їх перевірка на правильність, повідомлення про помилки (якщо вони виявлені) виводяться на екран монітора, і процедура вводу повторюється. Після того, як дані введені і перевірені, вони записуються на жорсткий диск ЕОМ в наступні файли: “Журнал операцій”, “Партнер” та “Товар”.
Аналогічно здійснюється ввід даних з платіжних доручень і корекція помилок при оплаті рахунку. В цьому випадку дані записуються на жорсткий диск ЕОМ у файли “Журнал операцій” і “Платіжні доручення”.
В результаті наступних етапів формуються результатні документи, для чого використовується інформація з файлу “Журнал операцій”. Це етапи: “Формування журнала-ордера”, “Формування оборотно-сальдових відомостей” і “Аналіз оплати і оприбуткування”.
2.2 Математично-алгоритмічне забезпечення
При роботі система використовує ряд показників, які зручно представити у вигляді таблиць, виділивши реквізити-основи і реквізити-ознаки (див. таблицю 1 і таблицю 2).
Таблиця SEQ Таблиця \* ARABIC 1. Реквізити-основи
Показник |
Назва реквізиту |
Позначення у файлі |
R1 |
Сальдо дебетове на початок місяця |
SDP |
R2 |
Сальдо дебетове на кінець місяця |
SDK |
R3 |
Сальдо кредитове на початок місяця |
SKP |
R4 |
Сальдо кредитове на кінець місяця |
SKK |
R5 |
Дебетовий оборот |
OD |
R6 |
Кредитовий оборот |
OK |
R7 |
Загальний дебетовий оборот |
ZOD |
R8 |
Загальний кредитовий оборот |
ZOK |
R9 |
Сума операції |
O |
R10 |
Сума операцій |
SO |
R11 |
Сума операцій по дебету |
SOD |
R12 |
Сума операцій по кредиту |
SOK |
W1 |
Сума |
S |
W2 |
Загальна сума |
SS |
V1 |
Кількість |
K |
V2 |
Ціна |
P |
V3 |
Проплачена сума |
PS |
Таблиця SEQ Таблиця \* ARABIC 2. Реквізити-ознаки
Показник |
Назва реквізиту |
Позначення у файлі |
P1 |
Товар |
I |
P2 |
Постачальник |
J |
P3 |
Дата |
D |
P4 |
Номер накладної |
N |
P5 |
Дебетовий рахунок |
RD |
P6 |
Кредитовий рахунок |
RK |
P7 |
Дебет рахунка № 60 |
RRD |
P8 |
Кредит рахунка № 60 |
RRK |
P9 |
Місяць |
M |
P10 |
Дата початку місяця |
DP |
P11 |
Дата кінця місяця |
DK |
P12 |
Дата оплати |
Z |
Граф взаємозв’язку показників зображений в додатку 8.
Розглянемо кожен з використовуваних в системі показників і наведемо формули, за якими вони обчислюються:
1) – сума товару i, поставленого постачальником j на дату d за накладною n.
(1)
де: – кількість товару i, поставленого постачальником j на дату d за накладною n;
– ціна товару i, поставленого постачальником j на дату d за накладною n.
2) – загальна сума товару, поставленого постачальником j на дату d за накладною n.
. (2)
3) – сума операції по дебету рахунка rd і по кредиту рахунка rk по накладній n постачальника j на дату d.
; (3)
, (4)
де – сума, проплачена постачальнику j на дату z згідно накладної n за дату d.
4) – оборот по дебету рахунка №60 і кредиту рахунка rk по партнеру j на дату d. Показник формується шляхом вибірки без арифметичних обчислень.
5) – оборот по кредиту рахунка №60 і дебету рахунка rd по партнеру j на дату d. Формується шляхом вибірки.
6) – загальний оборот по дебету рахунка №60 по партнеру j за місяць m.
(5)
7) – загальний оборот по кредиту рахунка №60 по партнеру j за місяць m.
(6)
8) – сальдо на кінець місяця m по дебету рахунка №60 по партнеру j.
(7)
9) – сальдо на кінець місяця m по кредиту рахунка №60 по партнеру j.
(8)
10) – сальдо на початок місяця m по дебету рахунка №60 по партнеру j.
(9)
11) – сальдо на початок місяця m по кредиту рахунка №60 по партнеру j.
(10)
12) – сальдо на кінець місяця m по дебету рахунка №60.
(11)
13) – сальдо на кінець місяця m по кредиту рахунка №60.
(12)
14) – сальдо на початок місяця m по дебету рахунка №60.
(13)
15) – сальдо на початок місяця m по кредиту рахунка №60.
(14)
16) – сума операцій по дебету рахунка №60 і по кредиту рахунка rk.
(15)
17) – сума операцій по кредиту рахунка №60 і по дебету рахунка rk.
(16)
18) – сума операцій по дебету рахунка №60.
(17)
19) – сума операцій по кредиту рахунка №60.
(18)
2.3 Інформаційне забезпечення
До складу інформаційного забезпечення входить позамашинне та внутрішньомашинне інформаційне забезпечення.
Позамашинне інформаційне забезпечення складається з вхідних і результуючих документів. Вхідні документи служать для фіксації інформації в місці її виникнення і передачі її для обробки. В системі автоматичної обробки економічної інформації з них формуються оперативні масиви інформації. Результуючі документи - це документи, які формуються системою в результаті розв’язку задачі.
Для машинної обробки інформації необхідно провести класифікацію та кодування всіх реквізитів-ознак. Закодовані реквізити представимо у таблиці 3.
Таблиця SEQ Таблиця \* ARABIC 3. Опис класифікаторів та систем кодування
Назва кодованої множини |
Система кодування |
Структура коду |
Розшифрування розрядів |
Товар |
Порядкова |
ХХХХ |
Порядковий номер товару |
Постачальник |
Порядкова |
ХХХ |
Порядковий номер постачальника |
Дата |
Позиційна |
ХХ.ХХ.ХХХХ |
Число, місяць, рік |
Номер накладної |
Порядкова |
ХХХ |
Номер накладної |
Дебетовий рахунок |
Позиційна |
ХХ.ХХ |
Номер рахунка, номер субрахунка |
Кредитовий рахунок |
Позиційна |
ХХ.ХХ |
Номер рахунка, номер субрахунка |
Місяць |
Позиційна |
ХХ.ХХХХ |
Місяць, рік |
Дата початку місяця |
Позиційна |
ХХ.ХХ.ХХХХ |
Число, місяць, рік |
Дата кінця місяця |
Позиційна |
ХХ.ХХ.ХХХХ |
Число, місяць, рік |
Дата оплати |
Позиційна |
ХХ.ХХ.ХХХХ |
Число, місяць, рік |
Вхідними документами для даної задачі будуть:
- розхідна накладна;
- платіжне доручення.
Документ “Розхідна накладна” містить інформацію про поставку товару (дата, найменування товару, ціна товару, кількість товару, загальна сума, назва та реквізити постачальника, назва та реквізити одержувача). Цей документ заповнюється постачальником і є основним документом, що засвідчує факт поставки товару. Реквізити з нього заносяться в базу даних, де міститься інформація про всі поставки товарів. Форма документа наведена в додатку 9. Табличний опис документа представлений в таблиці 4.
Таблиця SEQ Таблиця \* ARABIC 4. Табличний опис документа "Розхідна накладна"
Назва реквізиту |
Тип та значність |
Діапазон змін |
Назва постачальника |
C(40) |
|
Назва населеного пункту |
C(15) |
|
Адреса |
C(30) |
|
Номер телефону |
C(10) |
|
Факс |
C(10) |
|
Назва банку |
C(45) |
|
Номер розрахункового рахунка |
C(15) |
|
МФО |
C(10) |
|
Індивідуальний податковий номер |
C(10) |
|
ЗКПО |
C(15) |
|
Номер накладної |
C(5) |
|
Дата |
D(8) |
|
Назва товару |
C(30) |
|
Одиниця виміру |
C(5) |
|
Кількість |
N(8.3) |
0..9999.999 |
Вартість |
N(8.4) |
0..9999.9999 |
Сума |
N(6.2) |
0..9999.99 |
Загальна сума |
N(7.2) |
0..99999.99 |
Документ “Платіжне доручення” містить інформацію про оплату поставленого товару (дата оплати, сума, назва і реквізити одержувача, призначення платежу). Цей документ заповнюється платником, а після того, як здійснено оплату і банком проставлено на ньому печатки і підпис, одна його копія потрапляє до одержувача, а інша повертається до платника. Документ є засвідченням факту оплати. Реквізити з нього заносяться в базу даних, де міститься інформація про всі проведені оплати. Форма документа наведена в додатку 10. Табличний опис документа представлений в таблиці 5.
Таблиця SEQ Таблиця \* ARABIC 5. Табличний опис документа "Платіжне доручення"
Назва реквізиту |
Тип та значність |
Діапазон змін |
Номер платіжного доручення |
C(5) |
|
Дата оплати |
D(8) |
|
Сума |
N(6.2) |
0..9999.99 |
Назва одержувача |
C(40) |
|
Код одержувача за ЄДРПОУ |
C(9) |
|
Назва банку одержувача |
C(45) |
|
Особистий код банку |
C(7) |
|
Номер рахунку |
C(15) |
|
Номер накладної |
C(5) |
|
Дата |
D(8) |
Всі необхідні дані з вхідних документів заносяться у бази даних. На основі інформації з вхідних документів формуються результатні документи.
Вихідними документами для даної задачі будуть:
- обороти по дебету;
- обороти по кредиту;
- загальний оборот по дебету;
- загальний оборот по кредиту;
- сальдо на початок місяця;
- сальдо на кінець місяця;
- узагальнена сальдова відомість;
- журнал-ордер;
- акт звірки.
Документ “Обороти по дебету” формується при необхідності і містить дані про обороти по дебету рахунка №60 і кредиту будь-якого з рахунків (вказується). Форма документа наведена в додатку 11. Табличний опис документа представлений в таблиці 6.
Таблиця SEQ Таблиця \* ARABIC 6. Табличний опис документа "Обороти по дебету"
Назва реквізиту |
Тип та значність |
Діапазон змін |
Дата |
D(8) |
|
Сума |
N(6.2) |
0..9999.99 |
Назва постачальника |
C(40) |
|
Номер накладної |
C(5) |
|
Номер кредитового рахунка |
C(4) |
Документ “Обороти по кредиту” формується при необхідності і містить дані про обороти по кредиту рахунка №60 і дебету будь-якого з рахунків (вказується). Форма документа наведена в додатку 12. Табличний опис документа представлений в таблиці 7.
Таблиця SEQ Таблиця \* ARABIC 7. Табличний опис документа "Обороти по кредиту"
Назва реквізиту |
Тип та значність |
Діапазон змін |
Дата |
D(8) |
|
Сума |
N(6.2) |
0..9999.99 |
Назва постачальника |
C(40) |
|
Номер накладної |
C(5) |
|
Номер дебетового рахунка |
C(4) |
Документ “Загальний оборот по дебету” формується в кінці місяця і містить дані про оборот по дебету рахунка №60 в розрізі постачальників. Форма документа наведена в додатку 13. Табличний опис документа представлений в таблиці 8.
Таблиця SEQ Таблиця \* ARABIC 8. Табличний опис документа "Загальний оборот по дебету"
Назва реквізиту |
Тип та значність |
Діапазон змін |
Сума |
N(7.2) |
0..99999.99 |
Назва постачальника |
C(40) |
|
Звітний місяць |
D(6) |
Документ “Загальний оборот по кредиту” формується в кінці місяця і містить дані про оборот по кредиту рахунка №60 в розрізі постачальників. Форма документа наведена в додатку 14. Табличний опис документа представлений в таблиці 9.
Таблиця SEQ Таблиця \* ARABIC 9. Табличний опис документа "Загальний оборот по кредиту"
Назва реквізиту |
Тип та значність |
Діапазон змін |
Сума |
N(7.2) |
0..99999.99 |
Назва постачальника |
C(40) |
|
Звітний місяць |
D(6) |
Документ “Сальдо на початок місяця” формується на початку місяця і містить дані про залишок на дебеті чи кредиті рахунка №60 в розрізі постачальників. Форма документа наведена в додатку 15. Табличний опис документа представлений в таблиці 10.
Таблиця SEQ Таблиця \* ARABIC 10. Табличний опис документа “Сальдо на початок місяця”
Назва реквізиту |
Тип та значність |
Діапазон змін |
Дебетове сальдо |
N(7.2) |
0..99999.99 |
Кредитове сальдо |
N(7.2) |
0..99999.99 |
Назва постачальника |
C(40) |
|
Звітний місяць |
D(6) |
Документ “Сальдо на кінець місяця” формується в кінці місяця і містить дані про залишок на дебеті чи кредиті рахунка №60 в розрізі постачальників. Форма документа наведена в додатку 16. Табличний опис документа представлений в таблиці 11.
Таблиця SEQ Таблиця \* ARABIC 11. Табличний опис документа “Сальдо на кінець місяця”
Назва реквізиту |
Тип та значність |
Діапазон змін |
Дебетове сальдо |
N(7.2) |
0..99999.99 |
Кредитове сальдо |
N(7.2) |
0..99999.99 |
Назва постачальника |
C(40) |
|
Звітний місяць |
D(6) |
Документ “Узагальнена сальдова відомість” формується в кінці місяця і містить дані про залишок на дебеті чи кредиті рахунка №60. Форма документа наведена в додатку 17. Табличний опис документа представлений в таблиці 12.
Таблиця SEQ Таблиця \* ARABIC 12. Табличний опис документа “ Узагальнена сальдова відомість ”
Назва реквізиту |
Тип та значність |
Діапазон змін |
Дебетове сальдо на початок місяця |
N(7.2) |
0..99999.99 |
Кредитове сальдо на початок місяця |
N(7.2) |
0..99999.99 |
Згорнуте сальдо на початок місяця |
N(7.2) |
0..99999.99 |
Дебетове сальдо на кінець місяця |
N(7.2) |
0..99999.99 |
Кредитове сальдо на кінець місяця |
N(7.2) |
0..99999.99 |
Згорнуте сальдо на кінець місяця |
N(7.2) |
0..99999.99 |
Звітний місяць |
D(6) |
Документ “Журнал-ордер” формується при необхідності і містить загальні суми операцій в розрізі рахунків. Форма документа наведена в додатку 18. Табличний опис документа представлений в таблиці 13.
Таблиця SEQ Таблиця \* ARABIC 13. Табличний опис документа “Журнал-ордер”
Назва реквізиту |
Тип та значність |
Діапазон змін |
Сума |
N(7.2) |
0..99999.99 |
Загальна сума по дебету |
N(7.2) |
0..99999.99 |
Загальна сума по кредиту |
N(7.2) |
0..99999.99 |
Номер дебетового рахунка |
C(4) |
|
Номер кредитового рахунка |
C(4) |
Документ “Акт звірки” формується при необхідності і містить дані про операції, проведені у вказану дату. Форма документа наведена в додатку 19. Табличний опис документа представлений в таблиці 14.
Таблиця SEQ Таблиця \* ARABIC 14. Табличний опис документа “Акт звірки”
Назва реквізиту |
Тип та значність |
Діапазон змін |
Сума |
N(7.2) |
0..99999.99 |
Дата |
D(8) |
|
Номер накладної |
C(3) |
|
Назва постачальника |
C(40) |
|
Номер дебетового рахунка |
C(4) |
|
Номер кредитового рахунка |
C(4) |
Внутрішньомашинна інформаційна база є частиною інформаційного забезпечення підсистеми та складається з інформаційних масивів (файлів). Всі файли внутрішньомашинної інформаційної бази поділяються на вхідні та результуючі. Вхідні файли в свою чергу поділяються на оперативні та умовно-постійні (нормативні, розціночні, довідникові). Результуючі файли є кінцеві та проміжні.
Оскільки наведено табличні описи результатних документів, немає необхідності у розгляді результатних інформаційних масивів.
Розробимо структуру ідентифікатора інформаційних масивів:
Х ХХХХХ
назва
вид масиву
Вид масиву задається ідентифікатором:
V - вхідний-оперативний
D - довідковий
Класифікацію інформаційних масивів наведемо у формі таблиці (таблиця 15):
Таблиця SEQ Таблиця \* ARABIC 15. Класифікація інформаційних масивів
Оперативні |
vOperations |
vDocuments |
|
vGoods |
|
Умовно-постійні (довідкові) |
dPartners |
dAccounts |
|
dPhones |
|
dAddresses |
|
dBanks |
|
dCities |
|
dCountries |
|
dRegions |
|
dAreas |
|
dTypes |
|
dMeasures |
|
dGoods |
Взаємозв’язок файлів показаний на даталогічній моделі (додаток 24).
Структури інформаційних масивів наведені у таблицях:
Таблиця SEQ Таблиця \* ARABIC 16. Структура файлу vOperations
Реквізит |
Позначення у файлі |
Тип і розрядність |
Сума |
nSum |
N(6.2) |
Номер кредитового рахунка |
cKNumber |
C(4) |
Номер дебетового рахунка |
cDNumber |
C(4) |
Код накладної |
icdDocument |
C(4) |
Таблиця SEQ Таблиця \* ARABIC 17. Структура файлу vDocuments
Реквізит |
Позначення у файлі |
Тип і розрядність |
Код накладної |
icdDocument |
C(4) |
Дата |
dDate |
D(8) |
Номер накладної |
cDocNumber |
C(5) |
Код партнера |
icdPartner |
C(4) |
Таблиця SEQ Таблиця \* ARABIC 18. Структура файлу vGoods
Реквізит |
Позначення у файлі |
Тип і розрядність |
Кількість товару |
nGoodsAmnt |
N(8.3) |
Ціна товару |
nGoodsPrice |
N(8.4) |
Код одиниці виміру |
icdMeasure |
C(2) |
Код товару |
icdGoods |
C(4) |
Код накладної |
icdDocument |
C(4) |
Таблиця SEQ Таблиця \* ARABIC 19. Структура файлу dPartners
Реквізит |
Позначення у файлі |
Тип і розрядність |
Код партнера |
icdPartner |
C(4) |
Назва партнера |
cPartner |
C(40) |
ЗКПО |
cZKPO |
C(13) |
С. р. ПДВ |
cSrPDV |
C(13) |
Інд. податк. номер |
cIndPN |
C(10) |
Керівник |
cManager |
C(40) |
Головний бухгалтер |
cMainAcnt |
C(40) |
Нотатка |
mNote |
Memo |
Дата останньої модифікації |
dLastMod |
D(8) |
Таблиця SEQ Таблиця \* ARABIC 20. Структура файлу dCities
Реквізит |
Позначення у файлі |
Тип і розрядність |
Код населеного пункту |
icdCity |
C(3) |
Назва населеного пункту |
cCity |
C(22) |
Таблиця SEQ Таблиця \* ARABIC 21. Структура файлу dBanks
Реквізит |
Позначення у файлі |
Тип і розрядність |
Код банку |
icdBank |
C(3) |
Назва банку |
cBank |
C(45) |
Таблиця SEQ Таблиця \* ARABIC 22. Структура файлу dGoods
Реквізит |
Позначення у файлі |
Тип і розрядність |
Код товару |
icdGoods |
C(4) |
Назва товару |
cGoods |
C(40) |
Таблиця SEQ Таблиця \* ARABIC 23. Структура файлу dMeasure
Реквізит |
Позначення у файлі |
Тип і розрядність |
Код одиниці виміру |
icdMeasure |
C(2) |
Назва одиниці виміру |
cMeasure |
C(7) |
Таблиця SEQ Таблиця \* ARABIC 24. Структура файлу dAccounts
Реквізит |
Позначення у файлі |
Тип і розрядність |
Код партнера |
icdPartner |
C(4) |
Номер розрахункового рахунку |
cAccount |
C(15) |
МФО |
cMFO |
C(10) |
Код банку |
icdBank |
C(3) |
Код населеного пункту |
icdCity |
C(3) |
Таблиця SEQ Таблиця \* ARABIC 25. Структура файлу dPhones
Реквізит |
Позначення у файлі |
Тип і розрядність |
Код партнера |
icdPartner |
C(4) |
Код типу зв’язку |
icdConnType |
C(1) |
Код (міста) |
cCode |
C(6) |
Номер телефону |
cNumber |
C(7) |
Таблиця SEQ Таблиця \* ARABIC 26. Структура файлу dAddresses
Реквізит |
Позначення у файлі |
Тип і розрядність |
Код партнера |
icdPartner |
C(4) |
Код населеного пункту |
icdCity |
C(3) |
Код області |
icdRegion |
C(3) |
Код району |
icdArea |
C(4) |
Код країни |
icdCountry |
C(2) |
Номер абонентської скриньки |
cPOBox |
C(5) |
Поштовий індекс |
cPostInd |
C(6) |
Адреса |
cAddress |
C(30) |
Таблиця SEQ Таблиця \* ARABIC 27. Структура файлу dConnTypes
Реквізит |
Позначення у файлі |
Тип і розрядність |
Код типу зв’язку |
icdConnType |
C(1) |
Тип зв’язку |
cConnType |
C(7) |
Таблиця SEQ Таблиця \* ARABIC 28. Структура файлу dCountries
Реквізит |
Позначення у файлі |
Тип і розрядність |
Код країни |
icdCountry |
C(2) |
Назва країни |
cCountry |
C(15) |
Таблиця SEQ Таблиця \* ARABIC 29. Структура файлу dRegions
Реквізит |
Позначення у файлі |
Тип і розрядність |
Код області |
icdRegion |
C(3) |
Назва області |
cRegion |
C(20) |
Таблиця SEQ Таблиця \* ARABIC 30. Структура файлу dAreas
Реквізит |
Позначення у файлі |
Тип і розрядність |
Код району |
icdArea |
C(4) |
Назва району |
cArea |
C(20) |
3 ПРОГРАМНО-ТЕХНІЧНА РЕАЛІЗАЦІЯ СИСТЕМИ
3.1 Структура програмного забезпечення
Програмне забезпечення системи є взаємопов’язаним комплексом модулів, об’єднаних графічним інтерфейсом користувача, який реалізує діалоговий режим розв’язку задачі. При цьому користувачу надана можливість в діалоговому режимі управляти роботою програми. Граф діалогу приведено в додатку 21. Табличний опис діалогу представлений в таблиці 31.
Таблиця SEQ Таблиця \* ARABIC 31. Табличний опис діалогу
Позначення в графі |
Об’єкт |
Дія |
Т1 |
Кнопка |
Виклик форми-списку партнерів |
Т2 |
Кнопка |
Сортування |
Т3 |
Кнопка |
Перехід до першого запису |
Т4 |
Кнопка |
Перехід до останнього запису |
Т5 |
Кнопка |
Знищення партнера |
Т6 |
Кнопка |
Пошук партнера |
Т7 |
Список |
Вибір партнера |
Т8 |
Кнопка |
Активізація фільтра |
Т9 |
Список |
Вибір категорії партнерів |
Т10 |
Кнопка |
Добавлення нового партнера |
Т11 |
Кнопка |
Відкриття журналу операцій по партнерові |
Т12 |
Кнопка |
Параметри |
Т13 |
Кнопка |
Перегляд картки партнера |
Т14 |
Кнопка |
Вихід |
Т15 |
Вкладка |
Перехід до вводу даних про р/р |
Т16 |
Поле редагування |
Ввід назви партнера |
Т17 |
Поле редагування |
Ввід ЗКПО |
Т18 |
Вкладка |
Перехід до вводу даних про телефони |
Т19 |
Поле редагування |
Ввід с. р. ПДВ |
Т20 |
Поле редагування |
Ввід інд. под. номера |
Т21 |
Вкладка |
Перехід до вводу даних про адреси |
Т22 |
Поле редагування |
Ввід керівника |
Т23 |
Поле редагування |
Ввід головного бухгалтера |
Т24 |
Вкладка |
Перехід до вводу нотатки |
Т25 |
Кнопка |
Знищення запису |
Т26 |
Кнопка |
Перехід до першого запису |
Т27 |
Кнопка |
Перехід до останнього запису |
Т28 |
Кнопка |
Добавлення запису |
Т29 |
Кнопка |
Редагування запису |
Т30 |
Перемикач |
Вибір типу рахунка (осн./дод.) |
Т31 |
Поле редагування |
Ввід розрахункового рахунка |
Т32 |
Поле редагування |
Ввід МФО |
Т33 |
Поле редагування |
Ввід назви банку |
Т34 |
Поле редагування |
Ввід населеного пункту |
Т35 |
Кнопка |
Збереження |
Т36 |
Кнопка |
Відмова |
Т37 |
Кнопка |
Добавлення запису |
Т38 |
Кнопка |
Редагування запису |
Т39 |
Поле редагування |
Ввід номера телефона |
Т40 |
Список |
Вибір типу зв’язку |
Т41 |
Кнопка |
Збереження |
Т42 |
Кнопка |
Відмова |
Т43 |
Кнопка |
Добавлення запису |
Т44 |
Кнопка |
Редагування запису |
Т45 |
Поле редагування |
Ввід назви країни |
Т46 |
Поле редагування |
Ввід поштового індекса |
Т47 |
Поле редагування |
Ввід назви населеного пункту |
Т48 |
Поле редагування |
Ввід назви області |
Т49 |
Поле редагування |
Ввід назви району |
Т50 |
Поле редагування |
Ввід назви вулиці |
Т51 |
Поле редагування |
Ввід абонентської скриньки |
Т52 |
Поле редагування |
Ввід коментаря |
Т53 |
Кнопка |
Збереження |
Т54 |
Кнопка |
Відмова |
Т55 |
Поле редагування |
Ввід нотатки |
Т56 |
Кнопка |
Вихід |
Т57 |
Кнопка |
Друк документів |
Т58 |
Поле редагування |
Ввід початкової дати |
Т59 |
Поле редагування |
Ввід кінцевої дати |
Т60 |
Кнопка |
Продовження друку |
Т61 |
Кнопка |
Відмова |
Т62 |
Кнопка |
Друк акту звірки |
Т63 |
Кнопка |
Друк проведень |
Т64 |
Кнопка |
Поновлення |
Т65 |
Кнопка |
Перегляд |
Т66 |
Кнопка |
Друк |
Т67 |
Кнопка |
Вихід |
Т68 |
Поле редагування |
Ввід періоду |
Т69 |
Поле редагування |
Вихід |
Т70 |
Кнопка |
Друк сторінки |
Т71 |
Кнопка |
Друк всього |
Т72 |
Прапорець |
Проставлення сторінок |
Т73 |
Кнопка |
Пропуск |
Т74 |
Поле редагування |
Лист |
Т75 |
Перемикач |
Вибір типу шрифта |
Т76 |
Кнопка |
Вихід |
Т77 |
Поле редагування |
Ввід початкової дати |
Т78 |
Поле редагування |
Ввід кінцевої дати |
Т79 |
Кнопка |
Продовження друку |
Т80 |
Кнопка |
Відмова |
Т81 |
Поле редагування |
Ввід початкового сальдо по Д-ту |
Т82 |
Поле редагування |
Ввід початкового сальдо по К-ту |
Т83 |
Кнопка |
Перегляд картки партнера |
Т84 |
Кнопка |
Вихід |
Т85 |
Кнопка |
Перехід на початок списку |
Т86 |
Кнопка |
Перехід на кінець списку |
Т87 |
Кнопка |
Добавлення складної проводки |
Т88 |
Кнопка |
Пошук |
Т89 |
Кнопка |
Добавлення проводки |
Т90 |
Кнопка |
Сортування |
Т91 |
Кнопка |
Відмова |
Т92 |
Кнопка |
Вихід |
Т93 |
Поле редагування |
Ввід номера документа |
Т94 |
Поле редагування |
Ввід дати |
Т95 |
Поле редагування |
Ввід номера рахунка |
Т96 |
Поле редагування |
Ввід суми |
Т97 |
Поле редагування |
Ввід суми для пошуку |
Т98 |
Кнопка |
Пошук |
Т99 |
Кнопка |
Відмова |
Т100 |
Поле редагування |
Ввід номера документа |
Т101 |
Поле редагування |
Ввід номера рахунка |
Т102 |
Поле редагування |
Ввід суми |
Т103 |
Поле редагування |
Ввід дати |
Т104 |
Кнопка |
Вихід |
Т105 |
Кнопка |
Відмова |
Т106 |
Кнопка |
Сортування по даті |
Т107 |
Кнопка |
Сортування по сумі |
Т108 |
Кнопка |
Сортування по рахункам |
Т109 |
Кнопка |
Відмова |
Програмне забезпечення - це сукупність програм для реалізації розробленої системи на базі використання засобів обчислювальної техніки.
Однією з складових частин програмного забезпечення є операційна система, яка призначена для розширення функціональних можливостей обчислювального обладнання, контролю і управління процесами обробки даних, автоматизації роботи програмістів.
Так, зокрема, Windows 98, яка використовувалась при розробці та тестуванні комп’ютерної системи обліку і аналізу розрахунків з постачальниками і підрядниками являє собою високопродуктивну, багатозадачну і багатопотокову 32-розрядну операційну систему з зручним графічним інтерфейсом і розширеними мережевими можливостями. Операціійна система розроблена фірмою Microsoft (США). Важливою її особливістю є 32-розрядна архітектура, яка забезпечує більш високу продуктивність системи, знімає багато обмежень на системні ресурси.
Захищений режим, що застосовується в Windows 9x/NT, підтримує роботу системи у випадках збою прикладної програми, що є досить вагомою перевагою над іншими ОС, захищає прикладну програму від випадкового втручання одного процесу в інший, забезпечує певну стійкість до вірусів.
Розробка системи здійснена за допомогою середовища Microsoft Visual FoxPro. Незважаючи на появу нових систем управління базами даних, Visual FoxPro все ще залишається однією з найбільш популярних програм в цій області. Це, передусім, пов’язано з тим, що при створенні нових версій Microsoft зберігає сумісність з попередніми версіями.
В Visual FoxPro реалізовані всі атрибути реляційних систем управління базами даних. В базі даних підтримується цілісність даних за допомогою первинних ключів і зв’язків між таблицями. Для обробки подій додавання, знищення чи зміни записів таблиць засобами самої бази даних можна використовувати тригери і процедури.
Visual FoxPro – це об’єктно-орієнтована, візуально-програмована мова, що управляється по подіям, і яка в повній мірі відповідає новим вимогам, що ставляться перед сучасними засобами проектування.
Visual FoxPro складається з окремих компонентів, які використовуються для зберігання інформації, її відображення і редагування.
Всі дані зберігаються в базі даних, яка складається з таблиць, відношень між таблицями, індексів, тригерів і процедур. Кожна таблиця має унікальне ім’я і зберігається в окремому файлі, назва якого співпадає з назвою таблиці. Створений файл має розширення DBF. Кожна таблиця може мати декілька зв’язаних з нею індексів, які використовуються для впорядкування даних і швидкого пошуку необхідних записів.
Для зберігання значення полів типу Memo і General використовуються окремі файли. Memo-поля таблиць містять текстову інформацію, а поля типу General використовуються, як правило, для зберігання двійкової інформації, даних інших програм, які працюють в середовищі Windows.
В Visual FoxPro реалізовані тригери, які дозволяють централізовано обробляти події, що виникають при будь-яких змінах в базі даних. Також можуть створюватись процедури, які є частиною бази даних і можуть використовуватись при описі таблиць для перевірки введених даних, визначення значення по замовчуванню тощо.
Надзвичайно зручним і корисним засобом доступу до бази даних є представлення даних. Представлення даних дозволяють об’єднати дані таблиць і відображати їх в більш зручному вигляді. Є можливість вибрати потрібні поля таблиць, об’єднати декілька полей в одне поле, обчислити підсумкові значення, задати нові імена полів таблиці.
Як правило, кількість представлень в базі даних перевищує кількість таблиць. По мірі експлуатації бази даних їх кількість збільшується. В багатьох інформаційних системах доступ до даних, включаючи перегляд, добавлення і редагування, здійснюється тільки з допомогою представлень даних. Такий підхід дозволяє здійснити гнучке управління доступом до інформації.
При використанні представлень для вибірки даних в формах, звітах, при створенні запитів, а також в програмах застосовуються ті ж правила, що і для таблиць. Редагування даних, даних, які включені в представлення, можливе тільки при певних умовах. Наприклад, в тому випадку, коли представлення створене на основі тільки однієї таблиці.
Для відображення і редагування даних використовуються форми, звіти, запити і програми. Для створення форм, звітів і запитів використовуються конструктори. Форми і звіти є складними об’єктами, оскільки вони складаються з дрібніших об’єктів (таких, як поля, кнопки, діаграми, рамки, OLE-компоненти тощо), які називаються об’єктами інтерфейсу.
Форми використовуються для перегляду чи вводу даних в таблиці. Звіти використовуються для друку інформації, яка знаходиться в базі даних.
Запити є засобом вибірки даних з однієї чи декількох таблиць. В Visual FoxPro для створення запиту можна використовувати як конструктор запитів, так і спеціалізовану мову Structured Query Language (SQL). Результати виконання запита можуть відображатись в формі, виводитись у вигляді звітів і діаграм чи зберігатись у вказаній таблиці.
Програми, написані на мові Visual FoxPro, є об’єктно-орієнтованими. З допомогою них обробляються події в формі, створюються об’єкти, виконуються обчислення, здійснюється управління базою даних. Для зручності роботи є можливість об’єднати програми в бібліотеки.
Щоб створити форму в Visual FoxPro, можна використовувати не тільки базові класи, але й створювати власні. Класи, створені в Visual FoxPro, зберігаються в бібліотеках класів.
Для об’єднання компонентів створюваної програми використовується проект, в який включаються всі перелічені компоненти. Використання проекта спрощує розробку програми і його супровід.
Visual FoxPro надає можливість зберігати параметри основного вікна Visual FoxPro, налаштування таблиць, параметри вікон діалогу і панелі інструментів з допомогою файлу параметрів налаштування.
Кожен компонент зберігається в окремому файлі, причому імена файлів, що містять основні компоненти, задаються користувачем, а найменування файлів, що містять об’єкти, пов’язані з таблицею, зпівпадають з ім’ям таблиці. В залежності від типу об’єкта, що міститься у файлі, Visual FoxPro автоматично присвоює кожному файлу розширення, яке допомогає в ідентифікації об’єкта. Перелік розширень файлів наведений в таблиці 32.
Таблиця SEQ Таблиця \* ARABIC 32. Розширення імен файлів об’єктів Visual FoxPro
Назва об’єкта |
Розширення |
Проект |
PRJ, FPC, CAT, PJX, PJT |
База даних |
DBC |
Таблиця Visual FoxPro |
DBF |
Складений індексний файл |
CDX |
Memo-поле і поле типу General |
FRT |
Форма |
SCX |
Запит |
QPR |
Звіт |
FRX, FRM |
Поштова наклейка |
LBX, LBL |
Меню |
MNX |
Бібліотека класу |
VCX |
Програма, бібліотека програм, текст меню, текст запита |
PRG, FXP, MPR, QPR |
Малюнок |
BMP, JPG, GIF, ICO, DIB, CUR, ANI |
Звукозапис |
WAV |
Загальна структура програмного забезпечення наведена в додатку 22. Його можна умовно поділити на наступні модулі:
-
-
-
-
До інтерфейсу входять меню, форми (для вводу, відображення та редагування інформації) та модуль допомоги. За допомогою саме цих модулів відбувається обмін інформацією між системою і користувачем.
Блок обчислень складається з програм і процедур, за допомогою яких над даними виконуються необхідні дії, проводяться розрахунки.
Система управління базою даних (СУБД) складається з власне СУБД (спеціальні бібліотеки та інші засоби Visual FoxPro) та бази даних, яка, в свою чергу, включає в себе набір таблиць і файл бази даних. В файл бази даних входить інформація про зв’язок таблиць, процедури, представлення даних, тригери та інша додаткова інформація.
В блок формування звітів можуть входити програми, процедури, запити і звіти.
3.2 Розробка програмних модулів
Під час роботи система використовує наступні модулі:
- Startprog;
- Formob;
- Rozsal;
- Rozsalp;
- Formaz;
- Formjo;
- Formov;
- Formop.
Модуль Startprog є головною програмою, яка керує роботою системи і в ході роботи викликає необхідні компоненти. Лістинг програми наведено в додатку 22.
Модуль Formob формує оборотну звітність за вказане число.
Модуль Rozsal розраховує сальдо на поточний період на вказане число. Лістинг програми наведено в додатку 23.
Модуль Rozsalp розраховує сальдо на початок періоду.
Модуль Formaz формує акт звірки.
Модуль Formjo формує журнал-ордер по вказаному рахунку.
Модуль Formov формує оборотну відомість.
Модуль Formop формує список операцій по партнеру.
3.3 Практична реалізація системи
Розроблена в даному дипломному проекті комп’ютерна система є автоматизованою системою обліку і аналізу розрахунків з постачальниками і підрядниками. Практична реалізація системи обліку і аналізу була здійснена за допомогою СУБД Microsoft Visual FoxPro.
Враховуючи сучасні напрямки та перспективи розвитку комп’ютерних технологій, можливість організації зручного діалогу користувача з комп’ютером, застосування для реалізації спроектованої системи Microsoft Visual FoxPro доцільно встановити вимогу щодо роботи програми під сучасними операційними системами типу Windows 95, Windows 98, Windows NT. Дані системи мають надзвичайно широке поширення і вже зараз використовуються на більшості комп’ютерів, які застосовуються для автоматизації управлінської діяльності.
Операційна система Windows 95 призначена для інсталяції на персональних комп’ютерах, які мають процесор типу Intel 80386DX, 80486 або Pentium. Об’єм оперативної пам’яті повинен бути не менше 4 Мбайт. Але для підвищення швидкодії роботи системи необхідно мати 486-й процесор з частотою 66 МГц і вище або Pentium. Для одночасної роботи з кількома програмами доцільно мати від 16 Мбайт оперативної пам'яті.
ОС Windows 95 займає приблизно 50 Мбайт дискового простору, при мінімальній інсталяції - приблизно 30 Мбайт. Крім того, від 10 до 30 Мбайт необхідно для організації віртуальної пам'яті.
Створена система також вимагає наявності на комп’ютері СУБД Visual FoxPro, адже виконувальний файл R60.exe при роботі використовує ресурси з бібліотеки Visual FoxPro для організації роботи з базами даних.
Узагальнюючи вимоги для розробленої системи і додавши вимоги для MS Visual FoxPro можна зробити висновок, що робоча станція, за якою працюватиме користувач з системою обліку і аналізу розрахунків з постачальниками і підрядниками повинна містити операційну систему Windows 9х/NT і мати наступну конфігурацію:
- 80486 чи більш потужний (мінімум процесор 80486 з тактовою частотою 66МГц)
- мінімум 16 Мбайт оперативної пам'яті (рекомендується 16 Мбайт і більше)
- 300 Мбайт вільного місця на вінчестері
- VGA або SVGA
-
Стосовно професійної кваліфікації обслуговуючого персоналу, дана програма не вимагає глибоких знань в комп’ютерній галузі. Робота з системою обліку і аналізу розрахунків з постачальниками вимагає лише наявності базових навиків в роботі з ОС Microsoft Windows 95 (Microsoft Windows 98 чи Microsoft Windows NT). Оператору повинні бути знайомі наступні поняття і навики:
- використання меню “Пуск” (“Start”) для виклику програм;
- прийоми роботи з вікнами;
- робота з меню;
- використання керуючих елементів діалогу;
- стандартні діалоги;
- налаштування операційної системи Microsoft Windows 95 (Microsoft Windows 98, Microsoft Windows NT) з допомогою панелі управління.
Розглянемо дії користувача при роботі з системою. Оператор системи обліку і аналізу розрахунків з постачальниками (бухгалтер) запускає програму на виконання (виконувальний файл R60.exe), або з командної стрічки, або за допомогою ярлика, який викликає цей файл. На екрані з’являється головне вікно програми, яке представлено в додатку 25. В головному меню знаходяться два основних пункти, які також продубльовані на стандартній панелі інструментів у вигляді кнопок:
- “Партнери”;
- “Друк”.
На даній панелі інструментів також знаходяться поля редагування, з допомогою яких користувач може ввести дату початкового періоду (від неї будуть розраховуватись звіти по замовчуванню).
При натискуванні на кнопку “Партнери” з’являється форма з списком партнерів, яка наведена у додатку 26, і панель інструментів для роботи з нею. В даній формі містяться наступні елементи:
- список партнерів для вибору;
- фільтр партнерів по категоріям (фізичні або юридичні особи);
- кнопка активації фільтра;
- поле для виводу загальної інформації про партнера.
Панель інструментів складається з кнопок:
- “Добавлення нового партнера”;
- “Відкриття журналу операцій по партнерові”;
- “Картка партнера”;
- “Знищення партнера”;
- “Пошук”;
- “Перехід в початок списку”;
- “Перехід в кінець списку”;
- “Сортування записів”.
Для добавлення нового партнера натискається кнопка “Добавлення нового партнера”, яка викликає форму “Картка партнера” для вводу даних про партнера, представлену в додатку 27. Дана форма викликається також і при натисненні кнопки “Картка партнера” при необхідності перегляду або редагування даних про партнера. При цьому партнер, реквізити якого необхідно переглянути чи редагувати, повинен бути попередньо вибраний зі списку партнерів в формі “Партнери”.
Отже, при добавленні нового партнера у формі “Картка партнера” користувач поступово вводить всі реквізити партнера. Для цього форма містить наступні вкладки:
- “Дані” (містить поля для вводу загальних реквізитів, які можуть бути лише одні для кожного партнера);
- “Р/р” (містить список розрахункових рахунків партнера з реквізитами, кнопки управління записами, якими, зокрема, викликається форма для вводу реквізитів рахунку);
- “Телефони” (містить список телефонів партнера з вказанням типу зв’язку. Працює аналогічно вкладці “Р/р”);
- “Адреси” (містить список адрес партнера. Працює аналогічно вкладці “Р/р”);
- Нотатки (містить поле для вводу нотатки).
Форма “Картка партнера” також містить поле, в якому виводиться інформація про дату останньої модифікації даної картки.
Після завершення вводу, перегляду чи редагування даних натисненням кнопки “ОК” користувач повертається до форми “Партнери”.
При натисненні на кнопку “Відкриття журналу операцій по партнерові” на панелі інструментів, з’являється форма “Обороти по рахунку 60”, яка представленя в додатку 28. В ній містяться наступні об’єкти:
- поле для виводу назви обраного партнера, по якому відкрито журнал операцій;
- поля для вводу початкового сальдо по дебету і кредиту рахунка №60;
- поля для відображення обороту і кінцевого сальдо по дебету і кредиту рахунка №60;
- таблиці для перегляду інформації про здійснені операції по дебету і кредиту рахунка №60, які використовуються також для вибору операції для її редагування або знищення;
- набори кнопок для добавлення простої чи складної проводки, редагування, знищення, сортування і пошук операцій, переходу до першої або останньої операції;
- кнопки “Акт звірки”, “Проводки”, “Документи” для формування, перегляду і друку звітів;
- кнопку “Вихід” для закриття журналу операцій і повернення в форму “Партнери”.
Для добавлення операції по партнеру, який вибрано з списку партнерів в формі “Партнери” необхідно, знаходячись в формі “Обороти по рахунку 60” натиснути кнопку “Добавлення операції”. При цьому викликається форма для вводу даних про операцію, яка представлена в додатку 29. Дана форма викликається також при натисненні кнопки “Редагування операції”, коли необхідно редагувати операцію. Форма містить наступні елементи:
- поле для вводу номера рахунка, по якому проводиться операція;
- поле для вводу суми операції;
- поле для вводу дати проведення операції;
- поле для вводу номера документа, на основі якого здійснюється операція;
- кнопки “Записати” та “Відмова” для закриття форми із збереженням та без збереження змін відповідно.
Після добавлення чи редагування операції користувач повертається до форми “Обороти по рахунку 60”.
Для друкування звітів на стандартній панелі інструментів знаходиться кнопка “Друк”, натискання на яку приводить до появи форми “Друк звітів”, яка приведена в додатку 30. Форма містить список звітів і кнопки “Друк” та “Вихід”. Друк звіту здійснюється шляхом вибору необхідного звіту зі списку звітів і натиснення кнопки “Друк”. При цьому можуть з’явитись вікна для вводу додаткових параметрів і вікна налаштування друку, в яких користувач може задати параметри друку.
Висновки
В дипломному проекті спроектовано систему обліку і аналізу розрахунків з постачальниками і підрядниками.
Було проведено дослідження технології ведення обліку розрахунків з постачальниками і підрядниками у ПП “Біомед”, вивчено структуру та функції оперативного управління, наявне програмне та апаратне забезпечення, комплекс задач, що вирішується ним.
Побудовано структурну схему системи, розроблено математичний апарат, інформаційне забезпечення для реалізації більш досконалого рішення даної задачі. Для досягнення цього був використаний метод аналізу існуючої системи на основі потоків даних різного рівня деталізації.
У першому розділі проекту проаналізовано роботу ПП “Біомед” та систему управління ним, розглянуто інформацію, яка циркулює в досліджуваній системі, вивчено існуючі методи збору, обробки та зберігання інформації, виявлено ряд недоліків.
Результатом другого розділу є спроектована модель системи з урахуванням недоліків. Для розробки програмного забезпечення розроблене інформаційне забезпечення, спроектовано даталогічну модель системи. В цьому ж розділі наведено математично-алгоритмічне забезпечення функціонування системи.
Розроблена в дипломному проекті інформаційна система забезпечить гнучкість процесу обліку розрахунків з постачальниками і підрядниками, надасть можливості для аналізу проведених розрахунків для прийняття оптимальних управлінських рішень.
Література
1.
1.
2.
3.
4. ых систем.- М.: Финансы и статистика, 1984.
5. Коутс Р., Влейминк И. Интерфейс «Человек компьютер»: Пер. с англ.- М.:Мир, 1990.
6.
7. экономическая информатика и АСУ/ Б.Е.Одинцов. - Львов: Вища школа, ЛГУ, 1990. - 67 с.
8.
9. Visual FoxPro 6.0. – Санкт-Петербург: BHV, 1999. – 500 с.
10.
11.
12.
13.
14.
15.
16.
Відділ маркетингу |
Юрист |
Заступник директора |
Бухгалтерія |
Склад |
Відділ реалізації |
Директор |
Власник |
Оприбуткування товарів |
Кінець |
Початок |
Журнал-ордер |
Журнал операцій |
Журнал операцій |
Журнал операцій |
Журнал операцій |
Платіжні доручення |
Розхідні накладні |
Облік оплати |
Оборотно- сальдова відомість |
Формування журнала- ордера |
Формування оборотно-сальдової відомості |
|
|
|
|
|
|
|
|
|
|
|
Система обліку і аналізу розрахунків з постачальниками і підрядниками |
|
|
|
|
|
|
|
|
|
|
|
3 Друк і передача результатних документів |
2 Формування результатних документів |
|
1 Ввід даних |
|
|
|
|
|
|
|
|
|
|
|
1.3 Звірка і корекція БД |
1.2 Запис на магнітний носій |
1.1 Ввід даних про постачальника |
|
Журнал-ордер |
Акт звірки |
Узагальнені сальдові відомості |
Узагальнені оборотні відомості |
Сальдові відомості |
Оборотні відомості |
Дані про операції |
2.1 Формування оборотних відомостей |
2.6 Формування акту звірки |
2.5 Формування журналу-ордеру |
2.4 Формування узагальнених сальдових відомостей |
2.3 Формування сальдових відомостей |
2.2 Формування узагальнених оборотних відомостей |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Додаток 9
Постачальник: _________________________
Адреса: _______________________________
тел. ____________ факс _________________
Банк: _________________________________
р/р № _____________________ МФО ___________ Код: _______________
Розхідна накладна № _______________ від _______________
Отримувач: ____________________________
Адреса: _______________________________
тел. ____________ факс _________________
Банк: _________________________________
р/р № _____________________ МФО ___________ Код: _______________
Через
доручення: ___________________ від ___________________
Договір /контракт/ № _____________________
Дата сплати: ______________ Умови відпуску ________________________
№ пп |
Серія |
Найменування |
Од. вим. |
Кількість |
Вартість митна (імп.) завода-вироб. (укр.) |
Націнка % |
Ціна відпускна в ГРН. |
Сума відпускна в ГРН |
Сума ПДВ |
Сума до оплати з урах. ПДВ |
|
Всього |
|||||||||||
(сума прописом)
в тому числі ПДВ/без ПДВ: ______________
Документ склав: _________________________________________________
(П.І.Б.)
Товар відпустив: _________________________________________________ Товар отримав: _____________________________________
(П.І.Б.) (П.І.Б.)
Додаток 10
Платіжне доручення № _________
від «___» ______________ 200__ р.
Одержано банком
«___» ___________ 200__ р.
Платник _________________________
Код за
ЄДРПОУ
код банку ДЕБЕТ СУМА
Банк платника
рах. №
Одержувач _______________________
Код за КРЕДИТ
ЄДРПОУ
код банку рах. №
Банк одержувача
рах. №
Сума (словами)
____________________________________________________________________________
Призначення платежу _________________________________________________________
Проведено банком
|
Підписи платника
підпис банку
Додаток 11
Обороти по дебету
(дебет 60 кредит __)
Дата |
Сума |
Партнер |
Коментар |
|
Обороти по кредиту
(кредит 60 дебет __)
Дата |
Сума |
Партнер |
Коментар |
Додаток 13
Оборот по дебету
(загальні суми)
Включно по _______________________
Назва (партнер) |
Загальна сума |
|
Оборот по кредиту
(загальні суми)
Включно по _______________________
Назва (партнер) |
Загальна сума |
|
Сальдо на початок місяця
(на _____________________)
Назва (партнер) |
Дебет |
Кредит |
Всього |
||
Згорнуте |
|
Сальдо на кінець місяця
(на _____________________)
Назва (партнер) |
Дебет |
Кредит |
Всього |
||
Згорнуте |
Додаток 17
Узагальнена сальдова відомість
Сальдо на початок місяця (на ______________________________) |
||
Дебет |
Кредит |
Згорнуте |
Сальдо на кінець місяця (на ______________________________) |
||
Дебет |
Кредит |
Згорнуте |
|
Журнал-ордер
Дебет |
Кредит |
Сума |
60 |
||
Всього по дебету |
||
60 |
||
Всього по кредиту |
|
Акт звірки
«___» _________________ 200__р.
Партнер: _____________________________________
Дебет |
Дата |
Номер документа |
|||
|
Т54 |
Т53 |
Т52 |
Т45 |
Т51 |
Т50 |
Т49 |
Т48 |
Т47 |
Т46 |
Т43 |
Т44 |
Т39 |
Т42 |
Т41 |
Т40 |
Т37 |
Т38 |
Т30 |
Т36 |
Т35 |
Т34 |
Т33 |
Т32 |
Т31 |
Т27 |
Т28 |
Т26 |
Т25 |
Т29 |
Т55 |
Т56 |
Т24 |
Т23 |
Т22 |
Т21 |
Т18 |
Т16 |
Т15 |
Т14 |
Т20 |
Т19 |
Т17 |
Т6 |
Т12 |
Т13 |
Т11 |
Т4 |
Т10 |
Т8 |
Т5 |
Т2 |
Т9 |
Т7 |
Т3 |
Т1 |
Додаток 20 (продовження)
Т57 |
Т11 |
Т61 |
Т58 |
Т60 |
Т59 |
Т62 |
Т63 |
Т65 |
Т64 |
Т66 |
Т67 |
Т69 |
Т68 |
Т76 |
Т70 |
Т71 |
Т72 |
Т74 |
Т75 |
Т73 |
Т77 |
Т78 |
Т79 |
Т80 |
Т11 |
Т81 |
Т82 |
Т83 |
Т84 |
Т85 |
Т86 |
Т87 |
Т88 |
Т89 |
Т90 |
Т91 |
Т92 |
Т93 |
Т94 |
Т95 |
Т96 |
Т99 |
Т98 |
Т97 |
Т100 |
Т101 |
Т102 |
Т103 |
Т105 |
Т104 |
Т106 |
Т107 |
Т108 |
Т109 |
СУБД |
БД (Database, tables) |
Блок формування звітів (Queries, reports, views) |
Блок обчислень (Procedures, programs) |
Інтерфейс (Menu, forms, help) |
Додаток 22
Parameters _rah
if parameters() = 0
howrah = 0
else
if type("_RAH") = "C"
howrah = _rah
else
howrah = alltrim(str(_rah))
endif
endif
*HOWRAH = '62'
_screen.caption = 'Рахунок'
******** SetSet
_screen.windowstate = 2
_SCREEN.CLS
clear wind all
CLOSE ALL
set dele on
set excl off
set multi on
set confirm on
set point to ','
set separator to [']
set reprocess to 5
PUSH MENU _msysmenu
hide menu _msysmenu
set dele on
SET TALK OFF
SET SAFETY OFF
SET DATE GERMAN
set escape off
set century on
************* Означення глобальних змінних
public gnpdv, znak, kurs, _YY_, _MM_, _yyarh_, _arh_, ACTIWIND, activind2, archiv, findstr, _minprcnad,
apname, findstr
public basesrahs, beforemm, beforeyear, _srtable_, _sttable_, _typeprn_
store ' ' to _sttable_, _srtable_, _tmpdt_, _tmpkt_, _typeprn_
********* Визначення базової директорії
ff = sys(16)
if 'FXP' $ FF OR 'PRG' $ FF
tt = rat('\',ff)
ff = left(ff,tt-1)
tt = rat('\',ff)
ff = left(ff,tt-1)
else
tt = rat('\',ff)
ff = left(ff,tt-1)
ENDIF
set defa to &ff
*-- Save and configure environment.
fpath = sys(5)+sys(2003)
g2 = fpath+'\sysapps;'
g3 = fpath+'\temp;'
g4 = fpath+'\datsets;'
g5 = fpath+'\reports;'
gpath = fpath+';'+ g2 +g3+g4+g5
set path to &gpath
if empty(howrah)
howrah = '60'
endif
_pathrah1 = alltrim(howrah)
hh = alltrim(howrah)
if len(hh) =2
*** добавляємо 00
_srtable_ = 'sr'+hh+'00'
else
_srtable_ = 'sr'+hh
endif
Додаток 22 (продовження)
_sttable_ ='set'+hh+'r'
g1 = fpath+'\R'+_pathrah1+';'
gpath = gpath+g1
SET PATH TO &gpath
if !file(_srtable_+'.dbf')
* create table &_srtable_ (pathfind m(4), archfind c(150), othefind c(150), basepath c(50))
* append blank
* use
* do form finddata to yy
* if empty(yy)
= messagebox("не знайдено файлу конфігурації")
close all
quit
* endif
endif
select 0
use &_srtable_
serverpath = pathFIND
_typeprn_ = typeprn
use
gpath = gpath+serverpath
SET PATH TO &gpath
SET CLASSLIB TO RAHS, diagram ADDITIVE
lcOnShutdown="ShutDown()"
ON SHUTDOWN &lcOnShutdown
ON ERROR ErrorHandler(ERROR(),PROGRAM(),LINENO())
*ON ERROR
_shell="DO Cleanup IN startprg"
apname = space(30)
findstr = space(20)
actiwind2 = .f.
public row_dos
row_dos = 63
_minprcnad = 40
findstr = space(50)
archiv = .f.
*SET PROC TO
SET PROCEDURE TO LIBRARY ADDITIVE
*ll = sysacces("0000003")
*if ll = -1
* close table all
* close data all
* ON ERROR
* ON SHUTDOWN
* retu
*endif
*-- Instantiate application object.
if !directory('temp')
md temp
endif
do setsetup
*do formclie
RELEASE goApp
PUBLIC goApp
goApp=CREATEOBJECT("cApplication")
goapp.appsoft = 0
*goapp.level = ll
*-- Configure application object.
otlb=createobject("tlbs")
*Otlb.Dock(0)
Додаток 22 (продовження)
Otlb.Show()
goApp.SetCaption('Рахунок '+alltrim(basesrahs))
goApp.cStartupMenu="MENUMENU.mpr"
do form f0000000
beforemm = _mm_
beforeyy = _yy_
*-- Show application.
goApp.Show
*-- Release application.
RELEASE goApp, otlb
*-- Restore default menu.
POP MENU _msysmenu
*-- Restore environment.
close table all
close data all
ON ERROR
ON SHUTDOWN
RETURN
*******************************************
FUNCTION ErrorHandler(nError,cMethod,nLine)
LOCAL lcErrorMsg,lcCodeLineMsg
WAIT CLEAR
lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)
lcErrorMsg=lcErrorMsg+"Method: "+cMethod
lcCodeLineMsg=MESSAGE(1)
IF BETWEEN(nLine,1,10000) AND NOT lcCodeLineMsg="..."
lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine))
IF NOT EMPTY(lcCodeLineMsg)
lcErrorMsg=lcErrorMsg+CHR(13)+lcCodeLineMsg+chr(13)+chr(13)+'Припинити роботу?..'
ENDIF
ENDIF
IF MESSAGEBOX(lcErrorMsg,20,_screen.Caption)#6
RETURN .F.
else
QUIT
ENDIF
ENDFUNC
****************************************************
FUNCTION ShutDown
IF TYPE("goApp")=="O" AND NOT ISNULL(goApp)
RETURN goApp.OnShutDown()
ENDIF
Cleanup()
QUIT
ENDFUNC
FUNCTION Cleanup
IF CNTBAR("_msysmenu")=7
RETURN
ENDIF
ON ERROR
ON SHUTDOWN
SET CLASSLIB TO
*SET PATH TO
Додаток 22 (закінчення)
*CLEAR ALL
CLOSE ALL
close table all
close data all
POP MENU _msysmenu
RETURN
Додаток 23
* p0000004
* Сальдо на поточний період на вказане число
local _nameorg, _ends
public fdata
lday = cdm(_mm_,_yy_)
fdata = ctod(str(lday,2)+'/'+str(_mm_,2)+'/'+str(_yy_,4))
do form getdata3 to ll
if empty(ll)
rele fdata
retu
endif
set textmerge on
set textmerge to t100004.txt noshow
set console off
public _br, ld, lk
_br = basesrahs
clrecv = ifused("recv")
clbases = ifused("bases")
clsaldos = ifused("saldos")
clclients = ifused(_clunions_)
_nameorg = recv.name
if clrecv
use in recv
endif
************************************************************************************
* Відбір даних по Д-ту вказаного рахунку
* та формування масиву відповідних рахунків
select * from bases ;
into table tdt1;
where dt = _br and month = _mm_ and year = _yy_ ;
order by codep
select * from tdt1 ;
into table tdt;
where daten <= fdata;
order by codep
public dime rds(1)
select distinct kt from tdt into array rds
ld = alen(rds)
if ld = 1 and empty(rds(1))
rds(1) = ' '
endif
dime sds(ld), zds(ld)
store 0 to sds, zds
************************************************************************************
* Відбір даних по K-ту вказаного рахунку
* та формування масиву відповідних рахунків
select * from bases ;
into table tkt1;
where kt = _br and month = _mm_ and year = _yy_;
order by codep
select * from tkt1 ;
into table tkt;
where daten <= fdata;
order by codep
public dime rks(1)
select distinct dt from tkt into array rks
lk = alen(rks)
if lk = 1 and empty(rks(1))
rks(1) = ' '
endif
dime sks(lk), zks(lk)
store 0 to sks, zks
*****************************************************
* Загальні суми
Додаток 23 (продовження)
store 0 to z_spd, z_spk, z_skd, z_skk, z_sod, z_sok
* по одному клієнту
* _spd - сальдо початкове по Д-ту
* _spk - сальдо початкове по К-ту
* _skd - сальдо кінцеве по К-ту
* _skk - сальдо кінцеве по Д-ту
* _sod - обороти по Д-ту
* _sok - обороти по К-ту
*
select (_clunions_)
do dgr_box with recc(), 'Побудова кінцевого сальдо','Pax.'+alltrim(_br)
\ <<_nameorg>>
\ Сальдо на кінець місяця по <<alltrim(_br)>> рах. Період: <<mstn(_mm_)>> <<_yy_>>p.
stor = 2
do sh00004
stor = stor +5
*set order to tag namep
npp = 0
scan
STORE 0 TO SKS, SDS
do dgr_mov
cd = codep
store 0 to _spd, _spk, _skd, _skk, _sod, _sok
select saldos
locate for codep = cd and month = _mm_ and year = _yy_ and dt = _br
if found()
_spd = sumdt
_spk = sumkt
endif
select tdt
scan for codep = cd and month = _mm_ and year = _yy_
for i = 1 to ld
if kt = rds(i)
sds(i) = sds(i) + sum &&накопичення по колонках
_sod = _sod +sum &&накопичення по рядку по Д-ту
endif
endfor
endscan
select tkt
scan for codep = cd and month = _mm_ and year = _yy_
for i = 1 to lk
if dt = rks(i)
sks(i) = sks(i) + sum &&накопичення по колонках
_sok = _sok +sum &&накопичення по рядку по K-ту
endif
endfor
endscan
_ends = _spd + _sod -(_spk + _sok)
do case
case _ends > 0
_skd = _ends
_skk = 0
case _ends < 0
_skk = (-1)*_ends
_skd = 0
endcase
*********************************************************************************
* Перевірка чи вносити рядок в TXT-файл
if empty(_sKd) and empty(_sKk) &&and empty(_sod) and empty(_sok)
* недрукуємо
else
*друкуємо
sele (_clunions_)
npp = npp+1
\<<str(npp,5)>>|<<left(namep,40)>>|
*** сальдо кінцеве
\\<<iif(empty(_skd),space(10), str(_skd,10,2))>>|
\\<<iif(empty(_skk),space(10), str(_skk,10,2))>>
**** підрахунок загальний сум
* поч.сальдо
z_spd = z_spd + _spd
Додаток 23 (продовження)
z_spk = z_spk + _spk
* Д-т
z_sod = z_sod + _sod
for i = 1 to ld
zds(i) = zds(i) + sds(i)
endfor
*К-т
z_sok = z_sok + _sok
for i = 1 to lk
zks(i) = zks(i) + sks(i)
endfor
* кін.сальдо
z_skd = z_skd + _skd
z_skk = z_skk + _skk
*******************************************
* Сторінка
stor = stor +1
if stor >=59
\<<chr(12)>>
stor = 7
do sh00004
endif
endif
select (_clunions_)
endscan
************
* Вивід загальних сум
do l00004
stor = stor +1
if stor >=59
\<<chr(12)>>
stor = 7
do sh00004
endif
\<<space(5)>>|<<padc('*** Всього ***',40,' ')>>|
*** сальдо кінцеве
\\<<iif(empty(z_skd),space(10), str(z_skd,10,2))>>|
\\<<iif(empty(z_skk),space(10), str(z_skk,10,2))>>
\ Згорнуте <<str(z_skd-z_skk,10,2))>>
\<<space(20)>>
do dgr_end
if clclients
sele (_clunions_)
use
endif
if clbases
use in bases
endif
if clsaldos
use in saldos
endif
if used("tdt")
use in tdt
endif
if used("tkt")
use in tkt
endif
if file("tdt.dbf")
erase tdt.dbf
endif
if file("tk.dbf")
erase tkt.dbf
endif
if used("tdt1")
use in tdt1
endif
if used("tkt1")
use in tkt1
endif
if file("tdt1.dbf")
erase tdt1.dbf
Додаток 23 (закінчення)
endif
if file("tkt1.dbf")
erase tkt1.dbf
endif
set textmerge to
set textmerge off
set console on
rele _nameorg, lk, ld, _br, _spd, _spk, _skd, _skk, _sod, _sok
rele z_spd, z_spk, z_skd, z_skk, z_sod, z_sok, sks, zks, sds, zds, rks, rds, fdata
**************************************
*
**************************************
PROCEDURE sh00004
* 1.
\-----+----------------------------------------+---------------------
* 2.***<<padc('П О С Т А Ч А Л Ь Н И К И
\ |<<space(40)>>|<<padc(' Сальдо на кін.місяця',21,' ')>>
* 3.
\ № +<<padc('П О С Т А Ч А Л Ь Н И К И',40,' ')>>+----------+----------
* 4.
\ |<<SPACE(40)>>+<<padc('Дебет',10,' ')>>+<<padc('Кредит',10,' ')>>
* 5.
\-----+----------------------------------------+----------+----------
RETU
**************************************
*
**************************************
PROCEDURE l00004
\-----+----------------------------------------+----------+----------
RETU
Додаток 2