Автоматизированная информационная система учета кредитов физических лиц в коммерческом банке
Создание программы предназначенной для автоматизации деятельности кредитного сотрудника банка. Анализ рынка автоматизации кредитования физических лиц. Выбор СУБД и языка программирования. Инфологическое проектирование и разработка интерфейса АИС.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.12.2013 |
Размер файла | 3,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
chbDate2: TCheckBox;
procedure FormShow(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure bbtCardClick(Sender: TObject);
procedure bbtPrintClick(Sender: TObject);
procedure edContractChange(Sender: TObject);
procedure chbDebtorClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmLoans: TfmLoans;
implementation
uses uDM, uRep, ADODB, DB, uLoanCard;
{$R *.dfm}
procedure TfmLoans.FormShow(Sender: TObject);
begin
DM.dstLoan.Open;
DM.dstLoan.Sort := 'ДатаДог';
DM.dstClient.Sort := 'ФИО';
chbDebtorClick(Self);
end;
//Сортировка данных в таблице по выбранному столбцу:
procedure TfmLoans.DBGrid1TitleClick(Column: TColumn);
begin
try
(DBGrid1.DataSource.DataSet as TADODataSet).Sort := Column.FieldName;
except
Application.MessageBox('Сортировка по данному полю невозможна', 'Информация', MB_ICONINFORMATION);
end;
end;
procedure TfmLoans.bbtCardClick(Sender: TObject);
begin
fmLoanCard.ShowModal;
end;
//Печать набора данных, видимого на форме в таблице:
procedure TfmLoans.bbtPrintClick(Sender: TObject);
var
Caption: string;
begin
//Формирование заголовка отчета
if not chbStatus.Checked then
Caption := 'Все кредитные договора'
else
if dblcbStatus.KeyValue = 1 then
Caption := 'Не выданные кредиты'
else if dblcbStatus.KeyValue = 2 then
Caption := 'Кредитные договора'
else if dblcbStatus.KeyValue = 3 then
Caption := 'Кредитные договора на просрочке'
else if dblcbStatus.KeyValue = 4 then
Caption := 'Закрытые кредитные договора';
if chbDebtor.Checked and (dblcbDebtor.KeyValue <> Null) then
Caption := Caption + ' заемщика ' + dblcbDebtor.Text;
if chbCreditType.Checked and (dblcbCreditType.KeyValue <> Null) then
Caption := Caption + ', тип кредита: ' + dblcbCreditType.Text;
if chbStatus.Checked and (dblcbStatus.KeyValue <> 1) then
if chbDate1.Checked then
begin
Caption := Caption + ', выданные за период с ' + DateToStr(dtpDate1.Date);
if chbDate2.Checked then
Caption := Caption + ' по ' + DateToStr(dtpDate2.Date);
end
else
begin
if chbDate2.Checked then
Caption := Caption + ', выданные за период по ' + DateToStr(dtpDate2.Date);
end
else
if chbDate1.Checked then
begin
Caption := Caption + ', подготовленные за период с ' + DateToStr(dtpDate1.Date);
if chbDate2.Checked then
Caption := Caption + ' по ' + DateToStr(dtpDate2.Date);
end
else
if chbDate2.Checked then
Caption := Caption + ', подготовленные за период по ' + DateToStr(dtpDate2.Date);
Text_Universal(DBGrid1, 12, Caption);
end;
//Поиск договора по номеру:
procedure TfmLoans.edContractChange(Sender: TObject);
begin
if edContract.Text <> '' then
DM.dstLoan.Locate('NДоговора', '%' + Trim(edContract.Text), [loCaseInsensitive, loPartialKey]);
end;
//Отбор кредитов по заданным критериям:
procedure TfmLoans.chbDebtorClick(Sender: TObject);
var
Filter: string;
begin
Filter := '';
if chbDebtor.Checked and (dblcbDebtor.KeyValue <> Null) then
begin
if Filter <> '' then
Filter := Filter + ' and ';
Filter := Filter + 'Заемщик1ID = ' + IntToStr(dblcbDebtor.KeyValue);
end;
if chbCreditType.Checked and (dblcbCreditType.KeyValue <> Null) then
begin
if Filter <> '' then
Filter := Filter + ' and ';
Filter := Filter + 'ТипКредитаID = ' + IntToStr(dblcbCreditType.KeyValue);
end;
if chbGraphType.Checked and (dblcbGraphType.KeyValue <> Null) then
begin
if Filter <> '' then
Filter := Filter + ' and ';
Filter := Filter + 'ТипГрафикаID = ' + IntToStr(dblcbGraphType.KeyValue);
end;
if chbStatus.Checked and (dblcbStatus.KeyValue <> Null) then
begin
if Filter <> '' then
Filter := Filter + ' and ';
Filter := Filter + 'СтатусID = ' + IntToStr(dblcbStatus.KeyValue);
end;
if chbDate1.Checked then
begin
if Filter <> '' then
Filter := Filter + ' and ';
Filter := Filter + 'ДатаДог >= ' + QuotedStr(DateToStr(dtpDate1.Date));
end;
if chbDate2.Checked then
begin
if Filter <> '' then
Filter := Filter + ' and ';
Filter := Filter + 'ДатаДог <= ' + QuotedStr(DateToStr(dtpDate2.Date));
end;
if Filter <> '' then
begin
DM.dstLoan.Filter := Filter;
DM.dstLoan.Filtered := True;
end
else
DM.dstLoan.Filtered := False;
end;
procedure TfmLoans.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DM.dstLoan.Filtered := False;
DM.dstLoan.Close;
end;
end.
Программный модуль uMain.pas
unit uMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ActnList, StdActns, ImgList, XPStyleActnCtrls, ActnMan, ToolWin,
ActnCtrls, ActnMenus, StdCtrls, jpeg, ExtCtrls, Buttons, XPMan;
type
TfmMain = class(TForm)
ActionManager1: TActionManager;
ImageList1: TImageList;
FileExit1: TFileExit;
acCreditType: TAction;
acInsurance: TAction;
acGarantObject: TAction;
acClients: TAction;
acLoans: TAction;
acJournal: TAction;
Image1: TImage;
acStat: TAction;
acLoansList: TAction;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
XPManifest1: TXPManifest;
ActionMainMenuBar1: TActionMainMenuBar;
procedure acClientsExecute(Sender: TObject);
procedure acInsuranceExecute(Sender: TObject);
procedure acCreditTypeExecute(Sender: TObject);
procedure acGarantObjectExecute(Sender: TObject);
procedure acLoansExecute(Sender: TObject);
procedure acJournalExecute(Sender: TObject);
procedure acStatExecute(Sender: TObject);
procedure acLoansListExecute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmMain: TfmMain;
implementation
uses uClients, uCreditType, uGarantObject, uInsurance, uLoans, uJournal,
uStat, uGetDate, uRep;
{$R *.dfm}
procedure TfmMain.acClientsExecute(Sender: TObject);
begin
fmClients.Show;
end;
procedure TfmMain.acInsuranceExecute(Sender: TObject);
begin
fmInsurance.Show;
end;
procedure TfmMain.acCreditTypeExecute(Sender: TObject);
begin
fmCreditType.Show;
end;
procedure TfmMain.acGarantObjectExecute(Sender: TObject);
begin
fmGarantObject.Show;
end;
procedure TfmMain.acLoansExecute(Sender: TObject);
begin
fmLoans.Show;
end;
procedure TfmMain.acJournalExecute(Sender: TObject);
begin
fmJournal.ShowModal;
end;
procedure TfmMain.acStatExecute(Sender: TObject);
begin
fmStat.Show;
end;
//Формирование кредитного портфеля на заданную дату:
procedure TfmMain.acLoansListExecute(Sender: TObject);
var
PDate: TDate;
begin
PDate := Date;
if GetDate(PDate) then
Text_KP(PDate);
end;
end.
Программный модуль uPay.pas
unit uPay;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, ExtCtrls, ComCtrls, Buttons;
type
TfmPay = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
Bevel1: TBevel;
Label5: TLabel;
lbOper: TLabel;
Label10: TLabel;
dtpDate: TDateTimePicker;
Label11: TLabel;
edSum: TEdit;
bbtOK: TBitBtn;
bbtCancel: TBitBtn;
Bevel3: TBevel;
pnPlan: TPanel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Bevel2: TBevel;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBLookupComboBox1: TDBLookupComboBox;
lbPercent: TLabel;
edPercent: TEdit;
procedure FormShow(Sender: TObject);
procedure dtpDateChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmPay: TfmPay;
implementation
uses uDM, Math, uLoanCard;
{$R *.dfm}
procedure TfmPay.FormShow(Sender: TObject);
begin
dtpDate.Date := Date;
dtpDate.SetFocus;
//Сумма оплаты рассчитывается, только если выполняется плановое гашение (а не досрочное):
if pnPlan.Visible then
edSum.Text := CurrToStr(RoundTo(DM.dstGraphic.FieldByName('СуммаНач').Value -
DM.dstGraphic.FieldByName('СуммаИсп').Value, -2))
else
begin
edSum.Text := '';
dtpDateChange(Self);
end;
end;
//Для досрочного гашения рассчитывается сумма процентов, подлежащих гашению
//в дату досрочного гашения ОД:
procedure TfmPay.dtpDateChange(Sender: TObject);
var
Date1: TDate;
Sum: Currency;
begin
if not pnPlan.Visible then
begin
Sum := fmLoanCard.GetSumOfPay(Date1);
fmPay.edPercent.Text := CurrToStr(fmLoanCard.GetPercentValue(Sum,
DM.dstLoan.FieldByName('Ставка').AsFloat / 100, Date1, dtpDate.Date))
end;
end;
end.
Программный модуль uRep.pas
unit uRep;
//Модуль для формирования выходных документов
interface
uses
Windows, SysUtils, Classes, ComObj, DB, Controls, Forms, ADODB, Math, DBGrids;
procedure Text_Universal(ADBGrid: TDBGrid; NumCol: Integer; ACaption: string);
procedure Text_BuildGraphic;
procedure Text_BuildEarlyPays;
procedure Text_KP(PDate: TDate);
implementation
uses
uDM, DateUtils, Dialogs;
//Формирование отчета по выбранному набору данных (вывод заголовков видимых
//полей и их значений):
procedure Text_Universal(ADBGrid: TDBGrid; NumCol: Integer; ACaption: string);
var
Excel: Variant;
i, j, Width: Integer;
begin
Excel := CreateOleObject('Excel.Application');
Screen.Cursor := crHourGlass;
try
try
Excel.Application.EnableEvents := False;
Excel.Workbooks.Add;
for i:=0 to NumCol-1 do
begin
//Вывод в шапку таблицы названий полей из DBGrid'а:
Excel.Cells[5,i+1] := ADBGrid.Columns[i].Title.Caption;
//Форматирование заголовка:
Width := Min(30, Trunc(ADBGrid.Columns[i].Width * 0.2));
Excel.Cells[5,i+1].ColumnWidth := Width;
Excel.Cells[5,i+1].Font.Bold := True;
Excel.Cells[5,i+1].Borders[7].LineStyle := 1;
Excel.Cells[5,i+1].Borders[8].LineStyle := 1;
Excel.Cells[5,i+1].Borders[9].LineStyle := 1;
Excel.Cells[5,i+1].Borders[10].LineStyle := 1;
end;
Excel.Cells[1,1] := Date;
Excel.Cells[3,1] := ACaption;
Excel.Cells[3,1].Font.Bold := True;
Excel.Cells[3,1].Font.Size := 12;
i := 5;
//Экспорт данных из таблиц БД:
with ADBGrid.DataSource.DataSet do
begin
DisableControls; //Отключаем сетку на время формирования отчета
First;
while not Eof do
begin
Inc(i);
//Выводятся NumCol первых полей таблицы, отображенных в DBGrid'е:
for j:=0 to NumCol-1 do
begin
Excel.Cells[i,j+1].NumberFormat := '@'; //Формат "текст"
//Текст выводится так, как он отображен в DBGrid'e:
Excel.Cells[i,j+1] := FieldByName(ADBGrid.Columns[j].FieldName).DisplayText;
Excel.Cells[i,j+1].Borders[7].LineStyle := 1;
Excel.Cells[i,j+1].Borders[8].LineStyle := 1;
Excel.Cells[i,j+1].Borders[9].LineStyle := 1;
Excel.Cells[i,j+1].Borders[10].LineStyle := 1;
if ADBGrid.Columns[j].Alignment = taLeftJustify then
Excel.Cells[i,j+1].HorizontalAlignment := 2 //Выравнивание влево
else
Excel.Cells[i,j+1].HorizontalAlignment := 4;//Выравнивание вправо
end;
Next;
end;
end; //with
Excel.Application.EnableEvents := True;
Excel.Visible := True;
except
Excel.Quit;
end;
finally
ADBGrid.DataSource.DataSet.EnableControls;
Screen.Cursor := crDefault;
ADBGrid.Enabled := True;
end;
end;
//Формирование графика гашения:
procedure Text_BuildGraphic;
var
WorkbookName: string;
Excel: Variant;
i, PosInc: Integer;
SumPercent, SumOD: Currency;
PrevDate: TDate;
//Процедура вносит сумму гашения в соответствующий столбец в графике:
procedure SetPay;
var
Value: Currency;
begin
with DM do
begin
//В зависимости от того, что больше в график ставится фактическая сумма гашения или плановая:
Value := Max(dstGraphic.FieldByName('СуммаНач').AsCurrency, dstGraphic.FieldByName('СуммаИсп').AsCurrency);
if dstGraphic.FieldByName('ПредметГашID').AsInteger = 1 then
begin
//Текущее гашение в графике - гашение ОД:
Excel.Cells[i+PosInc,3] := Value;
SumOD := SumOD + Value
end
else
begin
//Текущее гашение в графике - гашение %%:
Excel.Cells[i+PosInc,4] := Value;
SumPercent := SumPercent + Value;
end;
end;
end;
begin
//Шаблон хранится в папке Templates:
WorkbookName := GetCurrentDir + '\Формы\' + 'График гашения.xlt';
Excel := CreateOleObject('Excel.Application');
Screen.Cursor := crHourGlass;
try
try
Excel.Workbooks.Open(WorkbookName);
i := 0;
SumPercent := 0; //Сумма процентов
SumOD := 0; //Сумма основного долга
PosInc := 6;
//Экспорт данных из таблицы БД:
with DM do
begin
//Вывод реквизитов договора в шапку:
Excel.Cells[3,1] := 'Кредитный договор № ' + DM.dstLoan.FieldByName('NДоговора').AsString +
' от ' + DM.dstLoan.FieldByName('ДатаДог').AsString;
//Цикл по строкам графика гашения:
dstGraphic.First;
while not dstGraphic.Eof do
begin
//Добавление новой строки:
if i <> 0 then
begin
Excel.Rows.Item[PosInc+i].Select;
Excel.Selection.Insert;
Excel.Rows.Item[PosInc].Select;
Excel.Selection.Copy;
Excel.Rows.Item[PosInc+i].Select;
Excel.ActiveSheet.Paste;
Excel.Application.CutCopyMode := False;
end;
PrevDate := dstGraphic.FieldByName('Дата').AsDateTime;
Excel.Cells[i+PosInc,1] := i+1;
Excel.Cells[i+PosInc,2] := PrevDate;
SetPay;
dstGraphic.Next;
if (not dstGraphic.Eof) and (PrevDate = dstGraphic.FieldByName('Дата').AsDateTime) then
begin
SetPay;
dstGraphic.Next;
end;
Inc(i);
end; //while not dstGraphic.Eof
Excel.Cells[i+PosInc,3] := SumOD;
Excel.Cells[i+PosInc,4] := SumPercent;
Excel.Cells[i+PosInc,5] := SumOD + SumPercent;
end; //with
Excel.Visible := True;
except
Excel.Quit;
end;
finally
Screen.Cursor := crDefault;
end;
end;
//Формирование отчета по досрочным гашениям:
procedure Text_BuildEarlyPays;
var
WorkbookName: string;
Excel: Variant;
i, PosInc: Integer;
begin
//Шаблон хранится в папке Templates:
WorkbookName := GetCurrentDir + '\Формы\' + 'Досрочные гашения.xlt';
Excel := CreateOleObject('Excel.Application');
Screen.Cursor := crHourGlass;
try
try
Excel.Workbooks.Open(WorkbookName);
i := 0;
PosInc := 6;
//Экспорт данных из таблицы БД:
with DM do
begin
//Вывод реквизитов договора в шапку:
Excel.Cells[3,1] := 'Кредитный договор № ' + DM.dstLoan.FieldByName('NДоговора').AsString +
' от ' + DM.dstLoan.FieldByName('ДатаДог').AsString;
dstJournal.Filter := 'КредитID = ' + DM.dstLoan.FieldByName('ID').AsString +
' and ТипОперацииID = 8';
dstJournal.Filtered := True;
dstJournal.Open;
//Цикл по строкам графика гашения:
dstJournal.First;
while not dstJournal.Eof do
begin
//Добавление новой строки:
if i <> 0 then
begin
Excel.Rows.Item[PosInc+i].Select;
Excel.Selection.Insert;
Excel.Rows.Item[PosInc].Select;
Excel.Selection.Copy;
Excel.Rows.Item[PosInc+i].Select;
Excel.ActiveSheet.Paste;
Excel.Application.CutCopyMode := False;
end;
Excel.Cells[i+PosInc,1] := i+1;
Excel.Cells[i+PosInc,2] := dstJournal.FieldByName('Дата').AsDateTime;
Excel.Cells[i+PosInc,3] := dstJournal.FieldByName('Сумма').AsFloat;
dstJournal.Next;
Inc(i);
end; //while not dstJournal.Eof
dstJournal.Filtered := False;
dstJournal.Close;
end; //with
Excel.Visible := True;
except
Excel.Quit;
end;
finally
Screen.Cursor := crDefault;
end;
end;
//Формирование кредитного портфеля на заданную дату:
procedure Text_KP(PDate: TDate);
var
WorkbookName: string;
Excel: Variant;
i, PosInc: Integer;
Sum: Currency;
begin
//Шаблон хранится в папке Templates:
WorkbookName := GetCurrentDir + '\Формы\' + 'Кредитный портфель.xlt';
Excel := CreateOleObject('Excel.Application');
Screen.Cursor := crHourGlass;
try
try
Excel.Workbooks.Open(WorkbookName);
i := 0;
Sum := 0; //Размер кредитного портфеля (сумма остатков ОД по кредитам)
PosInc := 6;
//Экспорт данных из таблицы БД:
with DM do
begin
Excel.Cells[3,7] := PDate;
dstKP.Parameters.ParamByName('pDate1').Value := PDate;
dstKP.Parameters.ParamByName('pDate2').Value := PDate;
dstKP.Parameters.ParamByName('pDate3').Value := PDate;
dstKP.Open;
//Цикл по строкам портфеля:
dstKP.First;
while not dstKP.Eof do
begin
//Добавление новой строки:
if i <> 0 then
begin
Excel.Rows.Item[PosInc+i].Select;
Excel.Selection.Insert;
Excel.Rows.Item[PosInc].Select;
Excel.Selection.Copy;
Excel.Rows.Item[PosInc+i].Select;
Excel.ActiveSheet.Paste;
Excel.Application.CutCopyMode := False;
end;
Excel.Cells[i+PosInc,1] := i+1;
Excel.Cells[i+PosInc,2] := DM.dstKP.FieldByName('NДоговора').AsString;
Excel.Cells[i+PosInc,3] := DM.dstKP.FieldByName('ДатаДог').AsDateTime;
Excel.Cells[i+PosInc,4] := DM.dstKP.FieldByName('ТипКредита').AsString;
Excel.Cells[i+PosInc,5] := DM.dstKP.FieldByName('ДатаВыдачи').AsDateTime;
Excel.Cells[i+PosInc,6] := DM.dstKP.FieldByName('ДатаЗакрыт').AsDateTime;
Excel.Cells[i+PosInc,7] := DM.dstKP.FieldByName('Сумма').AsCurrency;
Excel.Cells[i+PosInc,8] := DM.dstKP.FieldByName('Ставка').AsString;
Excel.Cells[i+PosInc,9] := DM.dstKP.FieldByName('Остаток').AsCurrency;
Excel.Cells[i+PosInc,10] := DM.dstKP.FieldByName('СтатусКредита').AsString;
Sum := Sum + DM.dstKP.FieldByName('Остаток').AsCurrency;
dstKP.Next;
Inc(i);
end; //while not dstKP.Eof
dstKP.Close;
Excel.Cells[i+PosInc,9] := Sum;
end; //with
Excel.Visible := True;
except
Excel.Quit;
end;
finally
Screen.Cursor := crDefault;
end;
end;
end.
Программный модуль uStat.pas
unit uStat;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, DBCtrls, ExtCtrls, TeEngine,
Series, TeeProcs, Chart, DbChart, TeePrevi;
type
TfmStat = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Panel1: TPanel;
BitBtn1: TBitBtn;
bbtPrint: TBitBtn;
Panel2: TPanel;
DBChart1: TDBChart;
Series1: TPieSeries;
dtpDate1: TDateTimePicker;
dtpDate2: TDateTimePicker;
Label1: TLabel;
lbTo: TLabel;
DBChart2: TDBChart;
PieSeries1: THorizBarSeries;
TabSheet3: TTabSheet;
DBChart3: TDBChart;
HorizBarSeries1: TBarSeries;
lbDate: TLabel;
dtpDate: TDateTimePicker;
lbFrom: TLabel;
procedure dtpDate1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure bbtPrintClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmStat: TfmStat;
implementation
uses uDM, uRep;
{$R *.dfm}
procedure TfmStat.dtpDate1Change(Sender: TObject);
begin
lbFrom.Visible := PageControl1.ActivePageIndex <> 0;
lbTo.Visible := PageControl1.ActivePageIndex <> 0;
lbDate.Visible := PageControl1.ActivePageIndex = 0;
dtpDate1.Visible := PageControl1.ActivePageIndex <> 0;
dtpDate2.Visible := PageControl1.ActivePageIndex <> 0;
dtpDate.Visible := PageControl1.ActivePageIndex = 0;
//В зависимости от активной закладки открывается тот или иной набор данных:
if PageControl1.ActivePageIndex = 0 then
begin
//Структура кредитного портфеля на дату:
DM.dstStatKP.Close;
DM.dstStatKP.Parameters.ParamByName('pDate1').Value := dtpDate.Date;
DM.dstStatKP.Parameters.ParamByName('pDate2').Value := dtpDate.Date;
DM.dstStatKP.Parameters.ParamByName('pDate3').Value := dtpDate.Date;
DM.dstStatKP.Open;
DBChart1.Title.Text.Strings[0] := 'Структура кредитного портфеля по состоянию на ' +
DateToStr(dtpDate.Date);
end
else if PageControl1.ActivePageIndex = 1 then
begin
//Суммы выдач по видам кредитных продуктов:
DM.dstStatSumByCat.Close;
DM.dstStatSumByCat.Parameters.ParamByName('pDate1').Value := dtpDate1.Date;
DM.dstStatSumByCat.Parameters.ParamByName('pDate2').Value := dtpDate2.Date;
DM.dstStatSumByCat.Open;
DBChart2.Title.Text.Strings[0] := 'Суммы выдач по видам кредитных продуктов c ' +
DateToStr(dtpDate1.Date) + ' по ' + DateToStr(dtpDate2.Date);
end
else if PageControl1.ActivePageIndex = 2 then
begin
//Суммы заказов по месяцам:
DM.dstStatSumByMonths.Close;
DM.dstStatSumByMonths.Parameters.ParamByName('pDate1').Value := dtpDate1.Date;
DM.dstStatSumByMonths.Parameters.ParamByName('pDate2').Value := dtpDate2.Date;
DM.dstStatSumByMonths.Open;
DBChart3.Title.Text.Strings[0] := 'Суммы выдач по месяцам с ' +
DateToStr(dtpDate1.Date) + ' по ' + DateToStr(dtpDate2.Date);
end;
end;
procedure TfmStat.FormCreate(Sender: TObject);
begin
dtpDate1.Date := Date;
dtpDate2.Date := Date;
dtpDate.Date := Date;
end;
procedure TfmStat.FormShow(Sender: TObject);
begin
dtpDate1Change(Self);
end;
procedure TfmStat.bbtPrintClick(Sender: TObject);
begin
//В зависимости от активной закладки выводится в режим просмотра перед печатью
//выбранная диаграмма:
if PageControl1.ActivePageIndex = 0 then
ChartPreview(Self, DBChart1)
else if PageControl1.ActivePageIndex = 1 then
ChartPreview(Self, DBChart2)
else if PageControl1.ActivePageIndex = 2 then
ChartPreview(Self, DBChart3);
end;
end.
Приложение Б.
Экранные формы
Рисунок Б.1
Рисунок Б.2
Рисунок Б.3
Рисунок Б.4
Рисунок Б.5
Рисунок Б.6
Рисунок Б.7
Рисунок Б.8
Рисунок Б.9
Рисунок Б.10
Рисунок Б.11
Рисунок Б.12
Рисунок Б.13
Рисунок Б.14
Приложение В.
Формы выходных документов
Рисунок В.1
Рисунок В.2
Рисунок В.3
Рисунок В.4
Рисунок В.5
Рисунок В.6
Размещено на Allbest.ru
Подобные документы
Комплексная система автоматизации кредитной деятельности банка RS-LOANS. Построение схемы бизнес-процессов кредитования. Оценка платежеспособности заемщика и поручителя. Разработка интерфейса пользователя, алгоритмов функций, экранных форм и отчетов.
дипломная работа [3,0 M], добавлен 20.07.2014Этапы разработки программы, предназначенной для автоматизации складского учета в фармацевтических организациях: выбор языка программирования, характеристика входной и результатной информации, составление схемы взаимосвязи программных модулей и файлов.
курсовая работа [148,4 K], добавлен 12.05.2013Интерфейсные средства СУБД MS Access 2003. Проектирование схемы данных. Создание составного отчёта, содержащего диаграмму. Группировка и сортировка в отчётах. Использование языка программирования VBА, создание макросов. Разработка программы и функций.
курсовая работа [5,2 M], добавлен 20.06.2010Создание программного продукта, автоматизирующего деятельность сотрудника учебного заведения, занимающегося учетом проведения научно-практических конференций. Выбор языка, среды программирования, разработка алгоритмов, проектирование интерфейса программы.
курсовая работа [1,5 M], добавлен 06.12.2012Реализация программной системы "Магазин" для автоматизации деятельности и обеспечения хранения, накопления и предоставления информации. Логическая и физическая структуры базы данных. Разработка пользовательского интерфейса. Создание таблиц, представлений.
контрольная работа [3,9 M], добавлен 31.03.2014Технико-экономическая характеристика Ивановского филиала Фонда обязательного медицинского страхования (ФОМС). Проект отдельной информационной подсистемы ФОМС, предназначенной для учета физических лиц и лечебных учреждений г. Иванова и Ивановской области.
курсовая работа [57,2 K], добавлен 15.11.2009Разработка программного комплекса автоматизации складского учета, предназначенного для розничных предприятий ЗАО "Белгородский бройлер": логическое, физическое проектирование, создание интерфейса пользователя на языке Delphi, расчет экономических затрат.
дипломная работа [3,2 M], добавлен 02.03.2010Автоматизация работы кредитного отдела банка, решений бизнес-процесса выдачи кредитов и карт. Определения методологии и языка IDEF0, программа Dreamweaver. Правильно построенные и действительные документы XML. Создание отчётов с помощью JasperReports.
дипломная работа [1,9 M], добавлен 22.06.2013Анализ задач бухгалтерского учета в рамках программного комплекса "1С: Бухгалтерия". Доработка типовой конфигурации программы для автоматизации расчёта услуг телефонии в РУП "Белтелеком". Создание справочника "Абоненты" и "Услуги РУП "Белтелеком".
курсовая работа [1,0 M], добавлен 14.03.2012- Создание приложения автоматизации анализа финансово-хозяйственной деятельности в ООО "Уралэнерготел"
Разработка информационной системы по автоматизации расчетов экономических показателей финансово-хозяйственной деятельности, процесса подготовки отчетов. Создание структуры базы данных, интерфейса системы с использованием среды программирования Делфи.
курсовая работа [4,1 M], добавлен 28.10.2014