49665

Нарахування відрядної заробітної платні на підприємстві

Курсовая

Информатика, кибернетика и программирование

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

Украинкский

2014-01-12

1.06 MB

3 чел.

Анотація

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


Реферат

Проект складається з ? сторінок, 6 ілюстрованих прикладів, 3 таблиць.

 

Об’єктом дослідження є нарахування відрядної заробітної платні на підприємстві.

Для розробки проекту знадобились інтегрована середа розробки Borland Delpi 7 та редактор Database Desktop, а також знання та навички роботи з цим програмним забезпеченням.

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

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


Зміст


Вступ


Розділ 1

Дослідження предметної області

1.1 Характеристика предметної області

 Начислення відрядної заробітної платні.

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

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

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

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

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

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

 

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

- П.І.Б.

- Табельний номер

- Дата прийому на роботу

- Оклад співробітника

Також користувачем вводиться інформація про поточний розрахунковий місяць, дата початку та кінця відрядження, а також ставка податку ( у процентах) .

Виконання задачі припиняєтеся лише у зв’язку з некоректним введенням інформації для її розв’язання.


1.2 Опис вхідних повідомлень

Назва вхідного повідомлення

Ідентифікатор

Форма подання

Термін і частота знаходження

Джерело

Імя  співробітника

FIO

БД

На протязі роботи з БД

Роботодавець

Табельний номер

Nomer

БД

На протязі роботи з БД

Роботодавець

Оклад

Oklad

БД

На протязі роботи з БД

Роботодавець

Дата прийому на роботу

Data

БД

На протязі роботи з БД

Роботодавець

Початок відрядження

---

Первинна форма

На момент роботи програми

Користувач

Кінець відрядження

---

Первинна форма

На момент роботи програми

Користувач

Вид підрахунку

---

Первинна форма

На момент роботи програми

Користувач

Ставка  податку

---

Первинна форма

На момент роботи програми

Користувач

Оклад або сер. заробіток

---

Первинна форма

На момент роботи програми

Користувач

   d:=DaysBetween(DateTimePicker3.Date,DateTimePicker4.Date);

if ComboBox1.Text='из среднего заработка' then begin

   zp:=d*StrToInt(Edit2.Text);

   nal:=abs(zp/100*StrToInt(ComboBox2.Text));


   d:=DaysBetween(DateTimePicker3.Date,DateTimePicker4.Date);   

   zp:=StrToInt(Edit2.Text);

   sr:=zp/d;

   nal:=abs(zp/100*StrToInt(ComboBox2.Text));

   opl:=zp-nal;

  Form3.Label5.Caption:=FloatToStr(sr);

   Form3.Label6.Caption:=IntToStr(d);

   Form3.Label7.Caption:=FloatToStr(zp);

   Form3.Label10.Caption:=FloatToStr(nal);

   Form3.Label8.Caption:=FloatToStr(opl);


1.4 Опис основних процедур перетворення даних

1. Начислена зарплата = Кількість днів відрядження * Оклад

   zp:=d*StrToInt(Edit2.Text);

2. Кількість днів відрядження = Кінець відрядження – Початок відрядження

   d:=DaysBetween(DateTimePicker3.Date,DateTimePicker4.Date);

3. Податок = Начислена зарплата * Ставку податку (%)

   nal:=abs(zp/100*StrToInt(ComboBox2.Text));

4. До сплати = Начислена зар.плата – Податок

   opl:=zp-nal;


Розділ 2

Розробка інфологічної моделі

Для додавання нового співробітника

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

  •  П.І.Б.
  •  Табельний номер
  •  Дата прийому на роботу
  •  Оклад

Підприє́мство — самостійний суб'єкт господарювання, створений компетентним органом державної влади або органом місцевого самоврядування, або іншими суб'єктами для задоволення суспільних та особистих потреб шляхом систематичного здійснення виробничої, науково-дослідної, торговельної, іншої господарської діяльності в порядку, передбаченому Господарським кодексом України та іншими законами.

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

