Автоматизована система обліку праці та зарплати
1.1 Постановка задачі
Основними завданнями обліку праці та зарплати є правильне визначення виробітку робітника і часу, затраченого на виконання робіт, отримання відомостей про виконання норм кожним працівником, точне й своєчасне нарахування заробітку кожного робітника, систематичний контроль за правильністю використання фондів заробітної плати та ін.
Основними передумовами автоматизації цієї ділянки бухгалтерського обліку є велика різноманітність форм вхідних та вихідних документів, висока трудомісткість збору, реєстрації та обробки інформації, багатогранність розв’язуваних задач та їх значимість, масовість вхідної інформації для нарахування заробітної плати та утримань‚ складність виконуваних розрахунків.
В народному господарстві України використовуються відрядна‚ погодинна та інші форми оплати праці. При відрядній формі оплата проводиться за кожну одиницю продукції або за виконаний об’єм робіт, при погодинній формі - за фактично відпрацьований час відповідно з окладом (або тарифною ставкою) працівника.
Для автоматизованої обробки інформації по обліку праці та зарплати використовуються три групи первинних документів: довідкові, оперативні та документи для внесення змін. Довідкові документи містять дані про працівника, систему оплат праці та інші відомості, потрібні для повного автоматизованого розрахунку заробітної плати. До основних довідкових документів відносяться особовий рахунок працівника, наказ про прийняття на роботу, наказ про звільнення з роботи, накази про переміщення, виконавчі листи та ін.
Оперативні документи служать для відображення поточної інформації. Основними оперативними документами є:
табель обліку робочого часу і нарахування заробітної плати (форма № 13.1) - ведеться для працівників із погодинною оплатою праці;
наряд на відрядну роботу (форма № 13.2) відображає склад виробничого завдання для виконання кожним робочим визначеної роботи на протязі розрахункового періоду;
єдиний наряд бригади (форма № 13.3) використовується при бригадній формі організації праці. Зворотна сторона документа відображає склад бригади та її виробіток;
листок тимчасової непрацездатності;
наказ про надання чергової відпустки.
Документи про внесення змін необхідні для здійснення корекції масивів машинних носіїв, створених на основі документів перших двох груп. Якщо документи перших двох груп є в основному типовими формами, то документи третьої групи мають індивідуальний (внутрішній) характер і розробляються кожним підприємством, організацією чи установою.
При автоматизованій обробці інформації по обліку праці й зарплати передбачено використання кодів: категорій та професій робітників, режимів роботи робочих і службовців, видів оплат та утримань, синтетичних рахунків та субрахунків аналітичного обліку та ін.
В Прикарпатській асоціації розвитку краю використовується погодинна система оплати праці. Заробітна плата при цьому обчислюється на основі документів про фактично відпрацьований час і документів‚ які містять різного роду доплати та утримання.
1.2 Вхідна інформація
Вхідною для даної задачі є інформація первинних документів - нарядів на виконання відрядних робіт форми № 13.2 або форми № 13.3. Дані з цих первинних документів вводяться з клавіатури ПК і записуються на ТМД у файл ZARPLATA.DAT. Структура запису вхідного файлу представлена в таблиці 1.
Таблиця 1 Структура запису файлу ZARPLATA.DAT
-
Назва реквізиту
Ідентифікатор
Значність
Тип даних
Код підприємства
SH_FIRMA
2
Символьний
Дата
DATA
2
Символьний
Шифр виробничих затрат
SZVZ
4
Символьний
Вид утримань
KOD_UTR
2
Символьний
Нарахована сума
SUMA
7(2)
Дійсний
Файл має логічне ім’я ZARPLATA.DAT, фізичне ім’я файлу - zarplata.dat, повне ім’я файлу C:\pascal\data\zarplata.dat.
Організація файлу - послідовна.
Ввід даних і запис їх у файл здійснює процедура VVID.
Вивід записів файлу на дисплей здійснюється процедурою VYVID.
1.3 Вихідна інформація
Вихідною інформацією при розв’язуванні даної задачі є відомість, форма якої представлена в таблиці 2.
Таблиця 2. Відомість утримань і внесків з оплати праці
-
Дата
Підприємство
Вид утримань
Сума
утримань
MIS
SH_FIRMA
VYD_UTR
SUMA
-
Всього по виду утримань
SUMA>vu>
Разом по відомості
SUMA>pdpr>
Показники MIS, SH_FIRMA, VYD_UTR, SUMA є полями записів вхідного файлу ZARPLATA.DAT. Підсумки по виду утримань (> >SUMA>vu>) обчислюються за формулою:
(1)
де і - кількість записів файлу ZARPLATA.DAT, в яких співпадає значення показника "вид утримань" .
Підсумки по підприємству ( SUMA>pdpr>) обчислюються за наступною формулою:
(2)
де j - кількість записів, що мають різне значення показника "код с/г підприємства".
Відомість розподілу оплати праці за видами сільськогосподарських робіт використовується для аналізу й контролю утримань з сум заробітку, для складання статистичної звітності по праці, для складання бухгалтерських проводок та ін. Ця відомість є основою для розрахунків з бюджетом за підсумками‚ утриманими із заробітної плати робітників і службовців‚ і інших платежів до бюджету‚ іншим організаціям та окремим фізичним особам.
Вихідне зведення "Відомість розподілу оплати праці за видами сільськогосподарських робіт" формується на основі даних вхідного файлу ZARPLATA.DAT, просортованого по виду оплати і отриманого таким чином файлу SZARPLATA.DAT.
Сортування вхідних даних здійснюється процедурою SORT, формування та вивід зведення на дисплей здійснюється процедурою DRUK_VIDOM.
2. Практична частина
2.1 Архітектура програми
Поставлена задача реалізується програмою KURS.
Програма складається з головного блоку та чотирьох процедур:
VVID;
VYVID;
SORT;
ZVEDENNYA.
Запуск програми здійснюється двома способами:
з головного меню інтегрованого середовища Turbo Pascal шляхом вибору опції Run (попередньо програма повинна бути завантажена в ОП - F10, File, Open, KURS.PAS);
із середовища операційної оболонки Norton Commander шляхом запуску KURS.EXE (попередньо програма повинна буди відкомпільована з опцією Destination To Memory).
Програма виводить на дисплей головного меню, котре пропонує користувачеві вибір однієї з опцій:
запис даних на диск;
вивід файлу на дисплей;
сортування записів вхідного файлу;
вивід зведення на дисплей;
завершення роботи.
При виборі певної опції викликається відповідна процедура програми. Завершення роботи програми й повернення в середовище системи програмування Turbo Pascal здійснюється при натисканні клавіші Esc, або при виборі опції "Завершення роботи". Програма формує на жорсткому диску файл послідовного доступу ZARPLATA.DAT, сортує записи цього файлу з без утворення нового дискового файлу і на основі даних файлу ZARPLATA.DAT формує та виводить на екран дисплею відомість утримань і внесків з оплати праці.
Наведемо опис процедур програми KURS.PAS.
Процедура VVID. Призначення - ввід даних з первинних документів і запис їх на диск у файл ZARPLATA.DAT. Процедура викликається з головного меню програми при виборі пункту "Запис даних на диск" (функціональна клавіша F2). Процедура виводить на дисплей екранну форму для вводу даних з первинних документів. Ввід даних здійснюється в такій послідовності:
місяць;
код сільськогосподарського підприємства;
шифр виробничих затрат;
вид утримань;
сума утримань.
Після вводу запису користувачеві пропонується продовжити ввід даних, натиснувши клавішу Enter, або завершити ввід, натиснувши клавішу Esc. В останньому випадку процедура припиняє роботу і повертає керування в програму.
Процедура VYVID. Призначення - читання вхідних даних з дискового файлу ZARPLATA.DAT та вивід їх на дисплей. Процедура викликається з головного меню програми при виборі пункту "Вивід файлу на дисплей" (функціональна клавіша F3). При ініціалізації процедури на екран виводиться екранна форма і відкривається вхідний файл ZARPLATA.DAT для читання. Записи файлу зчитуються з диска один за одним і виводяться на дисплей (див. додаток 5). Процедура завершує роботу при досягненні кінця файлу ZARPLATA.DAT і передає керування в програму.
Процедура SORT. Призначення - сортування записів вхідного файлу ZARPLATA.DAT. Процедура викликається з головного меню програми при виборі пункту "Сортування файлу" (функціональна клавіша F4). Сортування записів файлу здійснюється в пам’яті ПК методом прямого обміну. При запуску процедури записи вхідного файлу зчитуються в масив змінних, а по завершенні впорядкування переписуються у файл ZARPLATA.DAT. Після запису впорядкованого масиву на диск процедура передає керування головному блокові програми.
Процедура ZVEDENNYA. Призначення - вивід стрічки вихідного зведення на екран дисплею. Вхідна інформація для даної процедури знаходиться у файлі ZARPLATA.DAT. Виклик процедури здійснюється з головного меню програми при натисканні функціональної клавіші F7, тобто при виборі пункту "Вивід зведення на дисплей".
Дана процедура здійснює зчитування записів вхідного файлу та форматований вивід їх на друк з одночасним підрахунком підсумків по коду утримання та по коду с/г підприємства. При досягненні кінця файлу ZARPLATA.DAT процедура завершує свою роботу і передає керування в програму.
Блок-схема процедури представлена в додатку 3.
2.2 Опис програми
Програма складена і відладжена в середовищі Turbo Pascal 7.0. Опишемо призначення кожного оператора програми.
На початку програми згідно з вимогами технології програмування щодо документування програм розміщено вступний коментар до програми, а решта операторів програми мають таке призначення:
001 |
заголовок програми |
002 |
підключення зовнішнього модуля управління дисплеєм (Crt) |
003-008 |
опис структури запису вхідного файлу |
009 |
опис типованої змінної для дискових файлів |
010 |
опис дискового файлу zarplata |
011-015 |
опис робочих змінних програми |
016 |
заголовок процедури VVID |
017-019 |
початок процедури, опис мітки та очистка екрану |
020 |
відкриття дискового файлу ZARPLATA в режимі запису та дозапису |
021-022 |
присвоєння змінним і та s початкових значень |
023-029 |
вивід екранної форми для вводу даних з первинних документів та запрошення для продовження роботи або виходу з процедури вводу |
030 |
заголовок оператора приєднання |
031 |
присвоєння системній змінній CheckEof істинного значення (для організації виходу з процедури при натисканні комбінації клавіш Ctrl+Z |
032 |
Заголовок циклу вводу |
033-036 |
ввід значень змінних data (дата), sh_firma (код с/г підприємства), kod_utr (код утримань), suma (сума утримань) |
037 |
запис уведених даних у дисковий файл ZARPLATA |
038 |
збільшення номера стрічки (s) на одиницю |
039-044 |
організація вводу по сторінках: при досягненні 23 стрічки здійснюється очистка екрану (вікна вводу) |
045 |
кінець циклу вводу даних |
046 |
кінець дії оператора приєднання |
047 |
закриття оперативного файлу ZARPLATA (мітка zakr) |
048 |
кінець тіла процедури вводу вхідних даних |
049 |
заголовок процедури VYVID |
051 |
початок процедури |
052 |
відкриття дискового файлу ZARPLATA для читання записів |
053-060 |
вивід екранної форми для відображення вхідних даних |
061 |
присвоєння змінній s (номер стрічки екранної форми) початкового значення 7 |
063 |
початок циклу вводу записів файлу ZARPLATA (поки не eof) |
064 |
зчитування запису файлу ZARPLATA у змінну w1 |
065-068 |
форматований вивід полів прочитаного запису на екран |
069 |
збільшення змінної позиціонування курсору на одиницю |
070 |
кінець циклу вводу |
071 |
кінець дії оператора приєднання |
073 |
закриття дискового файлу |
074 |
пауза в роботі процедури |
075 |
кінець процедури VYVID |
076 |
заголовок процедури SORT |
077-080 |
опис локальних змінних процедури |
081 |
початок процедури |
082 |
відкриття файлу F1 для читання |
083 |
присвоєння змінній n значення‚ рівного кількості записів у вхідному файлі F1 |
084 |
зчитування записів вхідного файлу в масив змінних а |
085 |
закриття вхідного файлу F1 |
086-093 |
впорядкування елементів масиву а методом простого обміну |
094 |
відкриття файлу F2 для запису |
095 |
запис елементів масиву а в файл F2 |
096 |
закриття вхідного файлу F2 |
097 |
кінець процедури сортування |
101 |
заголовок процедури zvedennya |
103 |
початок процедури |
104 |
відкриття дискового файлу zarplata для читання |
105-112 |
вивід заголовку та шапки вихідного зведення |
113 |
читання запису файлу ZARPLATA в змінну w1 |
114 |
заголовок оператора приєднання |
115 |
заголовок циклу по кінцю файлу ZARPLATA (доки не eof) |
116 |
запам’ятовування коду с/г підприємства поочного запису (sh_firma) в змінній c |
117 |
присвоєння початкових значень змінній s1, яка призначена для підрахунку підсумків по коду с/г підприємства |
118 |
заголовок циклу по коду с/г підприємства (до тих пір c = sh_firma) |
119 |
присвоєння початкових значень змінній s2, яка призначена для підрахунку підсумків по коду утримання |
120 |
запам’ятовування коду утримання поточного запису (kod_utr) в змінній kod |
121 |
заголовок циклу по коду утримання (до тих пір поки kod = kod_utr |
122 |
накописення підсумків по коду утримань |
123 |
читання наступного запису дискового файлу ZARPLATA в змінну work |
124 |
умовний оператор, котрий перевіряє, чи досягнуто кінець файлу ZARPLATA і в разі виконання цієї умови передає керування на мітку vtn (оператор 126) |
125 |
кінець циклу по коду утримання |
126 |
вивід підсумків по коду утримання |
127 |
підрахунок підсумків по коду с/г підприємства |
128 |
кінець циклу по підприємству (по кінцю файлу) |
129-134 |
вивід підсумків по підприємству |
133 |
закриття файлу ZARPLATA |
134 |
організація паузи у виконанні програми |
135 |
кінець процедури VYVID |
137 |
початок головного блоку програми |
138 |
присвоєння дисковому файлу з логічним іменем ZARPLATA фізичного імені zarplata.dat |
139 |
заголовок циклу виводу меню програми |
140 |
початок циклу |
141-144 |
Встановлення основного та фонового кольорів, опис вікна виводу головного меню програми |
145-155 |
вивід головного меню програми |
156 |
очікування натискання клавіші на клавіатурі та присвоєння коду натиснутої клавіші змінній choise |
159 |
заголовок оператора вибору, котрий аналізує код натиснутої клавіші |
160 |
виклик процедури VVID, якщо натиснуто клавішу F2 (код клавіші 60>16>) |
161 |
виклик процедури VYVID, якщо натиснуто клавішу F3 (код клавіші 61>16>) |
162 |
виклик процедури SORT, якщо натиснуто клавішу F4 (код клавіші 62>16>) |
163 |
виклик процедури ZVEDENNYA, якщо натиснуто клавішу F7 (код клавіші 65>16>) |
164 |
оператор виходу, завершення роботи програми при натисканні клавіші Esc (код 27>16>) |
165 |
кінець оператора вибору |
166 |
кінець циклу виводу меню |
167 |
кінець програми |
Блок-схема програми представлена в додатку 2, текст програми представлена в додатку 4.
2.3 Контрольний приклад та результат машинного експерименту
Випробування будь-якої системи є найбільш відповідальним і пов’язаний з найбільшими труднощами і найбільшими втратами часу. Відпадка й тестування - найважливіші життєвого циклу програм. Не можна робити висновок про правильність програми лише на тій підставі, що програма повністю відкомпільована і при виконанні видає числові результати. Все, чого досягнуто в даному випадку - це отримання деякої вихідної інформації, необов’язково правильної. У програмі все ще можуть міститись логічні помилки. Тому необхідно здійснювати "ручну" перевірку машинних результатів.
Існує кілька способів перевірки правильності машинних результатів:
обчислення результатів вручну;
отримання результатів з довідкової літератури, документації або сукупності таблиць;
отримання результату з допомогою іншої програми.
Для перевірки правильності створеної програми розроблено тестові дані, представлені таблиці 3.
Таблиця 3. Тестові дані для перевірки правильності програми.
-
Дата
С/г підприємство
Вид утримань
Сума утримань
15.11
01
81
1520.00
15.11
01
81
478.00
15.11
01
82
1457.00
18.11
01
82
204.00
18.11
01
90
252.00
17.11
01
93
300.00
16.11
02
81
1864.00
16.11
02
81
234.00
17.11
02
83
450.00
19.11
02
89
258.00
17.11
02
89
1230.00
17.11
02
90
560.00
Дані, представлені в таблиці 3 співпадають з результатами роботи програми, представленими на екранній копіях (додаток 1), що свідчить про те, що процедури запису даних на диск та виводу даних на дисплей працюють вірно.
Контрольний приклад для вихідної відомості розроблено з допомогою табличного процесора Excel і представлено в таблиці 4.
Таблиця 4. Контрольний приклад для співставлення з даними машинного експерименту
-
Дата
С/г підприємство
Вид утримань
Сума утримань
15.11
01
81
1998.00
15.11
01
82
1661.00
15.11
01
90
252.00
18.11
01
93
300.00
Всього по підприємству
4211.00
18.11
02
81
2098.00
17.11
02
83
450.00
16.11
02
89
1488.00
16.11
02
90
560.00
Всього по підприємству
4596.00
Порівняння результатів роботи програми (див. додаток 6) та даних таблиці 4 свідчить про їх повне співпадання. Таким чином, можна стверджувати, що програма дає правильні результати для розроблених тестових даних. Однак висновок про правильність програми можна зробити тільки після тривалої експлуатації.
Висновки
Розв’язування економічних задач з використанням персональних комп’ютерів в умовах ринкової економіки набуває великого практичного значення, оскільки дає можливість отримати оперативну та достовірну інформацію. Використання з цією метою готових пакетів прикладних програм має певні вади, найважливішими серед яких є висока вартість фірмових пакетів та складність їх прив’язки для розв’язку конкретних, особливо нескладних задач. Тому надзвичайно важливо вміти самостійно складати прості програми для розв’язування задач економічного характеру.
В даному курсовому проекті розроблено і описано програму для отримання відомості відвантаження готової продукції. Для розробки програми вибрано мову Паскаль (середовище Turbo Pascal 6.0). Програма розроблена із застосуванням методики процедурного програмування.
Програма відкомпільована з отриманням незалежного ехе-файла та відладжена з використанням набору тестових даних. Контрольний приклад для перевірки правильності роботи програми розроблено з допомогою табличного процесора Excel97. Результат машинного експерименту та контрольний приклад повністю співпали, тому можна зробити висновок про можливість використання розробленої програми на практиці. Дана програма може бути використана також при розробці пакету програм для автоматизованої системи обробки інформації по обліку праці і зарплати для конкретного замовника. Вибір алгоритмічної мови Паскаль для реалізації поставленої задачі повністю виправдав себе. В процесі відладки програми зроблено висновок про можливість її вдосконалення - реалізацію деяких підзадач можна було б оформити у вигляді незалежних програмних модулів, які б можна було надалі використати при розробці інших подібних задач економічного характеру.
Список використаної літератури
В.М. Бондарев‚ В.И. Рублинецкий‚ Е.Г. Качко. Основы программирования. - Харків: Фоліо‚ 1997. - 364 с.
Е.А. Зуев. Язык программирования Turbo Pascal 6.0. Москва:Унитех‚
1992. - 298 с.
А.И.Марченко‚ Л.А.Марченко. Программирование в среде Borland Pascal 7.0. К: Юниор‚ 1998. - 478 с.
Ю.С.Бородич‚ А.Н.Вальвачев‚ А.И. Кузьмич. Паскаль для персональных компьютеров. Минск: Вышейшая школа‚ 1991. - 476 с.
Г.Е.Федорова‚ З.С.Чубасова‚ Б.Ф.Пономаренко. Проектирование и организация машинной обработки экономической информации. Москва: Финансы и статистика‚ 1986. - 399 с.
ДОДАТКИ