Автоматизована система обліку праці та зарплати

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

				

Всього по виду утримань

SUMAvu

Разом по відомості

SUMApdpr



Показники MIS, SH_FIRMA, VYD_UTR, SUMA є полями записів вхідного файлу ZARPLATA.DAT. Підсумки по виду утримань ( SUMAvu) обчислюються за формулою:


(1)



де і - кількість записів файлу ZARPLATA.DAT, в яких співпадає значення показника "вид утримань" .

Підсумки по підприємству ( SUMApdpr) обчислюються за наступною формулою:



(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 (код клавіші 6016)

161

виклик процедури VYVID, якщо натиснуто клавішу F3 (код клавіші 6116)

162

виклик процедури SORT, якщо натиснуто клавішу F4 (код клавіші 6216)

163

виклик процедури ZVEDENNYA, якщо натиснуто клавішу F7 (код клавіші 6516)

164

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

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

	


ДОДАТКИ