Після введення даних вони, через компонент Table, котрий призначений для роботи з нашою базою даних (bd1.db), записуються до бази даних.


    table1.Active:=true;

    table1.Insert;

    table1.FieldByName('FIO').AsString:=edit1.Text;

    table1.FieldByName('Nomer').AsInteger:=StrToInt(edit2.Text);

    table1.FieldByName('Data').AsDateTime:=DateTimePicker1.Date;

    table1.FieldByName('Oklad').AsFloat:=strtofloat(edit3.Text);

    table1.Post;


Для вибора співробітника

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

 s:='SELECT FIO FROM bd1.DB';

 Query1.SQL.Clear;

 Query1.SQL.Add(s);

 Query1.Open;



Розділ 3

Розробка даталогічної моделі

База даних розроблена за допомогою Database Desctop, тому як ця середа створення БД інтегрована з Borland Delphi 7, і є однією із його складових. На прикладі роботи з Database Desctop  вона дуже легка у користуванні та реалізації бази даних інтегровано з Borland Delphi.

 

Тип бази даних, а саме Table Paradox 7, котрий ми вибрали для реалізації проекту є одним з основних стандартних типів БД у середі Database Desctop. Він є простий у налагодженні та використанні. Інтегрування з Borland Delphi 7 виконується за допомогою компонентів палітри BDE, Data Acess та Data Controls.


Розділ 4

Проектування та реалізація БД на фізичному рівні

За допомогою Database Desctop ми створили базу даних під назвою bd1.db у вигляді Table Paradox 7. Усе управління структурою даної бази даних відповідно виконується через Database Desctop. Управління самими даними виконується безпосередньо із розробленого ПЗ. Елементи, котрі відповідають за реалізацію та змінення даних нашою бази, а саме Query та Table, є стандартними.

Query – відповідає за реалізацію та виведення бази даних та її елементів, виконання запитів і таке інше, в рамках нашого ПЗ.

Приклад використання у проекті

e:='SELECT * FROM bd1.DB WHERE FIO="'+DBGrid1.SelectedField.AsString+'"';

 Form1.Query1.SQL.Clear;

 Form1.Query1.SQL.Add(e);

 Form1.Query1.Open;

 Form1.Caption:=DBGrid1.SelectedField.AsString;

 Form1.Edit1.Text:=Form1.DBGrid1.Columns.Grid.Fields[1].AsString;

 Form1.DateTimePicker2.DateTime:=Form1.DBGrid1.Columns.Grid.Fields[2].AsDateTime;

 if Form1.ComboBox1.Text='èç îêëàäà' then   Form1.Edit2.Text:=Form1.DBGrid1.Columns.Grid.Fields[3].AsString;


Table
– відповідає за реалізацію змінення елементів бази даних в рамках нашого ПЗ.

Приклад використання у проекті:

    table1.Active:=true;

    table1.Insert;

    table1.FieldByName('FIO').AsString:=edit1.Text;

    table1.FieldByName('Nomer').AsInteger:=StrToInt(edit2.Text);

    table1.FieldByName('Data').AsDateTime:=DateTimePicker1.Date;

    table1.FieldByName('Oklad').AsFloat:=strtofloat(edit3.Text);

    table1.Post;

Усі поля бази даних заповнюються із розробленої форми нашого ПЗ, котра запускається за допомогою натиснення кнопки «Новый сотрудник».

Вибір співробітника реалізується безпосередньо з допоміжної форми проекту, після натиснення кнопки «Выбор сотрудника».

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


Висновок


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


Додаток

Лістинг проекту

Form 1

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls, ComCtrls, Buttons, DB, DBTables, Grids, DBGrids, dateutils;

