Автор: Пользователь скрыл имя, 30 Октября 2011 в 21:28, курсовая работа
В данной работе представлено прикладное программное обеспечение, которое позволяет автоматизировать расчет заработной платы.
Данный программный продукт предназначен, прежде всего, для ведения данных:
Справочник штрафов, премий и кредитов.
Список сотрудников организации
Табель учета рабочего времени
Данная программа не является универсальной
procedure TForm7.ComboBox1KeyPress(
begin
key:=#0;
end;
procedure TForm7.ComboBox2KeyPress(
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('
povtor:=true;
end;
if (not povtor) then
//Заносятся только те отделы которые есть в таблице "Сотрудники", и которые не повторяются
ComboBox1.Items.Add(Form1.
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('
Begin
Table1.First;
While not table1.Eof do
begin
if Table1.FieldByname('Tabnom').
begin
inc(i);
Stringgrid1.RowCount:=
Stringgrid1.Cells[0,i]:=
Stringgrid1.Cells[1,i]:=
Stringgrid1.Cells[2,i]:=
Stringgrid1.Cells[3,i]:=
Stringgrid1.Cells[4,i]:=
sumzar:=sumzar+Table1.
Stringgrid1.Cells[5,i]:=
sumnach:=sumnach+Table1.
Stringgrid1.Cells[6,i]:=
sumyder:=sumyder+Table1.
Stringgrid1.Cells[7,i]:=
sumnar:=sumnar+Table1.
end;
Table1.Next;
end;
end;
Form1.Table1.Next;
end;
inc(i);
// Вывод общей сыммы зарплаты. начислений, удержаний, на руки
Stringgrid1.Cells[3,i]:='Итог'
Stringgrid1.Cells[4,i]:=
Stringgrid1.Cells[5,i]:=
Stringgrid1.Cells[6,i]:=
Stringgrid1.Cells[7,i]:=
end;
//Кнопка "Создать отчет"
procedure TForm8.Button1Click(Sender: TObject);
begin
//открытие файла project1.rav
RvProject1.SetProjectFile(
RvProject1.SetParam('DAY','
RvProject1.ExecuteReport('
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').
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.