Материал: Автоматизация учета обращений пользователей на предприятии Wilo

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
88
implementation
uses uDM, uOper, ADODB, uRep, uSellRep;
{$R *.dfm}
procedure TfmBook.FormShow(Sender: TObject);
begin
DM.dstOper.Open;
DM.dstOper.Filtered := True;
DM.dstManager.Open;
DM.dstCashier.Open;
dtpDate1.Date := Date;
dtpDate2.Date := Date;
rbSellClick(Self);
end;
procedure TfmBook.FormClose(Sender: TObject; var Action:
TCloseAction);
begin
DM.dstOper.Close;
DM.dstCashier.Close;
if not fmSellRep.Showing then
DM.dstManager.Close;
end;
//Фильтрация операций закупки / продажи по заданным
критериям::
procedure TfmBook.rbSellClick(Sender: TObject);
var
Filter: string;
begin
if rbSell.Checked then
begin
bbtViewOper.Caption := 'Открыть расход';
Filter := 'Закупка = False';
end
else
begin
bbtViewOper.Caption := 'Открыть приход';
Filter := 'Закупка = True';
end;
if chbDate1.Checked then
Filter := Filter + ' and Дата >= ' +
QuotedStr(DateToStr(dtpDate1.Date));
if chbDate2.Checked then
Filter := Filter + ' and Дата <= ' +
QuotedStr(DateToStr(dtpDate2.Date));
if chbShop.Checked and (dblcbShop.KeyValue <> Null) then
89
Filter := Filter + ' and ТочкаID = ' +
IntToStr(dblcbShop.KeyValue);
if chbContrag.Checked and (dblcbContrag.KeyValue <> Null)
then
Filter := Filter + ' and КонтрагентID = ' +
IntToStr(dblcbContrag.KeyValue);
if chbManager.Checked and (dblcbManager.KeyValue <> Null)
then
Filter := Filter + ' and МенеджерID = ' +
IntToStr(dblcbManager.KeyValue);
if chbCashier.Checked and (dblcbCashier.KeyValue <> Null)
then
Filter := Filter + ' and КассирID = ' +
IntToStr(dblcbCashier.KeyValue);
DM.dstOper.Filter := Filter;
end;
procedure TfmBook.bbtViewOperClick(Sender: TObject);
begin
if rbSell.Checked then
OperView('Продажа')
else
OperView('Закупка');
end;
//Сортировка данных в таблице по выбранному столбцу:
procedure TfmBook.DBGrid1TitleClick(Column: TColumn);
begin
try
(DBGrid1.DataSource.DataSet as TADODataSet).Sort :=
Column.FieldName;
except
Application.MessageBox('Сортировка по данному полю
невозможна', 'Информация',
MB_OK+MB_ICONINFORMATION)
end;
end;
//Печать книги продаж или книги покупок по отобранным
данным:
procedure TfmBook.bbtPrintClick(Sender: TObject);
begin
if rbSell.Checked then
Rep_SellBook
else
Rep_PurchBook;
end;
end.
Программный модуль uContrag.pas
90
unit uContrag;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ExtCtrls, Grids, DBGrids, DBCtrls, StdCtrls,
Buttons, Mask;
type
TfmContrag = class(TForm)
Panel1: TPanel;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
Panel2: TPanel;
Panel3: TPanel;
DBGrid1: TDBGrid;
Label1: TLabel;
DBEdit1: TDBEdit;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
DBEdit6: TDBEdit;
Label7: TLabel;
Label8: TLabel;
DBEdit8: TDBEdit;
Label9: TLabel;
DBEdit9: TDBEdit;
Splitter1: TSplitter;
DBMemo1: TDBMemo;
bbtPrint: TBitBtn;
DBCheckBox1: TDBCheckBox;
CheckBox1: TCheckBox;
cbFilter: TComboBox;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action:
TCloseAction);
procedure bbtPrintClick(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure CheckBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
91
var
fmContrag: TfmContrag;
implementation
uses uDM, uRep, ADODB, uBook, uOper;
{$R *.dfm}
procedure TfmContrag.FormShow(Sender: TObject);
begin
DM.dstContrag.Open;
DM.dstContrag.Filtered := True;
end;
procedure TfmContrag.FormClose(Sender: TObject; var Action:
TCloseAction);
begin
//Набор данных закрывается, если он не используется в
других формах:
if (not fmOper.Showing) and (not fmBook.Showing) then
DM.dstContrag.Close;
DM.dstContrag.Filtered := False;
end;
procedure TfmContrag.bbtPrintClick(Sender: TObject);
var
Caption: string;
begin
//Формирование заголовка для отчета:
if CheckBox1.Checked then
if cbFilter.ItemIndex = 0 then
Caption := 'Поставщики'
else
Caption := 'Покупатели'
else
Caption := 'Контрагенты';
Rep_ForAll(DBGrid1, 9, Caption, []);
end;
//Сортировка данных в таблице по выбранному столбцу:
procedure TfmContrag.DBGrid1TitleClick(Column: TColumn);
begin
try
(DBGrid1.DataSource.DataSet as TADOTable).Sort :=
Column.FieldName;
except
Application.MessageBox('Сортировка по данному полю
невозможна', 'Информация', MB_OK+MB_ICONINFORMATION)
end;
end;
92
//Отбор из контрагентов поставщиков или покупателей:
procedure TfmContrag.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
if cbFilter.ItemIndex = 0 then
DM.dstContrag.Filter := 'Поставщик = True'
else
DM.dstContrag.Filter := 'Поставщик = False'
else
DM.dstContrag.Filter := '';
end;
end.
Программный модуль uDM.pas
unit uDM;
interface
uses
SysUtils, Classes, DB, ADODB;
type
TDM = class(TDataModule)
ADOConnection1: TADOConnection;
dstRequisite: TADODataSet;
dsRequisite: TDataSource;
dstGroup: TADODataSet;
dsGroup: TDataSource;
dstGoods: TADODataSet;
dsGoods: TDataSource;
dstGoodsID: TAutoIncField;
dstGoodsID2: TIntegerField;
dstGoodsDSDesigner: TWideStringField;
dstGoodsDSDesigner2: TWideStringField;
dstGoodsDSDesigner3: TBlobField;
dstPost: TADODataSet;
dsPost: TDataSource;
dstStaff: TADODataSet;
dsStaff: TDataSource;
dstStaffN: TAutoIncField;
dstStaffDSDesigner: TWideStringField;
dstStaffID: TIntegerField;
dstStaffDSDesigner2: TWideStringField;
dstStaffDSDesigner3: TWideStringField;
dstStaffField: TStringField;
dstShop: TADODataSet;
dsShop: TDataSource;
dstShopID: TAutoIncField;
Источник: https://baza.diplomsite.ru/previewfile/415