type

 TForm1 = class(TForm)

   GroupBox1: TGroupBox;

   DateTimePicker2: TDateTimePicker;

   DateTimePicker3: TDateTimePicker;

   Edit1: TEdit;

   DateTimePicker4: TDateTimePicker;

   ComboBox1: TComboBox;

   Edit2: TEdit;

   ComboBox2: TComboBox;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Label5: TLabel;

   Label6: TLabel;

   Label7: TLabel;

   Label8: TLabel;

   Button1: TButton;

   Button3: TButton;

   BitBtn1: TBitBtn;

   ComboBox3: TComboBox;

   DataSource1: TDataSource;

   Query1: TQuery;

   DBGrid1: TDBGrid;

   procedure ComboBox1Select(Sender: TObject);

   procedure BitBtn1Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

 m,d:integer;                  // äàòû ðàñ÷¸òíîãî ìåñÿöà è äíåé êîìàíäèðîâêè

 day0,month0:integer;          // äåíü íà÷àëà

 date0: string;                //

 day,month:integer;            // äåíü îêîí÷àíèÿ

 date: string;                 //

 zp:integer;                   // äåíåæíûå è ïðîöåíòíûå ýêâèâàëåíòû

 nal,opl,sr:real;              //

 s:string;

implementation

uses Unit2, Unit3, Unit4, Unit5;

{$R *.dfm}

procedure TForm1.ComboBox1Select(Sender: TObject);

begin

if ComboBox1.Text='èç ñðåäíåãî çàðàáîòêà' then Label7.Caption:='Ñðåäíèé çàðàáîòîê çà ðàññ÷¸òíûé ïåðèîä'

else if ComboBox1.Text='èç îêëàäà' then Label7.Caption:='Îêëàä íà íà÷àëî ðàáî÷åãî ìåñÿöà';

Edit2.Enabled:=True;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

// ïðîâåðêà íà çàïîëíåíèå âñåõ ïîëåé ââîäà è âûáîðà

if (ComboBox3.Text='') or (DateTimePicker3.Date=DateTimePicker4.Date) or

 (ComboBox1.Text='') or (ComboBox2.Text='') or (Edit2.Text='') then begin

 ShowMessage('Ââåäèòå êîððåêòíûå äàííûå!!!');

end else begin

   d:=DaysBetween(DateTimePicker3.Date,DateTimePicker4.Date);

//ïðîâåðêà ïóòè ðàñ÷¸òà

if ComboBox1.Text='èç ñðåäíåãî çàðàáîòêà' then begin

 //ðàñ÷¸ò çàðîáîòíîé ïëàòû çà ïåðèîä êîìàíäèðîâêè

   zp:=d*StrToInt(Edit2.Text);

 //ðàñ÷¸ò íàëîãîîáëîæåíèÿ

   nal:=abs(zp/100*StrToInt(ComboBox2.Text));

 //ðàñ÷¸ò ññóììû ê îïëàòå

   opl:=zp-nal;

end;

//ïðîâåðêà ïóòè ðàñ÷¸òà

if ComboBox1.Text='èç îêëàäà' then begin

 //ðàñ÷¸ò çàðîáîòíîé ïëàòû çà ïåðèîä êîìàíäèðîâêè

   zp:=StrToInt(Edit2.Text);

 //ðàñ÷¸ò ñðåäíåé çàðîáîòíîé ïëàòû

   sr:=zp/d;

 //ðàñ÷¸ò íàëîãîîáëîæåíèÿ

   nal:=abs(zp/100*StrToInt(ComboBox2.Text));

 //ðàñ÷¸ò ññóììû ê îïëàòå

   opl:=zp-nal;

end;

//âûâîä èíôîðìàöèè è ðàñ÷¸òîâ

 if ComboBox1.Text='èç ñðåäíåãî çàðàáîòêà' then begin

   Form2.Label5.Caption:=IntToStr(d);

   Form2.Label6.Caption:=IntToStr(zp);

   Form2.Label7.Caption:=FloatToStr(nal);

   Form2.Label8.Caption:=FloatToStr(opl);

   Form2.Left:=Form1.Left+Form1.Width;

   Form2.Top:=Form1.Top;

   Form2.Caption:='èç ñðåäíåãî çàðàáîòêà';

   Form2.ShowModal;

 end;

 if ComboBox1.Text='èç îêëàäà' then begin

   Form3.Label5.Caption:=FloatToStr(sr);

   Form3.Label6.Caption:=IntToStr(d);

   Form3.Label7.Caption:=FloatToStr(zp);

   Form3.Label10.Caption:=FloatToStr(nal);

   Form3.Label8.Caption:=FloatToStr(opl);

   Form3.Left:=Form1.Left+Form1.Width;

   Form3.Top:=Form1.Top;

   Form3.Caption:='èç îêëàäà';

   Form3.ShowModal;

 end;

