Расчет заработной платы в Access

Основные сведенья для расчета заработной платы. Формирование отчета при помощи электронных таблиц. Налоговые отчисления, персональные надбавки. Диаграммы распределения сотрудников по должностям, средних должностных окладов в зависимости от стажа и отдела.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 28.04.2014
Размер файла 4,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Содержание

Задание

Информационная модель задачи

Структура пакета

Описание форм

Блок-схемы к расчетам

Диаграммы

Контрольный пример

Задание

В ведомости по выплатам заработной платы необходимо представить следующие сведения

дата выдачи заработной платы

Фамилия

Должность

К выплате (руб)

В пересчете на СКВ

...

Итого

ХХХХ.ХХ

ХХХХ.ХХ

Для формирования данного отчета были использованы следующие электронные таблицы:

1. СВЕДЕНИЯ ДЛЯ РАСЧЕТА ЗАРАБОТНОЙ ПЛАТЫ: (в access)

· Отдел (не более 5)

· Фамилия

· Должность

· Оклад

· Количество проработанных дней

· Стаж (дата приема на работу)

· Сумма на депоненте

Не придумывайте большого количества должностей и стажей в годах! заработная плата электронный диаграмма

2. ЧИСЛО РАБОЧИХ ДНЕЙ В МЕСЯЦЕ:

· Номер календарного месяца

· Число рабочих дней.

3. ПЕРСОНАЛЬНЫЕ НАДБАВКИ ПО ПОДРАЗДЕЛЕНИЯМ:

· Номер отдела

· Процентное значение надбавки

4. НАЛОГОВЫЕ ОТЧИСЛЕНИЯ: (excel)

· Нижняя граница дохода

· Верхняя граница дохода

· Процентная ставка налога

5.КУPС ВАЛЮТЫ (по месяцам истекшего года):

· Номер месяца

· Валютный курс

Величина заработной платы определяется оклад с учетом реально проработанных дней ПЛЮС персональные надбавки МИНУС налог

За каждый год стажа выплачивается премия в 15% от оклада.

Величина выплаты - зарплата ПЛЮС сумма на депоненте.

(Схема расчета дана условно и не претендует на официально принятую!)

Для всех сотрудников фирмы рассчитать оплату и распечатать ее по прилагаемой выше форме.

Дополнительно выполните следующие задания:

1. Постройте диаграмму распределения сотрудников по должностям.

2. Постройте диаграмму распределения средних должностных окладов в зависимости от стажа и отдела.

3. Кому из РЕАЛЬНАЯ ДОЛЖНОСТЬ были выплачены минимальное и максимальное вознаграждения ?

4. Кто проработал дольше всех?

5. Какую сумму выплатили одному из отделов (любому по запросу пользователя) ?

Выдайте упорядоченный по отделам и стажу список работников, имеющих заданную должность.

Информационная модель задачи

1. Входная информация.

Имя таблицы

Тип файла

Имя файла

1

Ведомость

db

C:\kursach\zplata.db

2

Данные о налогах

xls

C:\kursach\nalogi.xls (лист «nalog»)

3

Курсы валют

txt

C:\kursach\kurs_val.txt

4

Рабочие дни

Txt

C:\kursach\rab_dni.txt

5

Надбавки

txt

C:\kursach\nadbavki.txt

Таблица 1. Анкета.

Наименование

поля

Тип поля

Длина поля

1

Otdel

Character

25

2

FIO

Integer

3

Dolgnost

Character

25

5

Oklad

Integer

6

Koldn

Character

15

7

Stag

Date

10

8

SumDep

Integer

Таблица 2. Данные о налогах.

Наименование

поля

Тип поля

Длина поля

1

Нижняя граница

Integer

2

Верхняя граница

Integer

3

Процентная ставка

Integer

Таблица 3. Курсы валют.

Наименованиеполя

Тип поля

Длина поля

1

Номер месяца

Integer

2

Курс валюты

Real

Таблица 4. Рабочие дни.

Наименование поля

Тип поля

Длина поля

1

Номер месяца

Integer

2

Число рабочих дней

Integer

Таблица 5. Надбавки.

Наименование поля

Тип поля

Длина поля

1

Номер отдела

Integer

2

Процент надбавки

Integer

2. Выходная информация.

Таблица 1. Ведомость по зарплате.

Наименование поля

Тип поля

Длина поля

1

Номер отдела

Integer

2

ФИО

String

25

3

Должность

String

25

4

Оклад

Integer

5

КолДней

Integer

6

Стаж

Date

7

СуммаДеп

Integer

9

Надбавки

Integer

10

Налоги

Integer

11

Итого к выдаче

Integer

Таблица 2. Расчет минимальной и максимальной зарплаты.

Наименование поля

Тип поля

Длина поля

1

Самая маленькая зарплата

String

25

2

Самая большая зарплата

String

25

Таблица 3. Расчет наибольшего стажа.

Наименование поля

Тип поля

Длина поля

1

Дольше всех проработал:

String

25

Таблица 4. Оплата по отделам.

Наименование поля

Тип поля

Длина поля

1

Номер отдела

Integer

Структура пакета

Главное меню

Размещено на http://www.allbest.ru/

Схема подключения форм

Размещено на http://www.allbest.ru/

Описание форм

Наименование

Имя

Наименование модуля

Назначение

1

Главное меню

Form1

Form1

Родительская форма с главным меню

2

Ведомость по зарплате

Form2

Form2

Просмотр данных таблицы «Ведомость»

