Файл: Проектирование реализации операций бизнес-процесса «Расчет заработной платы»..pdf
Добавлен: 26.05.2023
Просмотров: 47
Скачиваний: 2
СОДЕРЖАНИЕ
1.1. Характеристика комплекса задач
1.1.2. Характеристика и существующих бизнес –процессов
1.1.3. Характеристика документооборота, возникающего при решении задачи
1.2. Обоснование проектных решений
1.2.1. Обоснование проектных решений по информационному обеспечению
1.2.2. Обоснование проектных решений по программному обеспечению
2.1. Информационное обеспечение задачи
2.1.1. Информационная модель и её описание
2.1.2. Характеристика нормативно-справочной, входной и оперативной информации
2.1.3. Характеристика результатной информации
2.2. Программное обеспечение задачи
2.2.1. Общие положения (дерево функций и сценарий диалога)
2.2.2. Характеристика базы данных
2.2.3. Структурная схема пакета (дерево вызова программных модулей)
2.2.4. Описание программных модулей
Приложение А
Листинг программы
unit UnitTarif;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, ExtCtrls, DBCtrls, Grids, DBGrids, XPMan, Menus,
StdCtrls, Buttons;
type
TFormTarif = class(TForm)
XPManifest: TXPManifest;
DBGridTarif: TDBGrid;
DBNavigatorTarif: TDBNavigator;
MainMenu: TMainMenu;
mnuHelp: TMenuItem;
mnuProgInfo: TMenuItem;
mnuUserManual: TMenuItem;
tmrController: TTimer;
BitBtnEdit: TBitBtn;
BitBtnDel: TBitBtn;
BitBtnAdd: TBitBtn;
BitBtnBegin: TBitBtn;
BitBtnPrev: TBitBtn;
BitBtnNext: TBitBtn;
BitBtnEnd: TBitBtn;
mnuTable: TMenuItem;
mnuNavigate: TMenuItem;
mnuNavBegin: TMenuItem;
mnuNavPrev: TMenuItem;
mnuNavNext: TMenuItem;
mnuNavEnding: TMenuItem;
mnuRecord: TMenuItem;
mnuRecAdd: TMenuItem;
mnuRecDel: TMenuItem;
mnuRecEdit: TMenuItem;
mnuCreateReport: TMenuItem;
N1: TMenuItem;
mnuSorting: TMenuItem;
tmrUpdate: TTimer;
procedure mnuProgInfoClick(Sender: TObject);
procedure tmrControllerTimer(Sender: TObject);
procedure mnuTableClick(Sender: TObject);
procedure BitBtnAddClick(Sender: TObject);
procedure BitBtnDelClick(Sender: TObject);
procedure BitBtnEditClick(Sender: TObject);
procedure BitBtnBeginClick(Sender: TObject);
procedure BitBtnPrevClick(Sender: TObject);
procedure BitBtnNextClick(Sender: TObject);
procedure BitBtnEndClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure mnuCreateReportClick(Sender: TObject);
procedure mnuUserManualClick(Sender: TObject);
procedure mnuRecAddClick(Sender: TObject);
procedure mnuRecDelClick(Sender: TObject);
procedure mnuRecEditClick(Sender: TObject);
procedure mnuNavBeginClick(Sender: TObject);
procedure mnuNavPrevClick(Sender: TObject);
procedure mnuNavNextClick(Sender: TObject);
procedure mnuNavEndingClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure mnuSortingClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure MySort();
end;
var
FormTarif: TFormTarif;
Procedure ModeSort();
implementation
uses UnitDataModule, UnitZar, funct, UnitReport, UnitSort,
UnitAdd_Edit;
{$R *.dfm}
procedure TFormTarif.mnuProgInfoClick(Sender: TObject);
begin
MessageBoxA
(
Handle,
'Программа расчета тарификации учителей СШ №10 v1.0' + #10#13,
'О программе...',
0 + 64
);
end;
procedure TFormTarif.tmrControllerTimer(Sender: TObject);
var
Count:integer;
Current:integer;
begin
mnuTable.Enabled := not DataModuleTarif.ADOTableRabotnik.IsEmpty;
Current := DataModuleTarif.ADOTableRabotnik.RecNo; // текущая запись
Count := DataModuleTarif.ADOTableRabotnik.RecordCount;
// состояния кнпок "В начало" и "Пред. запись"
if Current > 1 then
begin
BitBtnBegin.Enabled := True;
BitBtnPrev.Enabled := True;
mnuNavBegin.Enabled := True;
mnuNavPrev.Enabled := True;
end
else
begin
BitBtnBegin.Enabled := False;
BitBtnPrev.Enabled := False;
mnuNavBegin.Enabled := False;
mnuNavPrev.Enabled := False
end;
// состояния кнпок "След. запись" и "В конец"
if Current < Count then
begin
BitBtnNext.Enabled := True;
BitBtnEnd.Enabled := True;
mnuNavNext.Enabled := True;
mnuNavEnding.Enabled := True
end
else
begin
BitBtnNext.Enabled := False;
BitBtnEnd.Enabled := False;
mnuNavNext.Enabled := False;
mnuNavEnding.Enabled := False
end;
// состояние кнопки "Удалить"
if DBNavigatorTarif.Controls[Ord(nbDelete)].Enabled then
begin
BitBtnDel.Enabled := True;
mnuRecDel.Enabled := True
end
else
begin
BitBtnDel.Enabled := False;
mnuRecDel.Enabled := False
end;
// состояние кнопки "Добавить"
if DBNavigatorTarif.Controls[Ord(nbInsert)].Enabled then
begin
BitBtnAdd.Enabled := True;
mnuRecAdd.Enabled := True;
end
else
begin
BitBtnAdd.Enabled := False;
mnuRecAdd.Enabled := False;
end;
// состояние кнопки "Изменить"
if DBNavigatorTarif.Controls[Ord(nbEdit)].Enabled then
begin
BitBtnEdit.Enabled := True;
mnuRecEdit.Enabled := True
end
else
begin
BitBtnEdit.Enabled := False;
mnuRecEdit.Enabled := False
end;
end;
procedure TFormTarif.mnuTableClick(Sender: TObject);
begin
Application.CreateForm(TFormTar, FormTar);
FormTar.ShowModal;
FormTar.Free;
end;
procedure TFormTarif.BitBtnAddClick(Sender: TObject);
begin
DataModuleTarif.ADOTableRabotnik.Insert;
Application.CreateForm(TFormData, FormData);
FormData.Caption := 'Добавление данных нового сотрудника';
FormData.CBKategory.ItemIndex := 0;
FormData.ShowModal;
FormData.Free;
FormTarif.SetFocus;
DBGridTarif.SetFocus;
end;
procedure TFormTarif.BitBtnDelClick(Sender: TObject);
begin
if Application.MessageBox
(
PChar('Вы действительно хотите удалить запись ' + chr(39) +
DataModuleTarif.ADOTableRabotnikFIO.AsString + Chr(39)),
'Удаление',
MB_YESNO + 32) = ID_YES then
DataModuleTarif.ADOTableRabotnik.Delete;
DBGridTarif.SetFocus;
end;
procedure TFormTarif.BitBtnEditClick(Sender: TObject);
begin
DataModuleTarif.ADOTableRabotnik.Edit;
Application.CreateForm(TFormData, FormData);
FormData.Caption := 'Изменение данных сотрудника';
FormData.LblName.Text := DataModuleTarif.ADOTableRabotnikFIO.AsString;
FormData.MaskEditData.Text :=
DateTimeToStr(DataModuleTarif.ADOTableRabotnikData_rozhden.AsDateTime);
FormData.LblAddrr.Text := DataModuleTarif.ADOTableRabotnikAddress.AsString;
FormData.LblTel.Text := DataModuleTarif.ADOTableRabotnikPhone.AsString;
FormData.CBKategory.ItemIndex :=
DataModuleTarif.ADOTableRabotniknum_kategory.AsInteger;
FormData.ShowModal;
FormData.Free;
FormTarif.SetFocus;
DBGridTarif.SetFocus;
end;
procedure TFormTarif.BitBtnBeginClick(Sender: TObject);
begin
DataModuleTarif.ADOTableRabotnik.First;
DBGridTarif.SetFocus;
end;
procedure TFormTarif.BitBtnPrevClick(Sender: TObject);
begin
DataModuleTarif.ADOTableRabotnik.Prior;
DBGridTarif.SetFocus;
end;
procedure TFormTarif.BitBtnNextClick(Sender: TObject);
begin
DataModuleTarif.ADOTableRabotnik.Next;
DBGridTarif.SetFocus;
end;
procedure TFormTarif.BitBtnEndClick(Sender: TObject);
begin
DataModuleTarif.ADOTableRabotnik.Last;
DBGridTarif.SetFocus;
end;
procedure TFormTarif.FormCreate(Sender: TObject);
begin
CurrentOption := LoadRegistry();
end;
procedure TFormTarif.mnuCreateReportClick(Sender: TObject);
begin
Application.CreateForm(TFormReport, FormReport);
FormReport.QuickRepSotr.Preview;
FormReport.Free;
end;
procedure TFormTarif.mnuUserManualClick(Sender: TObject);
begin
{call} StartApplication('HELP\index.htm');
end;
procedure TFormTarif.mnuRecAddClick(Sender: TObject);
begin
{call} BitBtnAddClick(Sender);
end;
procedure TFormTarif.mnuRecDelClick(Sender: TObject);
begin
{call} BitBtnDelClick(Sender);
end;
procedure TFormTarif.mnuRecEditClick(Sender: TObject);
begin
{call} BitBtnEditClick(Sender);
end;
procedure TFormTarif.mnuNavBeginClick(Sender: TObject);
begin
{call} BitBtnBeginClick(Sender);
end;
procedure TFormTarif.mnuNavPrevClick(Sender: TObject);
begin
{call} BitBtnPrevClick(Sender);
end;
procedure TFormTarif.mnuNavNextClick(Sender: TObject);
begin
{call} BitBtnNextClick(Sender);
end;
procedure TFormTarif.mnuNavEndingClick(Sender: TObject);