Диплом: Автоматизация набора, отбора и профессиональной адаптации персонала предприятия для ОАО "Электросталь"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
113
FormSpr.TabSheet6.Show;
end;
procedure TFormMain.N11Click(Sender: TObject);
begin
FormVacMis.Show;
FormVacMis.TabSheet2.Show;
end;
procedure TFormMain.N2Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TFormMain.N4Click(Sender: TObject);
begin
FormAbout.Show;
end;
procedure TFormMain.N26Click(Sender: TObject);
begin
Dm.TPersonal.Locate('Код сотрудника',Dm.QState.FieldByName('Код
сотрудника').AsString,[]);
FormAnketa.Show;
end;
procedure TFormMain.Button1Click(Sender: TObject);
begin
Dm.TState.Insert;
FormStat.Show;
end;
114
procedure TFormMain.Button3Click(Sender: TObject);
begin
Dm.TPersonal.Delete;
end;
procedure TFormMain.Button2Click(Sender: TObject);
begin
FormStat.Show;
end;
procedure TFormMain.N14Click(Sender: TObject);
var ExcelApp: OleVariant;
begin
try
ExcelApp := GetActiveOleObject('Excel.Application');
except
on EOLESysError do
ExcelApp := CreateOleObject('Excel.Application');
end;
ExcelApp.Visible := True;
ExcelApp.DisplayAlerts := False;
Ошибка! о Ошибка!');
ExcelApp.WorkSheets[1].Activate;
try
Dm.ExecSQL(' SELECT t1.Принят, t1.[Табельный номер], t2.[Фамилия],
t2.[Имя], t2.[Отчество], t4.[Наименование] AS Должность, t5.[Название] AS Отдел,
t3.[Оклад], t3.[Надбавка], t1.[Дата договора], t1.[Договор] ' +
'
FROM [Штат] t1, [Сотрудник] t2, [Штатное расписание] t3,
[Должность] t4, [Отдел] t5' +
'
WHERE t1.[Код расписания]=t3.[Код расписания]' +
' AND t1.[Код сотрудника]=t2.[Код сотрудника]' +
'
AND t3.[Код отдела]=t5.[Код отдела]' +
115
'
AND t3.[Код должности]=t4.[Код должности]' +
'
AND t1.[Табельный номер]=' +
Dm.QState.FieldByName('ТабНомер').AsString );
Dm.QSelect.Active:=true;
except
End;
ExcelApp.Range['B9',EmptyParam].Formula:=FormAbout.Edit1.Text;
ExcelApp.Range['J13',EmptyParam].Formula:=Date;
ExcelApp.Range['I17',EmptyParam].Formula:=Dm.QSelect.FieldByName('Принят').As
String;
Ошибка!+''+ Ошибка!+' '+Dm.QSelect.FieldByName('Отчество').AsString;
ExcelApp.Range['J21',EmptyParam].Formula:=Dm.QSelect.FieldByName('Табельный
номер').AsString;
ExcelApp.Range['C23',EmptyParam].Formula:=Dm.QSelect.FieldByName('Отдел').AsS
tring;
Ошибка!;
ExcelApp.Range['E31',EmptyParam].Formula:=Dm.QSelect.FieldByName('Оклад').AsFloat
;
ExcelApp.Range['E32',EmptyParam].Formula:=Dm.QSelect.FieldByName('Надбавка').
AsFloat;
ExcelApp.Range['E37',EmptyParam].Formula:=Dm.QSelect.FieldByName('Дата
договора').AsString;
116
ExcelApp.Range['H37',EmptyParam].Formula:=Dm.QSelect.FieldByName('Договор').A
sString;
ExcelApp.Range['E41',EmptyParam].Formula:=FormAbout.Edit2.Text;
ExcelApp.Range['J41',EmptyParam].Formula:=FormAbout.Edit3.Text;
end;
procedure TFormMain.N15Click(Sender: TObject);
var ExcelApp: OleVariant;
begin
try
ExcelApp := GetActiveOleObject('Excel.Application');
except
on EOLESysError do
ExcelApp := CreateOleObject('Excel.Application');
end;
ExcelApp.Visible := True;
ExcelApp.DisplayAlerts := False;
Ошибка! об Ошибка!');
ExcelApp.WorkSheets[1].Activate;
try
Dm.ExecSQL(' SELECT t1.Принят, t1.[Табельный номер], t2.[Фамилия],
t2.[Имя], t2.[Отчество], t4.[Наименование] AS Должность, t5.[Название] AS Отдел,
t1.[Дата договора], t1.[Договор], t1.[Основание] ' +
'
FROM [Штат] t1, [Сотрудник] t2, [Штатное расписание] t3,
[Должность] t4, [Отдел] t5' +
'
WHERE t1.[Код расписания]=t3.[Код расписания]' +
' AND t1.[Код сотрудника]=t2.[Код сотрудника]' +
'
AND t3.[Код отдела]=t5.[Код отдела]' +
'
AND t3.[Код должности]=t4.[Код должности]' +
'
AND t1.[Табельный номер]=' +
Dm.QState.FieldByName('ТабНомер').AsString );
117
Dm.QSelect.Active:=true;
except
End;
ExcelApp.Range['B9',EmptyParam].Formula:=FormAbout.Edit1.Text;
ExcelApp.Range['J15',EmptyParam].Formula:=Date;
ExcelApp.Range['F18',EmptyParam].Formula:=Dm.QSelect.FieldByName('Дата
договора').AsString;
Ошибка!;
ExcelApp.Range['I17',EmptyParam].Formula:=Dm.QSelect.FieldByName('Принят').AsString
;
ExcelApp.Range['B21',EmptyParam].Formula:=Dm.QSelect.FieldByName('Фамилия').
AsString+' '+Dm.QSelect.FieldByName('Имя').AsString+''+
Dm.QSelect.FieldByName('Отчество').AsString;
ExcelApp.Range['L21',EmptyParam].Formula:=Dm.QSelect.FieldByName('Табельный
номер').AsString;
ExcelApp.Range['B23',EmptyParam].Formula:=Dm.QSelect.FieldByName('Отдел').AsString
;
ExcelApp.Range['B25',EmptyParam].Formula:=Dm.QSelect.FieldByName('Должность'
).AsString;
Ошибка!;
ExcelApp.Range['E40',EmptyParam].Formula:=FormAbout.Edit2.Text;
ExcelApp.Range['K40',EmptyParam].Formula:=FormAbout.Edit3.Text;
end;
118
procedure TFormMain.DBGrid1DblClick(Sender: TObject);
begin
FormStat.Show;
end;
procedure TFormMain.N17Click(Sender: TObject);
begin
FormSpr.Show;
FormSpr.TabSheet7.Show;
end;
procedure TFormMain.N18Click(Sender: TObject);
begin
FormStList.Show;
end;
procedure TFormMain.N16Click(Sender: TObject);
begin
FormVacMis.Show;
FormVacMis.TabSheet1.Show;
end;
procedure TFormMain.Button4Click(Sender: TObject);
begin
FormSpr.Show;
FormSpr.TabSheet6.Show;
end;
//Процедура отправки данных в Excel
Procedure ExcExport( Tema:string; Query:TADOQuery);
var ExcelApp: OleVariant;
119
i,j:integer;
begin
try
ExcelApp := GetActiveOleObject('Excel.Application');
except
on EOLESysError do
ExcelApp := CreateOleObject('Excel.Application');
end;
ExcelApp.Visible := True;
ExcelApp.DisplayAlerts := False;
ExcelApp.WorkBooks.Add;
ExcelApp.WorkSheets[1].Activate;
ExcelApp.Range['A1',EmptyParam].Formula:=Tema;
ExcelApp.Range['A2',EmptyParam].Formula:='№';
Query.First;
ExcelApp.Cells.Item [2,2]:=Query.FieldCount;
For j:=0 to Query.FieldCount-1 do
ExcelApp.Cells.Item [2,j+2]:=Query.Fields.Fields[j].DisplayName;
i:=3;
While not Query.Eof do
Begin
ExcelApp.Cells.Item[ i,1]:=i-2;
For j:=0 to Query.FieldCount-1 do
ExcelApp.Cells.Item[ i,j+2]:=Query.Fields.Fields[j].Value;
Query.Next;
i:=i+1;
End;
// Выравнивание заголовка таблицы по центру и выделение жирным
ExcelApp.Range['A1',
ExcelApp.Cells.Item
[1,
т
Q
аа
ExcelApp.Selection.Merge;
uery.FieldCount+1]].Select;
120
ExcelApp.Rows.Rows[1].HorizontalAlignment:=3;
ExcelApp.Rows.Rows[2].HorizontalAlignment:=3;
ExcelApp.Rows.Rows[1].Font.Bold:=true;
ExcelApp.Rows.Rows[2].Font.Bold:=true;
// Автоподбор ширины столбцов
ExcelApp.Cells.Select;
ExcelApp.Selection.Columns.AutoFit;
//Прорисовка границ
ExcelApp.Range['A2', ExcelApp.Cells.Item [i-1,Query.FieldCount+1]].Select;
ExcelApp.Selection.Borders[7].LineStyle:=1;
ExcelApp.Selection.Borders[8].LineStyle:=1;
ExcelApp.Selection.Borders[9].LineStyle:=1;
ExcelApp.Selection.Borders[10].LineStyle:=1;
ExcelApp.Selection.Borders[11].LineStyle:=1;
ExcelApp.Selection.Borders[12].LineStyle:=1;
// Снятие выделения
ExcelApp.Range['A2', EmptyParam].Select;
End;
procedure TFormMain.N19Click(Sender: TObject);
begin
ExcExport( N19.Caption, Dm.QPersonal);
end;
procedure TFormMain.N20Click(Sender: TObject);
var ExcelApp: OleVariant;
begin
try
ExcelApp := GetActiveOleObject('Excel.Application');
except
on EOLESysError do
121
ExcelApp := CreateOleObject('Excel.Application');
end;
ExcelApp.Visible := True;
ExcelApp.DisplayAlerts := False;
Ошибка! документов в Ошибка!');
ExcelApp.WorkSheets[1].Activate;
ExcelApp.Range['J5',EmptyParam].Formula:=FormAbout.Edit7.Text;
ExcelApp.Range['C6',EmptyParam].Formula:=FormAbout.Edit4.Text;
ExcelApp.Range['N6',EmptyParam].Formula:=FormAbout.Edit5.Text;
ExcelApp.Range['L7',EmptyParam].Formula:=FormAbout.Edit1.Text;
ExcelApp.Range['B47',EmptyParam].Formula:=FormAbout.Edit2.Text;
ExcelApp.Range['W47',EmptyParam].Formula:=FormAbout.Edit3.Text;
ExcelApp.Range['B49',EmptyParam].Formula:=DateToStr(Now);
end;
procedure TFormMain.N21Click(Sender: TObject);
var ExcelApp: OleVariant;
begin
try
ExcelApp := GetActiveOleObject('Excel.Application');
except
on EOLESysError do
ExcelApp := CreateOleObject('Excel.Application');
end;
ExcelApp.Visible := True;
ExcelApp.DisplayAlerts := False;
Ошибка! договор.xlt');
ExcelApp.WorkSheets[1].Activate;
try
122
Dm.ExecSQL ('SELECT t2.[Фамилия], t2.[Имя], t2.[Отчество],
t4.[Наименование] AS Должность, t5.[Название] AS Отдел, t1.[Дата договора],
t1.[Договор] ' +
'
FROM [Штат] t1, [Сотрудник] t2, [Штатное расписание] t3,
[Должность] t4, [Отдел] t5' +
'
WHERE t1.[Код расписания]=t3.[Код расписания]' +
' AND t1.[Код сотрудника]=t2.[Код сотрудника]' +
'
AND t3.[Код отдела]=t5.[Код отдела]' +
'
AND t3.[Код должности]=t4.[Код должности]' +
'
AND t1.[Табельный номер]=' +
Dm.QState.FieldByName('ТабНомер').AsString );
Dm.QSelect.Active:=true;
except
End;
ExcelApp.Range['B9',EmptyParam].Formula:=FormAbout.Edit1.Text;
ExcelApp.Range['B15',EmptyParam].Formula:=FormAbout.Edit1.Text;
ExcelApp.Range['C17',EmptyParam].Formula:=FormAbout.Edit2.Text;
ExcelApp.Range['H17',EmptyParam].Formula:=FormAbout.Edit3.Text;
ExcelApp.Range['B20',EmptyParam].Formula:=Dm.QSelect.FieldByName('Фамилия').
AsString+'
'+Dm.QSelect.FieldByName('Имя').AsString+'
'+Dm.QSelect.FieldByName('Отчество').AsString;
ExcelApp.Range['B27',EmptyParam].Formula:=Dm.QSelect.FieldByName('Должность'
).AsString;
ExcelApp.Range['C31',EmptyParam].Formula:=Dm.QSelect.FieldByName('Отдел').AsS
tring;
ExcelApp.Range['G46',EmptyParam].Formula:=Dm.QSelect.FieldByName('Дата
договора').AsString;

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)