3

Курс валют

Form3

Form3

Просмотр данных таблицы «Курс валют»

4

Налоги

Form4

Form4

Просмотр данных таблицы «Налоги»

5

Надбавки

Form5

Form5

Просмотр данных таблицы «Надбавки»

6

Рабочие дни

Form6

Form6

Просмотр данных таблицы «Рабочие дни»

7

Ведомость

Form7

Form7

Выполнение основного задания

8

Мин.и макс. зарплаты

Form8

Form8

Выполнение дополнительного задания №1

9

Дольший стаж

Form9/10

Form9/10

Выполнение дополнительного задания №2/3

10

Оплата по отделам

Form11

Form11

Выполнение дополнительного задания №4

11

Распределение сотрудников по должностям

Form12

Form12

Выполнение дополнительного задания №5

12

Средние должностные оклады по отделам

Form13

Form13

Выполнение дополнительного задания №6

Описание формы Form1

Режим работы

Листинг модуля Form1

unit Unit1;

interface

uses

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

Dialogs, Menus,unit3,unit4,unit5,unit6,unit7,unit8,unit9,unit10,unit11,unit12,unit13,

ExtCtrls;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N14: TMenuItem;

N15: TMenuItem;

N16: TMenuItem;

Image1: TImage;

N12: TMenuItem;

N13: TMenuItem;

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N12Click(Sender: TObject);

procedure N13Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N11Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses unit2;

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);

begin

image1.Picture.loadfromfile('Money.jpg');

end;

procedure TForm1.N11Click(Sender: TObject);

begin

form11.show;

end;

procedure TForm1.N12Click(Sender: TObject);

begin

Form9.show;

end;

procedure TForm1.N13Click(Sender: TObject);

begin

Form10.show;

end;

procedure TForm1.N15Click(Sender: TObject);

begin

Form12.show;

end;

procedure TForm1.N16Click(Sender: TObject);

begin

Form13.show;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

Form2.show;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

Form3.show;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

Form4.show;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Form5.show;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

Form6.show;

end;

procedure TForm1.N8Click(Sender: TObject);

begin

Form7.show;

end;

procedure TForm1.N9Click(Sender: TObject);

begin

Form8.show;

end;

end.

Описание формы Form2

Режим работы

Листинг модуля Form2.

unit Unit2;

interface

uses

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

Dialogs, DB, DBTables, ExtCtrls, DBCtrls,unit10, Grids, DBGrids,unit1, StdCtrls;

type

TForm2 = class(TForm)

Button1: TButton;

Image1: TImage;

Table1: TTable;

DBGrid1: TDBGrid;

DataSource1: TDataSource;

DBNavigator1: TDBNavigator;

procedure Button1Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

begin

Form1.show;

form2.close;

end;

procedure TForm2.FormActivate(Sender: TObject);

begin

image1.Picture.loadfromfile('Money.jpg');

end;

end.

Описание модуля Form3

Режим конструктора.

Режим работы

Листинг модуля Form3.

unit Unit3;

interface

uses

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

Dialogs, Grids, StdCtrls, ExtCtrls;

type

TForm3 = class(TForm)

sg1: TStringGrid;

Button1: TButton;

Button2: TButton;

Button3: TButton;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

Image1: TImage;

procedure FormActivate(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

kursi=record

nm:integer;

kurs:real;

end;

var

Form3: TForm3;

i: integer;

f: textfile;

kur: kursi;

implementation

uses unit1;

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);

begin

if OpenDialog1.execute then begin

assignfile(f,opendialog1.FileName);reset(f);end;

i:=1;

sg1.RowCount:=2;

while not eof(f) do begin

readln(f,kur.nm);

readln(f,kur.kurs);

sg1.cells[0,i]:=inttostr(kur.nm);

sg1.cells[1,i]:=floattostr(kur.kurs);

i:=i+1;

sg1.rowcount:=sg1.rowcount+1;

end;

sg1.rowcount:=sg1.rowcount-1;

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

if savedialog1.execute then

savedialog1.FileName;

end;

procedure TForm3.Button3Click(Sender: TObject);

begin

Form1.show;

form3.close;

end;

procedure TForm3.FormActivate(Sender: TObject);

begin

sg1.cells[0,0]:='Номер месяца';

sg1.cells[1,0]:='Курс валюты';

image1.Picture.loadfromfile('Money.jpg');

end;

end.

Описание модуля Form4

Режим работы.

Листинг модуля Form4.

unit Unit4;

interface

uses

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

Dialogs, StdCtrls, Grids, ExtCtrls;

type

TForm4 = class(TForm)

sg1: TStringGrid;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Image1: TImage;

procedure FormActivate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

i,j: integer;

Vex,sheet: Variant;

implementation

uses unit1,ComObj;

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);

begin

sg1.rowcount:=2;

vex:=createOleObject('Excel.Application');

vex.workbooks.open(extractfiledir(Application.ExeName)+'\nalog.xls');

sheet:= vex.Workbooks[1].Sheets.Item['nalogi'];

i:=1;

while (copy(sheet.cells[i+1,1],1,1)<>'') do begin

sg1.Cells[0,i]:=inttostr(sheet.cells[i+1,1]);

sg1.Cells[1,i]:=inttostr(sheet.cells[i+1,2]);

sg1.Cells[2,i]:=inttostr(sheet.cells[i+1,3]);

sg1.RowCount:=sg1.RowCount+1;

i:=i+1;

end;

