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

Автор: Пользователь скрыл имя, 30 Октября 2011 в 21:28, курсовая работа

Описание работы

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

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

Данная программа не является универсальной

Работа содержит 1 файл

Курсовая.doc

— 1.09 Мб (Скачать)

procedure TForm7.ComboBox1KeyPress(Sender: TObject; var Key: Char);

begin

key:=#0;

end; 

procedure TForm7.ComboBox2KeyPress(Sender: TObject; var Key: Char);

begin

key:=#0;

end; 

end.

 

Код модуля Unit8 

unit Unit8;// окно "Учетная ведомость" 

interface 

uses  //Подключение  библеотек

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

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

  RpConDS, RpDefine, RpRave, DBCtrls; 

type  // Описание  объектов

  TForm8 = class(TForm)

    DataSource1: TDataSource;

    Panel1: TPanel;

    Label2: TLabel;

    Label1: TLabel;

    ComboBox1: TComboBox;

    Label3: TLabel;

    Button1: TButton;

    StringGrid1: TStringGrid;

    Table1: TTable;

    RvProject1: TRvProject;

    RvDataSetConnection1: TRvDataSetConnection;

    ComboBox2: TComboBox;

    GroupBox1: TGroupBox;

    procedure ViborOtdel;

    procedure ComboBox1Change(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure ComboBox2Change(Sender: TObject);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form8: TForm8; 

implementation 

//Подключаемые  модули

uses Unit1,//модуль  окна "Сотрудники"

     Unit6;//модуль окна "Начисление и удержание" 

{$R *.dfm} 

//процедура выбора  отдела

procedure TForm8.ViborOtdel;

var

  povtor:Boolean;

  q:integer;

begin

Combobox1.Clear;

Combobox1.Items.Add('Все');

Form1.Table1.First;

While not Form1.Table1.Eof do

begin

   povtor:=false;

   for q:=0 to ComboBox1.Items.Count-1 do

   Begin

     if (Form1.Table1.FieldByName('Otdel').AsString =  ComboBox1.Items[q]) then

       povtor:=true;

   end;

   if (not povtor) then

   //Заносятся только те отделы которые есть в таблице "Сотрудники", и которые не повторяются

   ComboBox1.Items.Add(Form1.Table1.FieldByName('Otdel').AsString);

   Form1.Table1.Next;

   end;

Combobox1.Text:='Все';

end; 

//Заполнение  полей Stringgrid по выбранному отделу

procedure TForm8.ComboBox1Change(Sender: TObject);

var i:integer;

    sumzar:real;

    sumnach:real;

    sumyder:real;

    sumnar:real;

begin

    sumzar:=0;

    sumnach:=0;

    sumyder:=0;

    sumnar:=0;

For i:=1 to StringGrid1.RowCount do

StringGrid1.Rows[i].Clear;

Stringgrid1.RowCount:=2;

i:=0;

Form1.Table1.First;

While not Form1.Table1.Eof do

begin

  if (Combobox1.Text = Form1.Table1.FieldByname('Otdel').AsString) or (Combobox1.Text='Все') then

  Begin

  Table1.First;

  While not table1.Eof do

  begin

    if Table1.FieldByname('Tabnom').AsString = Form1.Table1.FieldByname('Tabnom').AsString then

    begin

      inc(i);

      Stringgrid1.RowCount:=Stringgrid1.RowCount+1;

      Stringgrid1.Cells[0,i]:=Table1.FieldByname('Tabnom').AsString;

      Stringgrid1.Cells[1,i]:=Table1.FieldByname('Fio').AsString;

      Stringgrid1.Cells[2,i]:=Table1.FieldByname('Oklad').AsString;

      Stringgrid1.Cells[3,i]:=Table1.FieldByname('Kod').AsVariant;

     Stringgrid1.Cells[4,i]:=Table1.FieldByname('Zarplat').AsVariant;

      sumzar:=sumzar+Table1.FieldByname('Zarplat').AsVariant;

      Stringgrid1.Cells[5,i]:=Table1.FieldByname('Nachisl').AsVariant;

      sumnach:=sumnach+Table1.FieldByname('Nachisl').AsVariant;

      Stringgrid1.Cells[6,i]:=Table1.FieldByname('Yderzhan').AsVariant;

      sumyder:=sumyder+Table1.FieldByname('Yderzhan').AsVariant;

      Stringgrid1.Cells[7,i]:=Table1.FieldByname('Na_ryki').AsVariant;

      sumnar:=sumnar+Table1.FieldByname('Na_ryki').AsVariant;

    end;

      Table1.Next;

  end; 

end; 

Form1.Table1.Next;

end;

  inc(i);

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

  Stringgrid1.Cells[3,i]:='Итог';

  Stringgrid1.Cells[4,i]:=floattostr(sumzar);

  Stringgrid1.Cells[5,i]:=floattostr(sumnach);

  Stringgrid1.Cells[6,i]:=floattostr(sumyder);

  Stringgrid1.Cells[7,i]:=floattostr(sumnar);

end; 
 

//Кнопка "Создать  отчет"

procedure TForm8.Button1Click(Sender: TObject);

begin

//открытие файла  project1.rav

RvProject1.SetProjectFile(ExtractFilePath(Application.ExeName)+'project1.rav');

RvProject1.SetParam('DAY','привет');

RvProject1.ExecuteReport('Report1');

RvProject1.Close;

//RvProject1.Execute;

end; 
 

procedure TForm8.ComboBox2Change(Sender: TObject);

var

   nomstr:integer;

begin

Table1.First;

While (not table1.Eof)  do

begin

  if Table1.FieldByName('Fio').AsString = Combobox2.Text then

  break;

  table1.Next;

end;

end; 

procedure TForm8.FormClose(Sender: TObject; var Action: TCloseAction);

begin

ComboBox2.Clear;

ComboBox2.Text:='Выбрать';

end; 

procedure TForm8.FormCreate(Sender: TObject);

begin

Stringgrid1.Cells[0,0]:='Таб  №';

Stringgrid1.Cells[1,0]:='ФИО';

Stringgrid1.Cells[2,0]:='Оклад';

Stringgrid1.Cells[3,0]:='Рабоч.  дни';

Stringgrid1.Cells[4,0]:='Зарплата';

Stringgrid1.Cells[5,0]:='Начисление';

Stringgrid1.Cells[6,0]:='Удержание';

Stringgrid1.Cells[7,0]:='На  руки';

end; 

end.

Информация о работе Расчет заработной платы