Файл: Разработка регламента выполнения процесса «Расчет заработной платы»(Автоматизация в бухгалтерском учете).pdf
Добавлен: 04.04.2023
Просмотров: 309
Скачиваний: 1
Приложение Microsoft Access 2007 исключительно удобно в использовании благодаря готовым шаблонам и эффективным средствам, которые сохраняют свою важность по мере увеличения объема данных.
Access 2007 позволяет эффективно работать с данными даже пользователям, не являющимся специалистами по базам данных. Кроме того, новые веб-базы данных расширяют возможности приложения Access, упрощая отслеживание сведений, их совместное использование и составление отчетов. Получить доступ к данным можно в любой момент через веб-браузер.
С помощью Access 2007 обычные пользователи получили удобное средство для создания и эксплуатации достаточно мощных баз данных без необходимости что-либо программировать. В то же время работа с Access 2007 не исключает возможности программирования, т. к. система включает поддержку языка программирования Visual Basic for Applications, который позволяет создавать дополнительные модули и элементы управления.
Одним из важных достоинств Access 2007 является интеграция этой программы с Excel, Word и другими программами пакета MS Office. Данные, созданные в разных приложениях, входящих в этот пакет, легко импортируются и экспортируются из одного приложения в другое. Распространенность пакета Microsoft Office делает такие базы преемственными.
3.Описание работы программы
При открытии программы появляется форма, на которой находится таблица с нужной нам информацией.
Рис.1
Изначально можно выбрать уже занесенного в базу данных работника, или же добавить нового, щелкнув на кнопку добавить, после чего появится окно «Добавления работника».
Рис. 2
После добавления происходит автоматический возврат на главную форму. После выбора работника из списка можно так же изменить какие-то его данные для этого нужно выделить данного работника и нажать на кнопку «Изменить».
Рис. 3
Так же можно удалить не нужного вам работника из базы для этого нужно выделить данного работника и нажать кнопку «Удалить». После этого запись данного работника из базы данных удалиться.
В данной программе предусмотрено открытие любой другой нужной вам базы данных для этого нужно нажать на кнопку «Открыть» и загрузить ее.
Рис.4
Данная программа имеет возможность вывода справки для расчета заработной платы каждому работнику. Нажав на кнопку «Формирование справки».
Рис.5
Появляется форма, в ней мы нажимаем далее, после чего появляется следующая форма лист расчета заработной платы.
Рис.6
В ней мы вводим данные работника, в какой организации он работает, сколько дней отработал, какая надбавка и сколько дней оплачено.
Рис.7
Теперь форма заполнена данными. До заполнения форма справка имела такой вид.
Рис.8
А после заполнения она принимает такой вид.
Рис.9
В данной справке высчитывается заработная плата работника со всеми надбавками и учетом долга за предприятием. Так же можно вывести отчет с данными на всех сотрудников и отправить ее на печать. Предварительно выбрав отдельные поля для отображения.
Рис.10
Заключение
В настоящее время автоматизация затрагивает все более широкие области. Новейшие компьютерные программы помогают выполнять большую часть работы, эффективно управляя основными и вспомогательными производственными процессами.
В результате выполнения курсовой работы была создана база данных для расчета заработной платы сотрудников, а так же предусмотрен вывод отчета. Благодаря программе сокращается время для выполнения расчетов. Готовая программа способна облегчить работу пользователя за счёт экономии времени и усилий, однако приложение не совершенно. Гибкость выбранной визуальной среды позволяет вносить в приложения необходимые коррективы. Удобный интерфейс позволяет создать необходимые условия для комфортной работы с приложением.
Разработана программа, состоящая из процедур и функций, позволяет: - добавлять, редактировать, удалять, править и хранить в электронном виде данные по сотрудникам. - легко отследить и управлять всеми основными данными на сотрудника. - использовать набор поисковой функции. - выводить отчет на принтер. - выводить данные в справку в Excel. Программный продукт был реализован с помощью пакета MS Office, а так же при помощи языка объектно-ориентированного программирования Borland Delphi 7.0. Использование разработанной программы должно помочь работникам, рассчитывающим заработную плату.
Список литературы
1.Сорокин, А.В. «Delphi. Разработка баз данных». / А.В. Сорокин – СПб.: Питер, 2005.- 447с.
2. Фараонов, В.В. Delphi5. Руководство разработчика баз данных. /В.В. Фаронов, П.В. Шумаков – М.: «Нолидж», 2000. – 640с.
3. Microsoft Office Excel 2007. Библия пользователя, Джон Уокенбах.
4. Синенко О., Леньшин В. Автоматизация предприятия вчера, сегодня, завтра. PC Week. 2000. № 29. С.15 – 16.
5. Петров В.Н. Информационные системы. – СПб.: ПИТЕР, 2006;
6. Баженова И. Delphi7: Самоучитель программиста.- М.: КУДИЦ-ОБРАЗ, 2008.
7.Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. – М.: Мастерство, 2009.
Приложение
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, Grids, DBGrids, DBGridEh, StdCtrls, ComCtrls, Mask, DBCtrls, DBCtrlsEh, PrnDbgeh, Buttons, DBGridEhGrouping, ToolCtrlsEh, DBGridEhToolCtrls, DynVarsEh, GridsEh, DBAxisGridsEh;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
Button1: TButton;
Button2: TButton;
Button3: TButton;
StatusBar1: TStatusBar;
Button4: TButton; DBEditEh4: TDBEditEh;
DBEditEh5: TDBEditEh;
Label4: TLabel;
Label5: TLabel;
DBEditEh6: TDBEditEh;
Label6: TLabel;
Button5: TButton;
Button6: TButton;
Button7: TButton;
OpenDialog1: TOpenDialog;
DBGridEh1: TDBGridEh;
Button8: TButton;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
fs: string;
implementation
uses Unit2, Unit3;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.show;
form2.button1.Visible:=true;
form2.button2.Visible:=true;
form2.button3.Visible:=False;
Form1.ADOQuery1.insert;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin ADOQuery1.Delete;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin Form2.show;
form2.button1.Visible:=true;
form2.button2.Visible:=true;
form2.button3.Visible:=False;
end.
procedure TForm1.Button4Click(Sender: TObject);
begin
ADOQuery1.Active := False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT *');
ADOQuery1.SQL.Add('FROM таблица1');
ADOQuery1.SQL.Add('WHERE Фамилия LIKE' + #39 + dbEditeh4.Text + '%' + #39 +' AND ');
ADOQuery1.SQL.Add('Профессия LIKE' + #39 + dbEditeh5.Text + '%' + #39 +' AND ');
ADOQuery1.SQL.Add('Табномер LIKE' + #39 + dbEditeh6.Text + '%' + #39); ADOQuery1.Active := True; end; procedure TForm1.Button5Click(Sender: TObject);
begin Form3.show; end; procedure TForm1.Button6Click(Sender: TObject); begin dbEditeh4.text:=''; dbEditeh5.text:=''; dbEditeh6.text:=''; Button4Click(Sender);
DBGrideh1.Columns[0].Visible := False;
DBGrideh1.Columns[1].Visible := true;
DBGrideh1.Columns[2].Visible := true;
DBGrideh1.Columns[3].Visible := true;
DBGrideh1.Columns[4].Visible := true;
DBGrideh1.Columns[5].Visible := true;
DBGrideh1.Columns[6].Visible := true;
DBGrideh1.Columns[7].Visible := true;
DBGrideh1.Columns[8].
Visible := true; end;
procedure TForm1.Button7Click(Sender: TObject);
begin if OpenDialog1.Execute then begin ADOConnection1.Close;
adoquery1.Active:=False;
try if OpenDialog1.Execute then AdoConnection1.ConnectionString := 'Data Source=' + OpenDialog1.FileName;
AdoConnection1.Open;
adoquery1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;
Data Source='+ OpenDialog1.FileName; adoquery1.Active:=true;
except ShowMessage('Ошибка подключения !'); end;
ADOConnection1.Connected := true;
DBGrideh1.columns[0].Visible:=false; end;
end.
procedure TForm1.FormCreate(Sender: TObject); begin form1.DBGrideh1.Columns[1].Width:=65; form1.DBGrideh1.Columns[2].Width:=65; form1.DBGrideh1.Columns[3].Width:=65; form1.DBGrideh1.Columns[4].Width:=65; form1.DBGrideh1.Columns[5].Width:=65; form1.DBGrideh1.Columns[6].Width:=40; form1.DBGrideh1.Columns[7].Width:=50; form1.DBGrideh1.Columns[8].Width:=65;
end;
procedure TForm1.Button8Click(Sender: TObject); begin form2.show; form2.button1.Visible:=False;
form2.button2.Visible:=False;
form2.button3.Visible:=True;
end;
end. unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask, DBCtrls, ComObj;
type TForm2 = class(TForm) Label1: TLabel; Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Button1: TButton;
Button2: TButton;
dbedt1: TDBEdit; dbedt2: TDBEdit; dbedt3: TDBEdit; dbedt4: TDBEdit; dbedt5: TDBEdit; dbedt6: TDBEdit; dbedt7: TDBEdit; dbedt8: TDBEdit; lbl1: TLabel; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation uses Unit1, Unit4; {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin Form1.ADOQuery1.Post; close; end; procedure TForm2.Button2Click(Sender: TObject); begin Form2.hide; end. procedure TForm2.Button3Click(Sender: TObject); begin form4.show; end; end. unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, PrnDbgeh; type TForm3 = class(TForm) chk1: TCheckBox; chk2: TCheckBox; chk3: TCheckBox; chk4: TCheckBox; chk5: TCheckBox; chk6: TCheckBox; chk7: TCheckBox; chk8: TCheckBox; btn1: TButton; PrintDBGridEh1: TPrintDBGridEh; procedure btn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form3: TForm3; implementation uses Unit1; {$R *.dfm} procedure TForm3.btn1Click(Sender: TObject); begin form1.DBGrideh1.Columns[0].Visible:=False; form1.DBGrideh1.Columns[1].Visible:=False; form1.DBGrideh1.Columns[2].Visible:=False; form1.DBGrideh1.Columns[3].Visible:=False; form1.DBGrideh1.Columns[4].Visible:=False; form1.DBGrideh1.Columns[5].Visible:=False; form1.DBGrideh1.Columns[6].Visible:=False; form1.DBGrideh1.Columns[7].Visible:=False; form1.DBGrideh1.Columns[8].Visible:=False; if Chk1.Checked=True then begin form1.dbgrideh1.Columns[1].Visible:=True; end; if Chk2.Checked=True then begin form1.dbgrideh1.Columns[2].Visible:=True; end; if Chk3.Checked=True then begin form1.dbgrideh1.Columns[3].Visible:=True; end; if Chk4.Checked=True then begin form1.dbgrideh1.Columns[4].Visible:=True; end; if Chk5.Checked=True then begin form1.dbgrideh1.Columns[5].Visible:=True; end; if Chk6.Checked=True then begin form1.dbgrideh1.Columns[6].Visible:=True; end; if Chk7.Checked=True then begin form1.dbgrideh1.Columns[7].Visible:=True; end; if Chk8.Checked=True then begin form1.dbgrideh1.Columns[8].Visible:=True; end; PrintDBGridEh1.SetSubstitutes(['%[Today]',DateToStr(Now)]); PrintDBGridEh1.Preview; end; end. unit Unit4; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComObj; type TForm4 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label14: TLabel; Label15: TLabel; Label16: TLabel; Label17: TLabel; btn1: TButton; Label18: TLabel; edt1: TEdit; Label19: TLabel; Label20: TLabel; Label21: TLabel; Label22: TLabel; Label23: TLabel; Label24: TLabel; Label25: TLabel; edt2: TEdit; edt3: TEdit; edt4: TEdit; edt5: TEdit; edt6: TEdit; edt7: TEdit; edt8: TEdit; Label26: TLabel; Label27: TLabel; Label28: TLabel; edt9: TEdit; edt10: TEdit; edt11: TEdit; edt12: TEdit; edt13: TEdit; edt14: TEdit; edt15: TEdit; btn2: TButton; procedure FormCreate(Sender: TObject); procedure btn1Click(Sender: TObject); procedure btn2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form4: TForm4; implementation uses Unit2; {$R *.dfm} procedure TForm4.FormCreate(Sender: TObject); begin label9.caption:=Form2.dbedt1.text; label10.caption:=Form2.dbedt2.text; label11.caption:=Form2.dbedt3.text; label12.caption:=Form2.dbedt4.text; label13.caption:=Form2.dbedt5.text; label14.caption:=Form2.dbedt6.text; label15.caption:=Form2.dbedt7.text; label16.caption:=Form2.dbedt8.text; end; procedure TForm4.btn1Click(Sender: TObject); var Excel:variant; begin Excel := CreateOleObject('Excel.Application'); Excel.Workbooks.Open(GetCurrentDir() + '\spravka.xlsx'); Excel.sheets.item['лист1'].activate; Excel.Range['F14']:=''; Excel.Range['F15']:=''; Excel.Range['F16']:=''; Excel.Range['F17']:=''; Excel.Range['F18']:=''; Excel.Range['F19']:=''; Excel.Range['F20']:=''; Excel.Range['i14']:=''; Excel.Range['i15']:=''; Excel.Range['i16']:=''; Excel.Range['i17']:=''; Excel.Range['i18']:=''; Excel.Range['i19']:=''; Excel.Range['i20']:=''; Excel.Range['F14']:=edt2.text; Excel.Range['F15']:=edt3.text; Excel.Range['F16']:=edt4.text; Excel.Range['F17']:=edt5.text; Excel.Range['F18']:=edt6.text; Excel.Range['F19']:=edt7.text; Excel.Range['F20']:=edt8.text; Excel.Range['i14']:=edt9.text; Excel.Range['i15']:=edt10.text; Excel.Range['i16']:=edt11.text; Excel.Range['i17']:=edt12.text; Excel.Range['i18']:=edt13.text; Excel.Range['i19']:=edt14.text; Excel.Range['i20']:=edt15.text; Excel.Range['c2']:=edt1.Text; Excel.Range['c3']:=label9.caption + ' ' +label10.caption + ' ' + label11.caption; Excel.Range['M7']:=label12.caption; Excel.Range['c4']:=label13.caption; Excel.save; Excel.ActiveWorkbook.Close; Excel.Application.Quit; end; procedure TForm4.btn2Click(Sender: TObject); var Excel:variant; begin Excel:=CreateOleObject('Excel.Application'); Excel.Workbooks.Open(GetCurrentDir() + '\spravka.xlsx'); Excel.sheets.item['лист1'].activate; Excel.Application.Visible:=true; end; end.