sg1.RowCount:=sg1.RowCount-1;

vex.application.quit;

end;

procedure TForm4.Button2Click(Sender: TObject);

begin

Vex:= CreateOleObject('Excel.Application');

vex.workbooks.open(extractfiledir(Application.ExeName)+'\nalog.xls');

vex.visible:=false;

for i := 1 to sg1.rowcount do

for j := 1 to Sg1.ColCount do

vex.ActiveSheet.Cells[i,j]:=Sg1.Cells[j-1,i];

end;

procedure TForm4.Button3Click(Sender: TObject);

begin

form1.show;

form4.close;

end;

procedure TForm4.FormActivate(Sender: TObject);

begin

sg1.cells[0,0]:='Нижняя граница';

sg1.cells[1,0]:='Верхняя граница';

sg1.cells[2,0]:='% ставка';

image1.Picture.loadfromfile('Money.jpg');

end;

end.

Описание модуля Form5

Режим работы.

Листинг модуля Form5.

unit Unit5;

interface

uses

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

Dialogs, StdCtrls, Grids, ExtCtrls;

type

TForm5 = class(TForm)

sg1: TStringGrid;

Button1: TButton;

Button2: TButton;

Button3: TButton;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

Image1: TImage;

procedure FormActivate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

nadbavki=record

notd: integer;

proc: integer;

end;

var

Form5: TForm5;

i: integer;

f: textfile;

nad: nadbavki;

implementation

uses unit1;

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);

begin

if OpenDialog1.execute then begin

assignfile(f,opendialog1.FileName);reset(f);end;

i:=1;

sg1.RowCount:=2;

while not eof(f) do begin

readln(f,nad.notd);

readln(f,nad.proc);

sg1.cells[0,i]:=inttostr(nad.notd);

sg1.cells[1,i]:=inttostr(nad.proc);

i:=i+1;

sg1.rowcount:=sg1.rowcount+1;

end;

sg1.rowcount:=sg1.rowcount-1;

end;

procedure TForm5.Button2Click(Sender: TObject);

begin

if savedialog1.execute then

savedialog1.FileName;

end;

procedure TForm5.Button3Click(Sender: TObject);

begin

form1.show;

form5.close;

end;

procedure TForm5.FormActivate(Sender: TObject);

begin

sg1.cells[0,0]:='Номер отдела';

sg1.cells[1,0]:='% значение надбавки';

image1.Picture.loadfromfile('Money.jpg');

end;

end.

Описание модуля Form6

Режим работы.

Листинг модуля Form6.

unit Unit6;

interface

uses

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

Dialogs, StdCtrls, Grids, ExtCtrls;

type

TForm6 = class(TForm)

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

sg1: TStringGrid;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Image1: TImage;

procedure Button3Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

rabdni=record

nmes: integer;

rabd: integer;

end;

var

Form6: TForm6;

i: integer;

f: textfile;

rd: rabdni;

implementation

uses unit1;

{$R *.dfm}

procedure TForm6.Button1Click(Sender: TObject);

begin

if OpenDialog1.execute then begin

assignfile(f,opendialog1.FileName);reset(f);end;

i:=1;

sg1.RowCount:=2;

while not eof(f) do begin

readln(f,rd.nmes);

readln(f,rd.rabd);

sg1.cells[0,i]:=inttostr(rd.nmes);

sg1.cells[1,i]:=inttostr(rd.rabd);

i:=i+1;

sg1.rowcount:=sg1.rowcount+1;

end;

sg1.rowcount:=sg1.rowcount-1;

end;

procedure TForm6.Button2Click(Sender: TObject);

begin

if savedialog1.execute then

savedialog1.FileName;

end;

procedure TForm6.Button3Click(Sender: TObject);

begin

Form1.show;

form6.Close;

end;

procedure TForm6.FormActivate(Sender: TObject);

begin

sg1.cells[0,0]:='Номер месяца';

sg1.cells[1,0]:='Число раб.дней';

image1.Picture.loadfromfile('Money.jpg');

end;

end.

Описание модуля Form7

Режим работы

Листинг модуля Form7.

unit Unit7;

interface

uses

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

Dialogs, Grids, StdCtrls, ExtCtrls;

type

TForm7 = class(TForm)

sg1: TStringGrid;

Button1: TButton;

Button2: TButton;

sg2: TStringGrid;

Button3: TButton;

Image1: TImage;

procedure Button1Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

otchet=record

notd: integer;

fio: string[25];

dolg: string[25];

okl: real;

pr_dn: integer;

stag: string[10];

s_dep: real;

itog: real;

end;

kursi=record

nm:integer;

kurs:real;

end;

nadbavki=record

notd: integer;

proc: integer;

end;

rabdni=record

nmes: integer;

rabd: integer;

end;

var

Form7: TForm7;

i,it_sum,j,ot_nadb,n_vic: integer;

vex,sheet: variant;

f: file of otchet;

f1,f2,f3: textfile;

ot: otchet;

kur: kursi;

nad: nadbavki;

rd: rabdni;

implementation

uses unit2,ComObj;

{$R *.dfm}

procedure TForm7.Button1Click(Sender: TObject);

begin

sg1.rowcount:=2;

sg1.RowCount:=form2.table1.RecordCount+1;

form2.table1.First;

for i := 1 to form2.table1.recordCount do begin

sg1.Cells[0,i]:=form2.table1.Fields[0].asstring;

sg1.Cells[1,i]:=form2.table1.Fields[1].AsString;