// îêîí÷àíèå ïðîâåðêè íà ïðàâèëüíîñòü ââîäà ìåñÿöà îò÷¸òíîñòè

end {else begin

 ShowMessage('ðàñ÷¸òíûé ìåñÿö è ìåñÿö êîìàíäèðîâêè äîëæíû áûòü ðàâíû!');

end;                             }

// îêîí÷àíèå ïðîâåðêè íà ââîä âñåõ çíà÷åíèé

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

// îòêðûòèå ôîðìû âûáîðà ñîòðóäíèêîâ

if Form1.ComboBox1.Text<>'' then begin

Form4.Top:=Form1.Top+Form1.Height;

Form4.Left:=Form1.Left;

Form4.ShowModal;

end else begin

ShowMessage('Âûáåðèòå âèä ðàññ÷¸òà!');

end;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

// îòêðûòèå ôîðìû âûáîðà ñîòðóäíèêîâ

Form5.Top:=Form1.Top+Form1.Height;

Form5.Left:=Form1.Left;

Form5.ShowModal;

end;

end.


Form 4

unit Unit4;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls, DB, DBCtrls, DBTables, Grids, DBGrids;

type

 TForm4 = class(TForm)

   Button1: TButton;

   DataSource1: TDataSource;

   Query1: TQuery;

   DBGrid1: TDBGrid;

   procedure FormShow(Sender: TObject);

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form4: TForm4;

 s,e:string;       // ñòðîêîâûå êîñòàíòû äëÿ çàãðóçêè áàçû äàííûõ

implementation

uses Unit1;

{$R *.dfm}

procedure TForm4.FormShow(Sender: TObject);

begin

//çàãðóçêà áàçû äàííûõ â ôîðìó (Ãðèä)

 s:='SELECT FIO FROM bd1.DB';

 Query1.SQL.Clear;

 Query1.SQL.Add(s);

 Query1.Open;

end;

procedure TForm4.Button1Click(Sender: TObject);

begin

//çàãðóçêà áàçû äàííûõ â ôîðìó 1 (Ãðèä) âûäåëåííîãî â ôîðìå 4 ñîòðóäíèêà

 e:='SELECT * FROM bd1.DB WHERE FIO="'+DBGrid1.SelectedField.AsString+'"';

 Form1.Query1.SQL.Clear;

 Form1.Query1.SQL.Add(e);

 Form1.Query1.Open;

// ïðèñâàèâàíèå ôîðìå èìåíè ñîòðóäíèêà

 Form1.Caption:=DBGrid1.SelectedField.AsString;

// ïðèñâàèâàíèå òàáåëüíîãî íîìåðà ñîòðóäíèêà

//               Ôîðìà1.Òàáëèöà1.Êîëîíêè.Êîëîíêà.Ýëåìåíò(ñòðîêà)[1].Êàê ñòðîêîââûé òèï;

 Form1.Edit1.Text:=Form1.DBGrid1.Columns.Grid.Fields[1].AsString;

// ïðèñâàèâàíèå äàòû ïðè¸ìà íà ðàáîòó

//               Ôîðìà1.Òàáëèöà1.Êîëîíêè.Êîëîíêà.Ýëåìåíò(ñòðîêà)[2].Êàê äàòîâûé òèï;

 Form1.DateTimePicker2.DateTime:=Form1.DBGrid1.Columns.Grid.Fields[2].AsDateTime;

 if Form1.ComboBox1.Text='èç îêëàäà' then   Form1.Edit2.Text:=Form1.DBGrid1.Columns.Grid.Fields[3].AsString;

Form4.Close;

end;

end.


Form 5

unit Unit5;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, DBTables, DB, StdCtrls, ComCtrls;

type

 TForm5 = class(TForm)

   DataSource1: TDataSource;

   Edit1: TEdit;

   Edit2: TEdit;

   Edit3: TEdit;

   DateTimePicker1: TDateTimePicker;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Button1: TButton;

   Table1: TTable;

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);

