Информационная система (ІНФОРМАЦІЙНА СИСТЕМА ОБЛІКУ І АНАЛІЗУ РОЗРАХУНКІВ З ПОСТАЧАЛЬНИКАМИ І ПІДРЯДНИКАМИ)
Міністерство освіти і науки України
Тернопільська академія народного господарства
Інститут комп’ютерних інформаційних технологій
Кафедра моделювання та оптимізації економічних систем і процесів
ІНФОРМАЦІЙНА СИСТЕМА ОБЛІКУ І АНАЛІЗУ РОЗРАХУНКІВ З ПОСТАЧАЛЬНИКАМИ І ПІДРЯДНИКАМИ
(на прикладі ПП «Біомед»)
Дипломний проект
Спеціальність 7.050207 "Інформаційні системи в менеджменті"
студент групи ІСМ-51 Г. Конєв
Керівник к.т.н.,
доцент І. Білоусов
Зав. кафедри МОЕСП
К.е.н., доцент Г. Гладій
2
НОТАЦІЯ
дипломного проекту Конєва Григорія Борисовича
"Інформаційна система обліку і аналізу розрахунків з постачальниками і підрядниками"
(на прикладі ПП “Біомед”)
ТАНГ, IКIТ, кафедра ІІТ, група IСМ- 51, 2 рік.
Обсяг дипломного проекту 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, 2.
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 |
Вступ.........................................................................................
1. Аналіз потреб ПП “Біомед” в створенні КІС обліку і аналізу розрахунків з постачальниками і підрядниками............................................
1.1. Характеристика ПП “Біомед” і опис діючої системи обліку розрахунків з постачальниками і підрядниками............................................
1.2 Існуючі шляхи розв’язку задачі обліку розрахунків з постачальниками і підрядниками.........................................................................
1.3 Постановка задачі на проектування.............................
2. Розробка загальносистемних рішень...............................
2.1 Загальна структура розроблюваної системи...............
2.2 Математично-алгоритмічне забезпечення...................
2.3 Інформаційне забезпечення..........................................
3. Програмно-технічна реалізація системи...........................
3.1. Структура програмного забезпечення.......................
3.2. Розробка програмних модулів....................................
3.3 Практична реалізація системи......................................
Висновки.................................................................................
Література..............................................................................
Додаток 1................................................................................
Додаток 2................................................................................
Додаток 3................................................................................
Додаток 4................................................................................
Додаток 5................................................................................
Додаток 6................................................................................
Додаток 7................................................................................
Додаток 8................................................................................
Додаток 9................................................................................
Додаток 10..............................................................................
Додаток 11..............................................................................
Додаток 12..............................................................................
Додаток 13..............................................................................
Додаток 14..............................................................................
Змн. |
рк. |
№ докум. |
Підпис |
Дата |
рк. |
5 |
ІНФОРМАЦІЙНА СИСТЕМА ОБЛІКУ І АНАЛІЗУ РОЗРАХУНКІВ З ПОСТАЧАЛЬНИКАМИ І ПІДРЯДНИКАМИ |
Додаток 16..............................................................................
Додаток 17..............................................................................
Додаток 18..............................................................................
Додаток 19..............................................................................
Додаток 20..............................................................................
Додаток 21..............................................................................
Додаток 22..............................................................................
Додаток 23..............................................................................
Додаток 24……………………………………………………….99
Додаток 25……………………………………………………….100
Додаток 26……………………………………………………….101
Додаток 27……………………………………………………….102
Додаток 28……………………………………………………….103
Додаток 29……………………………………………………….104
Додаток 30……………………………………………………….105
ВСТУП
На сучасному етапі розвитку народного господарства проходить подальше вдосконалення правлінської діяльності підприємств. Зміни, які проходять в економіці країни, потребують підвищення ефективності та якості управлінської праці. Це викликано всезростаючим науково-технічним прогресом, впровадженням на промислових підприємствах досягнень науки і техніки.
Завданням переддипломної практики є ознайомлення із структурою приватного підприємства “Біомед”, оцінка комплексу технічних і програмних засобів, аналіз технології збору, обробки та передачі інформації, а також виявлення недоліків у функціонуванні системи обліку розрахунків з постачальниками і підрядниками.
Метою практики є удосконалення існуючої в приватному підприємстві “Біомед” системи обліку розрахунків з постачальниками і підрядниками та насичення її елементами аналізу і контролю. Це допоможе ефективніше правляти підприємством, приймати відповідні рішення на різних рівнях правління та, як наслідок, забезпечить отримання очікуваного прибутку.
атку 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.
Рішення даної задачі вимагає аналізу великої кількості паперової інформації і включає в себе видачу різноманітних звітів. При цьому дуже висока ймовірність допущення помилки, яку важко відшукати. Це вимагає надзвичайних витрат робочого часу та ручної праці, що не може забезпечити високої продуктивності. До того ж, ручна обробка інформації у вирішенні задач такого типу є морально застарілим підходом.
Тому доцільно реалізувати задачу обліку розрахунків з постачальниками і підрядниками на ЕОМ, щоб спростити та прискорити її розв’язання.
датку 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.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... |
Вартість |
N(8.4) |
0... |
Сума |
N(6.2) |
0...99 |
Загальна сума |
N(7.2) |
0...99 |
Документ “Платіжне доручення” містить інформацію про оплату поставленого товару (дата оплати, сума, назва і реквізити одержувача, призначення платежу). Цей документ заповнюється платником, після того, як здійснено оплату і банком проставлено на ньому печатки і підпис, одна його копія потрапляє до одержувача, інша повертається до платника. Документ є засвідченням факту оплати. Реквізити з нього заносяться в базу даних, де міститься інформація про всі проведені оплати. Форма документа наведена в додатку 10. Табличний опис документа представлений в таблиці 5.
Таблиця SEQ Таблиця \* ARABIC 5. Табличний опис документа "Платіжне доручення"
Назва реквізиту |
Тип та значність |
Діапазон змін |
Номер платіжного доручення |
C(5) |
|
Дата оплати |
D(8) |
|
Сума |
N(6.2) |
0...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...99 |
Назва постачальника |
C(40) |
|
Номер накладної |
C(5) |
|
Номер кредитового рахунка |
C(4) |
|
Документ “Обороти по кредиту” формується при необхідності і містить дані про обороти по кредиту рахунка №60 і дебету будь-якого з рахунків (вказується). Форма документа наведена в додатку 12. Табличний опис документа представлений в таблиці 7.
Таблиця SEQ Таблиця \* ARABIC 7. Табличний опис документа "Обороти по кредиту"
Назва реквізиту |
Тип та значність |
Діапазон змін |
Дата |
D(8) |
|
Сума |
N(6.2) |
0...99 |
Назва постачальника |
C(40) |
|
Номер накладної |
C(5) |
|
Номер дебетового рахунка |
C(4) |
|
Документ “Загальний оборот по дебету” формується в кінці місяця і містить дані про оборот по дебету рахунка №60 в розрізі постачальників. Форма документа наведена в додатку 13. Табличний опис документа представлений в таблиці 8.
Таблиця SEQ Таблиця \* ARABIC 8. Табличний опис документа "Загальний оборот по дебету"
Назва реквізиту |
Тип та значність |
Діапазон змін |
Сума |
N(7.2) |
0...99 |
Назва постачальника |
C(40) |
|
Звітний місяць |
D(6) |
|
Документ “Загальний оборот по кредиту” формується в кінці місяця і містить дані про оборот по кредиту рахунка №60 в розрізі постачальників. Форма документа наведена в додатку 14. Табличний опис документа представлений в таблиці 9.
Таблиця SEQ Таблиця \* ARABIC 9. Табличний опис документа "Загальний оборот по кредиту"
Назва реквізиту |
Тип та значність |
Діапазон змін |
Сума |
N(7.2) |
0...99 |
Назва постачальника |
C(40) |
|
Звітний місяць |
D(6) |
|
Документ “Сальдо на початок місяця” формується на початку місяця і містить дані про залишок на дебеті чи кредиті рахунка №60 в розрізі постачальників. Форма документа наведена в додатку 15. Табличний опис документа представлений в таблиці 10.
Таблиця SEQ Таблиця \* ARABIC 10. Табличний опис документа “Сальдо на початок місяця”
Назва реквізиту |
Тип та значність |
Діапазон змін |
Дебетове сальдо |
N(7.2) |
0...99 |
Кредитове сальдо |
N(7.2) |
0...99 |
Назва постачальника |
C(40) |
|
Звітний місяць |
D(6) |
|
Документ “Сальдо на кінець місяця” формується в кінці місяця і містить дані про залишок на дебеті чи кредиті рахунка №60 в розрізі постачальників. Форма документа наведена в додатку 16. Табличний опис документа представлений в таблиці 11.
Таблиця SEQ Таблиця \* ARABIC 11. Табличний опис документа “Сальдо на кінець місяця”
Назва реквізиту |
Тип та значність |
Діапазон змін |
Дебетове сальдо |
N(7.2) |
0...99 |
Кредитове сальдо |
N(7.2) |
0...99 |
Назва постачальника |
C(40) |
|
Звітний місяць |
D(6) |
|
Документ “Узагальнена сальдова відомість” формується в кінці місяця і містить дані про залишок на дебеті чи кредиті рахунка №60. Форма документа наведена в додатку 17. Табличний опис документа представлений в таблиці 12.
Таблиця SEQ Таблиця \* ARABIC 12. Табличний опис документа “ загальнена сальдова відомість ”
Назва реквізиту |
Тип та значність |
Діапазон змін |
Дебетове сальдо на початок місяця |
N(7.2) |
0...99 |
Кредитове сальдо на початок місяця |
N(7.2) |
0...99 |
Згорнуте сальдо на початок місяця |
N(7.2) |
0...99 |
Дебетове сальдо на кінець місяця |
N(7.2) |
0...99 |
Кредитове сальдо на кінець місяця |
N(7.2) |
0...99 |
Згорнуте сальдо на кінець місяця |
N(7.2) |
0...99 |
Звітний місяць |
D(6) |
|
Документ “Журнал-ордер” формується при необхідності і містить загальні суми операцій в розрізі рахунків. Форма документа наведена в додатку 18. Табличний опис документа представлений в таблиці 13.
Таблиця SEQ Таблиця \* ARABIC 13. Табличний опис документа “Журнал-ордер”
Назва реквізиту |
Тип та значність |
Діапазон змін |
Сума |
N(7.2) |
0...99 |
Загальна сума по дебету |
N(7.2) |
0...99 |
Загальна сума по кредиту |
N(7.2) |
0...99 |
Номер дебетового рахунка |
C(4) |
|
Номер кредитового рахунка |
C(4) |
|
Документ “Акт звірки” формується при необхідності і містить дані про операції, проведені у вказану дату. Форма документа наведена в додатку 19. Табличний опис документа представлений в таблиці 14.
Таблиця SEQ Таблиця \* ARABIC 14. Табличний опис документа “Акт звірки”
Назва реквізиту |
Тип та значність |
Діапазон змін |
Сума |
N(7.2) |
0...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 Друк і передача результатних документів |
2 Формування результатних документів |
Pnijd |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Т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) |
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("3")
*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 f
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,1) 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
* p4
* Сальдо на поточний період на вказане число
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 t14.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 sh4
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 sh4
endif
endif
select (_clunions_)
endscan
************
* Вивід загальних сум
do l4
stor = stor +1
if stor >=59
\<<chr(12)>>
stor = 7
do sh4
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 sh4
* 1.
\-----+----------------------------------------+---------------------
* 2.***<<padc('П О С Т А - А Л Ь Н И К И
\ |<<space(40)>>|<<padc(' Сальдо на кін.місяця',21,' ')>>
* 3.
\ № +<<padc('П О С Т А - А Л Ь Н И К И',40,' ')>>+----------+----------
* 4.
\ |<<SPACE(40)>>+<<padc('Дебет',10,' ')>>+<<padc('Кредит',10,' ')>>
* 5.
\-----+----------------------------------------+----------+----------
RETU
**************************************
*
**************************************
PROCEDURE l4
\-----+----------------------------------------+----------+----------
RETU
Додаток 2
4
Додаток 25
Додаток 26
Додаток 27
Додаток 28
Додаток 29
Додаток 30