sg1.Cells[2,i]:=form2.table1.Fields[2].asstring;

sg1.cells[3,i]:=form2.table1.Fields[3].AsString;

sg1.cells[4,i]:=form2.table1.Fields[4].AsString;

sg1.cells[5,i]:=form2.table1.Fields[5].AsString;

sg1.cells[6,i]:=form2.table1.Fields[6].AsString;

form2.table1.Next;

end;

sg2.rowcount:=2;

vex:=createOleObject('Excel.Application');

vex.workbooks.open(extractfiledir(Application.ExeName)+'\nalog.xls');

sheet:= vex.Workbooks[1].Sheets.Item['nalogi'];

i:=1;

while (copy(sheet.cells[i+1,1],1,1)<>'') do begin

sg2.Cells[0,i]:=inttostr(sheet.cells[i+1,1]);

sg2.Cells[1,i]:=inttostr(sheet.cells[i+1,2]);

sg2.Cells[2,i]:=inttostr(sheet.cells[i+1,3]);

sg2.RowCount:=sg2.RowCount+1;

i:=i+1;

end;

sg2.RowCount:=sg2.RowCount-1;

vex.application.quit;

button2.show;

end;

procedure TForm7.Button2Click(Sender: TObject);

begin

assignfile(f1,'nadbavki.txt');reset(f1);

for i := 1 to sg1.rowcount - 1 do begin

it_sum:=0;

ot_nadb:=0;

//Расчет надбавок по годам службы

if strtoint(sg1.cells[4,i])<=365 then it_sum:=it_sum+strtoint(sg1.Cells[3,i])*0

else if strtoint(sg1.cells[4,i])<=730 then it_sum:=it_sum+strtoint(sg1.Cells[3,i])*15 div 100

else if strtoint(sg1.cells[4,i])<=1095 then it_sum:=it_sum+strtoint(sg1.Cells[3,i])* 30 div 100

else it_sum:=it_sum+strtoint(sg1.Cells[3,i])*45 div 100;

sg1.cells[7,i]:=inttostr(it_sum);

reset(f1);

it_sum:=0;

//Расчет надбавок по отделам

while not eof(f1) do begin

readln(f1,nad.notd);

readln(f1,nad.proc);

if strtoint(sg1.Cells[0,i])=nad.notd then begin

it_sum:=it_sum+strtoint(sg1.cells[3,i])*nad.proc div 100;

ot_nadb:=strtoint(sg1.cells[7,i])+it_sum;

sg1.cells[7,i]:=inttostr(ot_nadb);

end;

end;

closefile(f1);

end;

//Расчет и вычет налога

for i := 1 to sg1.rowcount - 1 do

if (strtoint(sg1.cells[3,i])>=strtoint(sg2.cells[0,1])) and

(strtoint(sg1.cells[3,i])<=strtoint(sg2.cells[1,1])) then

begin

it_sum:=strtoint(sg1.cells[3,i])*strtoint(sg2.cells[2,1]) div 100;

sg1.Cells[8,i]:=inttostr(it_sum);

end

else if strtoint(sg1.cells[3,i])<=strtoint(sg2.cells[1,2]) then

begin

it_sum:=strtoint(sg1.cells[3,i])*strtoint(sg2.cells[2,2]) div 100;

sg1.Cells[8,i]:=inttostr(it_sum);

end

else if strtoint(sg1.cells[3,i])<=strtoint(sg2.cells[1,3]) then

begin

it_sum:=strtoint(sg1.cells[3,i])*strtoint(sg2.cells[2,3]) div 100;

sg1.Cells[8,i]:=inttostr(it_sum);

end

else if strtoint(sg1.cells[3,i])<=strtoint(sg2.cells[1,4]) then

begin

it_sum:=strtoint(sg1.cells[3,i])*strtoint(sg2.cells[2,4]) div 100;

sg1.Cells[8,i]:=inttostr(it_sum);

end;

//Итоговая сумма зарплаты

it_sum:=0;

for i := 1 to sg1.rowcount - 1 do begin

it_sum:=strtoint(sg1.cells[3,i])+strtoint(sg1.cells[7,i])-strtoint(sg1.cells[8,i])+strtoint(sg1.cells[6,i]);

sg1.cells[9,i]:=inttostr(it_sum);

end;

button3.Show;

end;

procedure TForm7.Button3Click(Sender: TObject);

begin

assignfile(f,'otchet.dat');rewrite(f);

for i := 1 to sg1.rowcount - 1 do begin

ot.notd:=strtoint(sg1.cells[0,i]);

ot.fio:=sg1.cells[1,i];

ot.dolg:=sg1.cells[2,i];

ot.okl:=strtoint(sg1.cells[3,i]);

ot.pr_dn:=strtoint(sg1.cells[4,i]);

ot.stag:=sg1.cells[5,i];

ot.s_dep:=strtofloat(sg1.cells[6,i]);

ot.itog:=strtofloat(sg1.cells[9,i]);

write(f,ot);

end;

showmessage('Отчет сохранен успешно');

closefile(f);

end;

procedure TForm7.FormActivate(Sender: TObject);

begin

button2.Hide;

button3.Hide;

sg1.cells[0,0]:='Отдел';

sg1.cells[1,0]:='ФИО';

sg1.cells[2,0]:='Должность';

sg1.cells[3,0]:='Оклад';

sg1.cells[4,0]:='Кол-во прор-х дней';

sg1.cells[5,0]:='Стаж';