begin

    table1.Active:=true;

    table1.Insert;

    table1.FieldByName('FIO').AsString:=edit1.Text;

    table1.FieldByName('Nomer').AsInteger:=StrToInt(edit2.Text);

    table1.FieldByName('Data').AsDateTime:=DateTimePicker1.Date;

    table1.FieldByName('Oklad').AsFloat:=strtofloat(edit3.Text);

    table1.Post;

Form5.Close;

end;

end.


 

А также другие работы, которые могут Вас заинтересовать

53676. Изготовление открытки к 23 февраля 72 KB
  Задачи: Образовательные: Познакомить с историческими сведениями о празднике День защитника отечества; Расширить практические навыки по изготовлению открыток; Воспитательные: Воспитание дисциплинированности активности уважения друг к другу; Воспитание культуры учащихся внимательности. 2 Создание эмоционального настроя Праздник всех солдатов наших Вот что значит этот день День защитников отважных Да и просто всех парней Ведь любой из них мечтает Защитить детей семью Покорить хоть чтото в мире И найти свою судьбу Слушают...
53677. Воображение 60.5 KB
  Познакомить студентов с понятием воображение с функциями видами воображения способами создания образов воображения. План урока с хронометражем времени: Организационный момент 5 минут; Опрос по пройденной теме 15 минут; Изучение нового материала 50 минут; понятие воображение функции воображения; виды воображения; приемы создания образов воображения. А сейчас приступаем к работе запишите себе пожалуйста тему урока Воображение.
53678. Конспект урока по физической культуре 38.5 KB
  На раз руки к плечам на два вверх на 3 к плечам на 4 на пояс руки в стороны. 4 спокойный бег 5 ходьба 1012 мин 30 сек 34 раз 56 раз 56 раз 67 раз 1012 раз 56 раз 78 раз 56 раз 1015 раз Вращения головы медленно Вращения как можно с большой амплитудой. Построение в ширинку делимся на команды на первыйвторой Игра в волейбол 2530 мин 1520 раз Упражнения делать по команде преподавателя.
53679. Конспект урока по физической культуре для 1 класса 70 KB
  Закрепить технику ловли малого мяча. Учить метанию малого мяча в вертикальную цель с места. Инвентарь: Малые мячи. Баскетбольные мячи.
53680. КОНСПЕКТ УРОКА ПО ГАНДБОЛУ 41 KB
  Победитель - команда определяется по наименьше затраченному времени на пятнание игроков и индивидуально выявляет...
53681. Конспект урока по гандболу для 5 класса 47 KB
  Способствовать развитию координации движений точности при выполнении ведения мяча и передачи двумя руками сверху стоя на месте. Упражнения для обучения ведению мяча на месте: ведение мяча на месте правой левой рукой в положении с выставленной ногой; ведение мяча на месте с изменением высоты отскока за счет сгибания и разгибания ног; ведение мяча на месте с переводом перед собой в стойке на параллельных ногах и с выставленной вперед ногой; ведение мяча на месте кисть накладывается на мяч...
53682. Географическое положение, очертания берегов Австралии 60.5 KB
  Задачи: образовательные задачи: Закрепить знания о названии материков их изображениях и соотношениях на географических картах мира через практическую работу по составлению макета карты. Я раздам вам карточки изображающие контуры разных материков а вы определите как называются эти материки. Я порошу вас показать всему классу контур своего материка назвать его и разместить на классной доске при помощи магнита так же как на географической карте мира. А сейчас мелом напишите названия океанов омывающих берега этих материков.
53683. Конспект урока по гимнастике 67.5 KB
  Ходьба: а Руки вверх на носках; б руки на поясе перекатом с пятки на носок. вруки на пояс в полуприседе руки за голову в полном приседе г руки за голову в полном приседе. 2 руки за спину сгибая ноги назад; 3 руки на пояс высоким; 4 бег с крестным левым и правым. Руки в стороны.
53684. Кодирование 84.5 KB
  Что такое графы Как обозначаются графы Что такое круг Что такое точка Что такое стрелочки Дети называют тему. Рассказывают что такое графы. Спрашиваю детей что это такое. А что такое декодирование Декодирование это перевод символов отправителя в мысли получателя.