Диплом: Автоматизация учёта кредитных операций ломбарда ООО "Золотой век"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
116
end;
var
frmAgreement: TfrmAgreement;
implementation
usesDataBase;
{$R *.dfm}
procedureTfrmAgreement.FormShow(Sender: TObject);
begin
DataInfo.tAgreement.Open;
iffrmAgreement.Tag=1 then
begin
DataInfo.tAgreement.Insert;
DataInfo.tAgreement.FieldByName('StateId').AsInteger:=1;
vgAgreementStateId.Properties.EditProperties.ReadOnly:=True;
end
else
begin
DataInfo.tAgreement.Locate('Id',DataInfo.qListAgreements.FieldByName('Id').
asInteger,[]);
DataInfo.tAgreement.Edit;
vgAgreementStateId.Properties.EditProperties.ReadOnly:=False;
end;
end;
procedureTfrmAgreement.btnNoClick(Sender: TObject);
begin
117
DataInfo.tAgreement.Cancel;
frmAgreement.Close;
end;
procedureTfrmAgreement.btnYesClick(Sender: TObject);
begin
ifDataInfo.tAgreement.FieldByName('DateAgreement').isNull then
begin
MessageDlg('Укажитеназваниеработ!',mtError,[mbOk],0);
Exit
end;
ifDataInfo.tAgreement.FieldByName('Term').isNull then
begin
MessageDlg('Укажитесрокдоговора!',mtError,[mbOk],0);
Exit
end;
ifDataInfo.tAgreement.FieldByName('ClientId').isNull then
begin
MessageDlg('Укажитеклиента!',mtError,[mbOk],0);
Exit
end;
DataInfo.tAgreement.FieldByName('UserId').AsInteger:=UserId;
DataInfo.tAgreement.Post;
DataInfo.qListAgreements.Close;
DataInfo.qListAgreements.Open;
frmAgreement.Close;
end;
end.
unit Detail;
118
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls,
cxLookAndFeels,
cxLookAndFeelPainters, cxStyles, dxSkinsCore, dxSkinsDefaultPainters,
ExcelXP,
dxSkinscxPCPainter, cxCustomData, cxFilter, cxData, cxDataStorage, cxEdit,
cxNavigator, Data.DB, cxDBData, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxGridCustomView,
cxGrid,
Vcl.ComCtrls, Vcl.ToolWin, cxSplitter, cxDBLookupComboBox, ShellAPI;
type
TfrmDetail = class(TForm)
cxSplitter1: TcxSplitter;
pcValuation: TPageControl;
tsValuations: TTabSheet;
tbRequests: TToolBar;
btnNewValuation: TToolButton;
btnEditValuation: TToolButton;
btnDelValuation: TToolButton;
pcOperation: TPageControl;
tsOperation: TTabSheet;
ToolBar1: TToolBar;
btnNewOperation: TToolButton;
btnEditOperation: TToolButton;
btnDelOperation: TToolButton;
ToolButton6: TToolButton;
119
btnPrintOper: TToolButton;
grdValuations: TcxGrid;
tblListValuations: TcxGridDBTableView;
tblListValuationsValueName: TcxGridDBColumn;
tblListValuationsTypeId: TcxGridDBColumn;
tblListValuationsTotalCost: TcxGridDBColumn;
tblListValuationsCreditValue: TcxGridDBColumn;
tblListValuationsPayValue: TcxGridDBColumn;
tblListValuationsToPayValue: TcxGridDBColumn;
tblListValuationsPercValue: TcxGridDBColumn;
grdValuationsLevel1: TcxGridLevel;
grdOperations: TcxGrid;
tblOperations: TcxGridDBTableView;
tblOperationsDateOper: TcxGridDBColumn;
tblOperationsTypeId: TcxGridDBColumn;
tblOperationsSuma: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
ToolButton1: TToolButton;
btnClose: TToolButton;
procedureFormClose(Sender: TObject; var Action: TCloseAction);
procedureFormShow(Sender: TObject);
procedurebtnPrintOperClick(Sender: TObject);
procedurebtnNewValuationClick(Sender: TObject);
procedurebtnEditValuationClick(Sender: TObject);
procedurebtnDelValuationClick(Sender: TObject);
procedurebtnDelOperationClick(Sender: TObject);
procedurebtnNewOperationClick(Sender: TObject);
procedurebtnCloseClick(Sender: TObject);
procedurebtnEditOperationClick(Sender: TObject);
private
{ Private declarations }
120
public
{ Public declarations }
end;
type
TExecState = (esNormal, esMinimized, esMaximized);
const
xlLCID = LOCALE_USER_DEFAULT;
ExcelSign =
chr(208)+chr(207)+chr(17)+chr(224)+chr(161)+chr(177)+chr(26)+chr(225);
var
frmDetail: TfrmDetail;
ExcelApp: ExcelXP.TExcelApplication;
IWorkbook: ExcelXP._Workbook;
IWorksheets: ExcelXP.Sheets;
ISheet: ExcelXP._Worksheet;
Result, Row, Col, RowCount, ColCount: Integer;
i: Integer;
fd, fn: PChar;
NumEd: array[1..19] ofstring = ('один ', 'два ', 'три ', 'четыре ', 'пять ', 'шесть ',
'семь ', 'восемь ', 'девять ', 'десять ', 'одиннадцать ', 'двенадцать ', 'тринадцать ',
'четырнадцать ', 'пятнадцать ', 'шестнадцать ', 'семнадцать ', 'восемнадцать ',
'девятнадцать ');
NumEd1: array[1..2] of string = ('одна ', 'две ');
NumDec: array[2..9] ofstring = ('двадцать ', 'тридцать ', 'сорок ', 'пятьдесят ',
'шестьдесят ', 'семьдесят ', 'восемьдесят ', 'девяносто ');
NumSot: array[1..9] ofstring = ('сто ', 'двести ', 'триста ', 'четыреста ', 'пятьсот
', 'шестьсот ', 'семьсот ', 'восемьсот ', 'девятьсот ');
Xlion0: array[1..3] ofstring = ('тысяч ', 'миллионов ', 'миллиардов ');
121
Xlion1: array[1..3] ofstring = ('тысяча ', 'миллион ', 'миллиард ');
Xlion2: array[1..3] ofstring = ('тысячи ', 'миллиона ', 'миллиарда ');
functionMoneyToString(Money: Double): string;
functionFileExecute(constFileName, Params, StartDir: string;
InitialState: TExecState): THandle;
implementation
{$R *.dfm}
usesDataBase, Main, Valuation, Operation;
functionMoneyToString(Money: Double): string;
var
Money3, MoneyI, MoneyK, Digit, LastDigit, T: Integer;
Sto, Kop: string;
begin
Result := '';
MoneyI :=Trunc(Money);
MoneyK := Round((Money - MoneyI) * 100);
T := 0;
whileMoneyI> 0 do begin
Money3 := MoneyI mod 1000;
MoneyI :=MoneyI div 1000;
Sto := '';
if (Money3 mod 100) < 20 then begin
LastDigit := Money3 mod 20;
ifLastDigit> 0 then
if (T = 1) and (LastDigit in [1..2]) then Sto := NumEd1[LastDigit]
122
elseSto := NumEd[LastDigit];
Money3 := Money3 div 100;
end else begin
LastDigit := Money3 mod 10;
ifLastDigit> 0 then
if (T = 1) and (LastDigit in [1..2]) then Sto := NumEd1[LastDigit]
elseSto := NumEd[LastDigit];
Money3 := Money3 div 10;
Digit := Money3 mod 10;
if Digit > 0 then Sto := NumDec[Digit] + Sto;
Money3 := Money3 div 10;
end;
if Money3 > 0 then Sto := NumSot[Money3] + Sto;
if T > 0 then begin
ifLastDigit = 1 then Sto := Sto + Xlion1[T]
else if LastDigit in [2..4] then Sto := Sto + Xlion2[T]
elseSto := Sto + Xlion0[T];
end;
T := T + 1;
Result :=Sto + Result;
end;
Kop :=IntToStr(MoneyK mod 10);
MoneyK :=MoneyK div 10;
Kop :=IntToStr(MoneyK) + Kop;
Result := Result + 'руб. ' + Kop + ' коп.';
end;
functionFileExecute(constFileName, Params, StartDir: string;
InitialState: TExecState): THandle;
{$IFDEF WIN32}
begin
123
Result :=ShellExecute(Application.Handle, nil, PChar(FileName),
PChar(Params), PChar(StartDir), 0);
end;
{$ELSE}
var
cFileName, cParams, cPath: array [0..80] of Char;
begin
Result :=ShellExecute(Application.Handle, nil, StrPCopy(cFileName,
FileName), StrPCopy(cParams, Params), StrPCopy(cPath, StartDir),
ShowCommands[InitialState]);
end;
{$ENDIF}
procedureTfrmDetail.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DataInfo.qListTypeValue.Close;
DataInfo.qListTypeOperation.Close;
DataInfo.qListValuations.Close;
DataInfo.qListOperations.Close;
end;
procedureTfrmDetail.FormShow(Sender: TObject);
begin
DataInfo.qListTypeValue.Open;
DataInfo.qListTypeOperation.Open;
DataInfo.qListValuations.Parameters.ParamValues['AgreementId']:=DataInfo.q
ListAgreements.FieldByName('Id').asInteger;
DataInfo.qListValuations.Open;
end;
procedureTfrmDetail.btnCloseClick(Sender: TObject);
124
begin
frmDetail.Close;
end;
procedureTfrmDetail.btnDelOperationClick(Sender: TObject);
begin
ifDataInfo.qListOperations.RecordCount=0 then
begin
MessageDlg('Списокоперацийпустой!',mtWarning,[mbOk],0);
Exit
end;
ifMessageDlg('Выдействительнохотитеудалитьоперациюпозалогу
'+DataInfo.qListValuations.FieldByName('ValueName').asString+'?',mtConfirmation,[
mbYes, mbNo],0)=mrNo then Exit;
DataInfo.qQuery.Close;
DataInfo.qQuery.SQL.Clear;
DataInfo.qQuery.SQL.Add('DELETE FROM Operations WHERE
Id='+DataInfo.qListOperations.FieldByName('Id').asString);
DataInfo.qQuery.ExecSQL;
DataInfo.qListOperations.Close;
DataInfo.qListOperations.Open;
end;
procedureTfrmDetail.btnDelValuationClick(Sender: TObject);
begin
ifDataInfo.qListValuations.RecordCount=0 then
begin
MessageDlg('Списокзалоговпустой!',mtWarning,[mbOk],0);
Exit
end;
ifDataInfo.qListOperations.RecordCount<>0 then
125
begin
MessageDlg('Есть операции по данному залогу! Удаление
невозможно',mtWarning,[mbOk],0);
Exit
end;
ifMessageDlg('Вы действительно хотите удалить залог
'+DataInfo.qListValuations.FieldByName('ValueName').asString+'?',mtConfirmation,[
mbYes, mbNo],0)=mrNothenExit;
DataInfo.qQuery.Close;
DataInfo.qQuery.SQL.Clear;
DataInfo.qQuery.SQL.Add('DELETE FROM Valuations WHERE
Id='+DataInfo.qListValuations.FieldByName('Id').asString);
DataInfo.qQuery.ExecSQL;
DataInfo.qListValuations.Close;
DataInfo.qListValuations.Open;
end;
procedureTfrmDetail.btnEditOperationClick(Sender: TObject);
begin
ifDataInfo.qListOperations.RecordCount=0 then
begin
MessageDlg('Списокоперацийпустой!',mtWarning,[mbOk],0);
Exit
end;
frmOperation.Tag:=0;
frmOperation.ShowModal;
end;
procedureTfrmDetail.btnEditValuationClick(Sender: TObject);
begin
ifDataInfo.qListValuations.RecordCount=0 then

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

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