sg1.cells[6,0]:='Сумма на депоненте';

sg1.cells[7,0]:='Надбавки';

sg1.cells[8,0]:='Сумма налога';

sg1.cells[9,0]:='Итого к выдаче';

sg2.cells[0,0]:='Нижняя граница';

sg2.cells[1,0]:='Верхняя граница';

sg2.cells[2,0]:='% ставка';

image1.Picture.loadfromfile('Money.jpg');

end;

end.

Описание модуля Form8

Режим работы

Листинг модуля Form8.

unit Unit8;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls, Grids;

type

TForm8 = class(TForm)

Button1: TButton;

Image1: TImage;

sg1: TStringGrid;

procedure FormActivate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

otchet=record

notd: integer;

fio: string[25];

dolg: string[25];

okl: real;

pr_dn: integer;

stag: string[10];

s_dep: real;

itog: real;

end;

var

Form8: TForm8;

f: file of otchet;

ot: otchet;

min,max: real;

implementation

{$R *.dfm}

procedure TForm8.Button1Click(Sender: TObject);

begin

assignfile(f,'otchet.dat');

reset(f);

max:=0;

while not eof(f) do begin

read(f,ot);

if ot.itog>=max then max:=ot.itog;

end;

sg1.cells[1,0]:=floattostr(max);

min:=max;

reset(f);

while not eof(f) do begin

read(f,ot);

if ot.itog<=min then min:=ot.itog;

end;

sg1.cells[1,1]:=floattostr(min);

closefile(f);

end;

procedure TForm8.FormActivate(Sender: TObject);

begin

image1.Picture.LoadFromFile('Money.jpg');

sg1.Cells[0,0]:='Самая низкая зарплата:';

sg1.cells[0,1]:='Самая высокая зарплата:';

end;

end.

Описание модуля Form9

Режим работы.

Листинг модуля Form9.

unit Unit9;

interface

uses

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

Dialogs, ExtCtrls, StdCtrls, Grids;

type

TForm9 = class(TForm)

Image1: TImage;

sg1: TStringGrid;

Button1: TButton;

procedure FormActivate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

otchet=record

notd: integer;

fio: string[25];

dolg: string[25];

okl: real;

pr_dn: integer;

stag: string[10];

s_dep: real;

itog: real;

end;

var

Form9: TForm9;

f: file of otchet;

ot: otchet;

md: integer;

implementation

{$R *.dfm}

procedure TForm9.Button1Click(Sender: TObject);

begin

assignfile(f,'otchet.dat');reset(f);

md:=0;

while not eof(f) do

begin

read(f,ot);

if ot.pr_dn>=md then begin md:=ot.pr_dn;

sg1.cells[1,0]:=ot.fio;

end;

end;

closefile(f);

end;

procedure TForm9.FormActivate(Sender: TObject);

begin

sg1.cells[0,0]:='Дольше всех работает';

image1.Picture.loadfromfile('Money.jpg');

end;

end.

Описание модуля Form10

Режим работы.

Листинг модуля Form10.

unit Unit10;

interface

uses

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

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

type

TForm10 = class(TForm)

Image1: TImage;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Query1: TQuery;

Button1: TButton;

Label1: TLabel;

DataSource2: TDataSource;

DBGrid2: TDBGrid;

Table1: TTable;

procedure FormActivate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form10: TForm10;

i: integer;

mx:real;

implementation

uses unit2;

{$R *.dfm}

procedure TForm10.Button1Click(Sender: TObject);

begin

Table1.Active:=true;

Table1.First;

mx:=0;

For i:=1 to Table1.RecordCount do

Begin

if table1.fields.fields[4].asinteger>=mx then

mx:=table1.fields.fields[4].AsInteger;

Table1.Next;

End;

label1.Caption:=floattostr(mx);

Query1.Close;

Query1.SQL.Clear;

Query1.SQL.Add('select z."FIO" ,z."KolDn" from zplata z ');

Query1.SQL.Add(' where z."KolDn"='+label1.caption+'');

Query1.Open;

end;

procedure TForm10.FormActivate(Sender: TObject);

begin

image1.picture.loadfromfile('Money.jpg');

end;

end.

Описание модуля Form11

Режим работы.

Листинг модуля Form11.

unit Unit11;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls, Grids;

type

TForm11 = class(TForm)

Image1: TImage;

ComboBox1: TComboBox;

Button1: TButton;

sg1: TStringGrid;

procedure FormActivate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

nadbavki=record

notd: integer;

proc: integer;

end;

otchet=record

notd: integer;

fio: string[25];

dolg: string[25];

okl: real;

pr_dn: integer;

stag: string[10];

s_dep: real;

itog: real;

end;

var

Form11: TForm11;

f: file of otchet;

f1:textfile;

nad: nadbavki;

ot: otchet;

i: integer;

zp:real;

implementation

{$R *.dfm}

procedure TForm11.Button1Click(Sender: TObject);

begin

assignfile(f,'otchet.dat');reset(f);

zp:=0;

i:=1;

if combobox1.itemindex= -1 then begin showmessage('Выберите отдел...'); exit;end;

while not eof(f) do begin

read(f,ot);

if inttostr(ot.notd)=combobox1.text then zp:=zp+ot.itog;

end;

sg1.cells[0,0]:=combobox1.text;

sg1.cells[0,1]:=floattostr(zp);

sg1.Show;

end;

procedure TForm11.FormActivate(Sender: TObject);

begin

i:=0;

sg1.Hide;

image1.picture.loadfromfile('Money.jpg');

combobox1.items.Clear;

assignfile(f1,'nadbavki.txt');reset(f1);

while not eof(f1) do begin

readln(f1,nad.notd);

readln(f1,nad.proc);

combobox1.items.add(inttostr(nad.notd));

end;

closefile(f1);

end;

end.

Описание модуля Form12

Режим конструктора.

Режим работы.

Листинг модуля Form12.

unit Unit12;

interface

uses

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

Dialogs, Grids, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, jpeg;

type

TForm12 = class(TForm)

sg1: TStringGrid;

Button1: TButton;

Chart1: TChart;

Series1: TPieSeries;

Button2: TButton;

Button3: TButton;

Image1: TImage;

procedure FormActivate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

dolg=record

dol: string[20];

end;

otchet=record

notd: integer;

fio: string[25];

dolg: string[25];

okl: real;

pr_dn: integer;

stag: string[10];

s_dep: real;

itog: real;

end;

var

Form12: TForm12;

f: file of otchet;

f1:textfile;

ot: otchet;

dg: dolg;

i: integer;

diagr,ar: variant;

implementation

uses ComObj,XLConst;

{$R *.dfm}

procedure TForm12.Button1Click(Sender: TObject);

begin

assignfile(f1,'dolgnost.txt');reset(f1);

assignfile(f,'otchet.dat');

reset(f);

sg1.rowcount:=2;

i:=1;

while not eof(f1) do begin

readln(f1,dg.dol);

sg1.cells[0,i]:=dg.dol;

sg1.cells[1,i]:='0';

i:=i+1;

sg1.rowcount:=sg1.rowcount+1;

end;

sg1.rowcount:=sg1.rowcount-1;

for i := 1 to sg1.RowCount - 1 do begin

reset(f);

while not eof(f) do begin

read(f,ot);

if sg1.cells[0,i]=ot.dolg then

sg1.cells[1,i]:=inttostr(strtoint(sg1.cells[1,i])+1);

end;

end;

button2.show;

button3.show;

end;

procedure TForm12.Button2Click(Sender: TObject);

begin

chart1.Show;

chart1.Title.Clear;

Chart1.title.text.add('Распределение сотрудников по должностям');

For i:=1 to sg1.rowcount-1 do begin

Chart1.serieslist[0].add(strtofloat(sg1.cells[1,i]),sg1.cells[0,i]);

end;

end;

procedure TForm12.Button3Click(Sender: TObject);

begin

diagr:=createoleobject('Excel.Application');

diagr.workbooks.add(xlwbatworksheet);

diagr.workbooks[1].worksheets[1].name:='Данные';

for i := 0 to sg1.rowCount do begin

diagr.workbooks[1].sheets.item['Данные'].cells[i+1,1]:=sg1.cells[0,i];

diagr.workbooks[1].sheets.item['Данные'].cells[i+1,2]:=sg1.cells[1,i];

end;

diagr.workbooks[1].sheets.add(,,1,xlChart);

AR:=diagr.sheets.item['Данные'].Range['b2:b9'];

diagr.sheets.Item[1].SeriesCollection.Item[1].Values := AR;

AR:=diagr.sheets.item['Данные'].Range['a2:a9'];

diagr.sheets.item[1].seriescollection.item[1].xvalues:=AR;

diagr.worksheets[1].Range['a1:b1'].font.FontStyle:= 'полужирный';

diagr.worksheets[1].Range['a1:b1'].font.colorindex:=5;

diagr.worksheets[1].Range['a1:b1'].VerticalAlignment:= xlCenter ;

diagr.worksheets[1].columns[1].columnwidth:=16;

diagr.worksheets[1].columns[2].columnwidth:=19;

diagr.sheets.item[1].haslegend:=false;

diagr.visible:=true;

end;

procedure TForm12.FormActivate(Sender: TObject);

begin

chart1.Hide;

button2.Hide;

button3.Hide;

sg1.cells[0,0]:='Должность';

sg1.cells[1,0]:='Кол-во людей';

end;

end.

Описание модуля Form13

Режим работы.

Листинг модуля Form13.

unit Unit13;

interface

uses

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

Dialogs, Grids, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, jpeg;

type

TForm13 = class(TForm)

sg1: TStringGrid;

Button1: TButton;

Button2: TButton;

Chart1: TChart;

Series1: TBarSeries;

Image1: TImage;

procedure Button1Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

dolg=record

dol: string[20];

end;

otchet=record

notd: integer;

fio: string[25];

dolg: string[25];

okl: real;

pr_dn: integer;

stag: string[10];

s_dep: real;

itog: real;

end;

var

Form13: TForm13;

f: file of otchet;

i,ch: integer;

f1: textfile;

sred,ok:real;

ot: otchet;

dg: dolg;

implementation

{$R *.dfm}

procedure TForm13.Button1Click(Sender: TObject);

begin

assignfile(f1,'dolgnost.txt');reset(f1);

assignfile(f,'otchet.dat');

reset(f);

sg1.rowcount:=2;

i:=1;

sred:=0;

ch:=0;

while not eof(f1) do begin

readln(f1,dg.dol);

sg1.cells[0,i]:=dg.dol;

sg1.cells[1,i]:='0';

i:=i+1;

sg1.rowcount:=sg1.rowcount+1;

end;

sg1.rowcount:=sg1.rowcount-1;

reset(f);

for i := 1 to sg1.rowcount - 1 do begin reset(f);

while not eof(f) do begin

read(f,ot);

if sg1.cells[0,i]=ot.dolg then begin

ch:=ch+1;

sred:=sred+ot.itog; end;

end;

ok:=round(sred/ch);

sg1.cells[1,i]:=floattostr(ok);

end;

closefile(f);

closefile(f1);

end;

procedure TForm13.Button2Click(Sender: TObject);

begin

chart1.Show;

chart1.Title.Clear;

Chart1.title.text.add('Средник зарплаты сотрудников по отделам');

For i:=1 to sg1.rowcount-1 do begin

Chart1.serieslist[0].add(strtofloat(sg1.cells[1,i]),sg1.cells[0,i]);

end;

end;

procedure TForm13.FormActivate(Sender: TObject);

begin

chart1.Hide;

sg1.cells[0,0]:='Должность';

sg1.cells[1,0]:='Средний оклад';

end;

end.

Алгоритм расчета зарплаты

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Диаграммы

Распределение сотрудников по должностям

Средник должностные оклады в зависимости от стажа и отдела.

Контрольный пример

Входная информация

Таблица 1. Ведомость

zplata

Otdel

FIO

Dolgnost

Oklad

KolDn

Stag

SumDep

1

Мухранов

бухгалтер

5000

379

12.02.2010

0

1

Ганиев

бухгалтер

10000

1470

01.02.2007

10000

1

Мигунова

фин директор

50000

656

05.05.2009

0

1

Гриднева

экономист

12000

100

21.11.2010

0

2

Гнездилова

экономист

10000

696

25.03.2009

0

2

Скрипкина

PR специалист

13000

2205

16.01.2005

500

2

Иванов

фин директор

7000

899

02.09.2008

0

3

Федоров

менеджер

11000

542

29.08.2009

0

3

Сидоров

PR специалист

7000

2006

05.08.2005

0

3

Федечкин

менеджер

13000

102

19.11.2010

300

4

Васечкин

PR специалист

12000

797

14.12.2008

6000

4

Пеньков

бухгалтер

13000

845

26.10.2008

0

4

Трубач

экономист

10000

1185

16.11.2007

0

4

Агафонова

бухгалтер

10000

1080

01.03.2008

2000

5

Вон

PR специалист

5000

1050

01.04.2008

0

5

Мифтахудзинов

экономист

7000

647

14.05.2009

0

5

Лисицина

экономист

8000

1007

14.05.2008

0

Таблица 2. Товары.

№ месяца

Курс валюты

1

29.75

2

30.22

3

29.74

4

29.40

5

38.69

6

38.33

7

31.37

8

30.18

9

31.08

10

30.78

11

30.77

12

31.33

Таблица 3. Надбавки

№ отдела

% надбавки

1

13

2

20

3

25

4

15

5

0

Таблица 4. Налоговые ставки.

нижняя граница

верхняя граница

процентная ставка налога

2000

5000

13

6000

10000

15

11000

15000

18

15000

50000

20

Таблица 5. Рабочие дни.

№ месяца

Число рабочих дней

1

16

2

19

3

22

4

21

5

20

6

22

7

21

8

23

9

22

10

21

11

22

12

21

Выходная информация.

1. Для всех сотрудников фирмы рассчитать оплату и распечатать ее по прилагаемой выше форме.

№ отдела

Фамилия

Должность

Оклад

Кол-во прор.дней

Стаж

Сумма по депоненту

Итоговая сумма

1

Мухранов

бухгалтер

5000

379

12.02.2010

0

5750

1

Ганиев

бухгалтер

10000

1470

01.02.2007

10000

24300

1

Мигунова

фин директор

50000

656

05.05.2009

0

54000

1

Гриднева

экономист

12000

100

21.11.2010

0

11400

2

Гнездилова

экономист

10000

696

25.03.2009

0

12000

2

Скрипкина

PR специалист

13000

2205

16.01.2005

500

19610

2

Иванов

фин директор

7000

899

02.09.2008

0

9450

3

Федоров

менеджер

11000

542

29.08.2009

0

13420

3

Сидоров

PR специалист

7000

2006

05.08.2005

0

10850

3

Федечкин

менеджер

13000

102

19.11.2010

300

14210

4

Васечкин

PR специалист

12000

797

14.12.2008

6000

21240

4

Пеньков

бухгалтер

13000

845

26.10.2008

0

16510

4

Трубач

экономист

10000

1185

16.11.2007

0

14500

4

Агафонова

бухгалтер

10000

1080

01.03.2008

2000

15000

5

Вон

PR специалист

5000

1050

01.04.2008

0

5850

5

Мифтахудзинов

экономист

7000

647

14.05.2009

0

7000

5

Лисицина

экономист

8000

1007

14.05.2008

0

9200

2. Расчет минимальной и максимальной зарплат.

3. Наибольший стаж.

4. Суммы, выплаченные отделам.

Размещено на Allbest.ru

...

Подобные документы

  • Характеритсика и роль автоматизации в бухгалтерском учете. Описание создания базы данных для расчета заработной платы сотрудников предприятия, вывода отчета. Выбор программного обеспечения, процедур и функций. Рассмотрение основ интерфейса программы.

    курсовая работа [933,8 K], добавлен 19.04.2015

  • Расчет начисления заработной платы по профессиям и в целом по заводу путем накопления начисленных сумм заработной платы для каждого работника. Выполнение информационной модели задачи. Описание алгоритма решения задачи. Решение задачи средствами MS Access.

    лабораторная работа [4,2 M], добавлен 27.10.2009

  • Таблица как удобное средство представления данных. Разработка электронной таблицы, содержащей базу данных о заработной плате сотрудников. Построение электронной диаграммы, отображающей графически размер заработной платы, налогов, профсоюзных взносов.

    контрольная работа [394,2 K], добавлен 23.11.2010

  • Понятие повременной заработной платы. Документы необходимые для ее учета. Построение функциональной модели SADT и диаграммы потоков данных. Создание базы данных методом "сущность-связь". Реализация форм, отчетов и запросов в среде проектирования Access.

    курсовая работа [2,0 M], добавлен 01.06.2015

  • Выполнение расчёта заработной платы, предназначенной для конкретных заказов в разрезе цехов. Осуществление расчета путём накопления сумм заработной платы, начисленных каждому рабочему. Описание входной информации и методов контроля. Формирование отчета.

    контрольная работа [2,0 M], добавлен 14.02.2010

  • Построение диаграммы последовательности действий и диаграммы классов при автоматизации процесса выдачи заработной платы. Логическая и физическая реализация базы данных, заполнение таблиц и создание выборок. Мапирование реляционной модели в метамодель.

    курсовая работа [1,6 M], добавлен 29.11.2011

  • Разработка конфигурации программы в среде "1С:Предприятие 7.7" для учета клиентов. Автоматизация процедуры учета заработной платы. Описание среды программирования, требования к техническому и программному обеспечению. Методика разработки проекта.

    дипломная работа [349,2 K], добавлен 17.07.2014

  • Организационно-экономическая сущность задачи: обеспечить начисления заработной платы по профессиям и по заводу в целом. Описание входной, условно-постоянной и результирующей информации. Составление алгоритма решения задачи средствами MS Access Excel.

    контрольная работа [1,5 M], добавлен 07.12.2013

  • Составление ежемесячной ведомости по расчету заработной платы, содержащей сумму начисленной заработной платы по участку и сумму заработной платы по цеху. Источники получения исходных документов. Решение задачи средствами MS Excel, информационная модель.

    контрольная работа [766,6 K], добавлен 29.12.2008

  • Последовательный доступ к данным. Язык программирования VBA MS Excel, его характеристика. Создание отчетов и официальных документов. Применение ADO с данными MS Access. Управление данными таблицы через интерфейс. Выборка и представление данных, тип кода.

    курсовая работа [681,7 K], добавлен 01.05.2014

  • Исследование особенностей начисления заработной платы на предприятиях торговли. Анализ фонда заработной платы ООО ТД "Селенга". Выбор программных средств проектирования информационной системы. Описание процесса автоматизации деятельности предприятия.

    дипломная работа [2,6 M], добавлен 23.06.2013

  • Проектирование базы данных "Сведения о плановом фонде заработной платы предприятия по деталям". Создание форм таблиц План производства, Справочник цехов и Справочник деталей, организация взаимосвязей между ними. Конструирование запросов и отчетов.

    контрольная работа [2,9 M], добавлен 09.04.2015

  • Назначение, функции и структура электронных таблиц Microsoft Excel. Методика выполнения расчетов с использованием стандартных функций и построения диаграмм. Пример построения таблицы и диаграммы о размере выплат заработной платы сотрудникам предприятия.

    контрольная работа [1,5 M], добавлен 24.07.2010

  • Общая характеристика операционной системы, ее назначение и ключевые функции. Эволюция и классификация ОС. Работа с таблицами в среде MS Office Excel 2003. Расчет и формирование ведомости зарплаты сотрудников. Порядок построения круговой диаграммы.

    курсовая работа [81,0 K], добавлен 25.04.2013

  • Характеристика инструментальных средств пользователя, входящих в состав интегрированного пакета MS Office: Word, Excel, Access, Power Point, Outlook. Реализация расчета размера отчислений ЕСН с заработной платы сотрудников предприятия в MS Excel.

    курсовая работа [478,1 K], добавлен 30.04.2011

  • Выбор программного обеспечения для разработки интерфейса информационной системы. Создание базы данных для расчета заработной платы сотрудникам средне-специальных учебных заведений, создание выходной информации в виде отчетов, установочного файла.

    дипломная работа [2,4 M], добавлен 11.04.2010

  • Разработка программного обеспечения для регистрации удержаний из заработной платы. Характеристика используемой операционной системы и языка программирования. Написание алгоритма и текста программы меню, ввода данных и формирования выходных документов.

    курсовая работа [2,1 M], добавлен 20.11.2012

  • Разработка базы данных для хранения сведений и расчета заработной платы работников ОАО "Печатный двор". Построение ER-диаграммы на основании информации о персонале. Построение нормальных форм отношений. Разработка запросов и пользовательского интерфейса.

    курсовая работа [1,4 M], добавлен 23.12.2010

  • Закрепление навыков работы с программами пакета MS Office. Создание таблиц в базе данных под управлением программы MS Access, выполнение сортировки, различных видов запросов и диаграммы. Оформление отчета в виде комплексного документа в MS Excel.

    контрольная работа [3,3 M], добавлен 23.12.2014

  • Подготовка проектных решений по технологии обработки данных в диалоговом режиме для решения экономических задач по учету труда и заработной платы. Разработка информационного обеспечения, технологии и алгоритмов решения задачи, диалогового приложения.

    лабораторная работа [576,4 K], добавлен 09.04.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.