Дипломная работа: Автоматизация управления распределенной структурой складов для ООО «ЕВРОПОС ГРУПП»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
137
end;
if NumFilter=1 then
if (DataSet.FieldByName('InDate').AsDateTime>=frmreport.DateFrom.Date) and
(DataSet.FieldByName('InDate').AsDateTime<=frmreport.DateInto.Date) then
Accept:=True;
if NumFilter=2 then
if (DataSet.FieldByName('WearDate').AsDateTime>=frmreport.DateFrom.Date)
and
(DataSet.FieldByName('WearDate').AsDateTime<=frmreport.DateInto.Date)
then Accept:=True;
end;
procedure TDataInfo.qRepDoc3CalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName('WearDate').AsDateTime:=IncMonth(DataSet.FieldByName('InDat
e').AsDateTime,Trunc(100/DataSet.FieldByName('Wear').AsInteger));
end;
procedure TDataInfo.qRepDoc4CalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName('WearDate').AsDateTime:=IncMonth(DataSet.FieldByName('InDat
e').AsDateTime,Trunc(100/DataSet.FieldByName('Wear').AsInteger));
end;
procedure TDataInfo.qReport3AfterScroll(DataSet: TDataSet);
begin
DataInfo.qRepDoc3.Close;
DataInfo.qRepDoc3.Parameters.ParamValues['StorageId']:=DataSet.FieldByName('Id').As
Integer;
138
DataInfo.qRepDoc3.Open;
end;
procedure TDataInfo.qReport4AfterScroll(DataSet: TDataSet);
begin
DataInfo.qRepDoc4.Close;
DataInfo.qRepDoc4.Parameters.ParamValues['UserId']:=DataSet.FieldByName('Id').AsInt
eger;
DataInfo.qRepDoc4.Open;
end;
end.
unit Reports;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters,
dxSkinscxPCPainter, cxPCdxBarPopupMenu, cxStyles, cxCustomData, cxFilter,
cxData, cxDataStorage, cxEdit, cxNavigator, Data.DB, cxDBData, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxGridCustomView, cxGrid, cxPC, Vcl.Menus, Vcl.StdCtrls, cxButtons,
cxContainer, Vcl.ComCtrls, dxCore, cxDateUtils, cxDropDownEdit, cxLabel,
cxTextEdit, cxMaskEdit, cxCalendar, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg,
dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
dxPSEdgePatterns, dxPSPDFExportCore, dxPSPDFExport, cxDrawTextUtils,
dxPSPrVwStd, dxPSPrVwAdv, dxPSPrVwRibbon, dxPScxPageControlProducer,
dxPScxGridLnk, dxPScxGridLayoutViewLnk, dxPScxEditorProducers,
139
dxPScxExtEditorProducers, dxSkinsdxBarPainter, dxSkinsdxRibbonPainter,
dxPSCore, dxPScxCommon, cxLookupEdit, cxDBLookupEdit,
cxDBLookupComboBox,
cxCheckBox, dxPSContainerLnk;
type
TfrmReport = class(TForm)
btnClose: TcxButton;
Printer: TdxComponentPrinter;
PrinterLink1: TdxCustomContainerReportLink;
GroupBox1: TGroupBox;
DateFrom: TcxDateEdit;
cxLabel1: TcxLabel;
cxLabel2: TcxLabel;
DateInto: TcxDateEdit;
btnReport1: TcxButton;
btnReport2: TcxButton;
btnReport3: TcxButton;
btnReport4: TcxButton;
procedure btnReport1Click(Sender: TObject);
procedure btnCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnReport2Click(Sender: TObject);
procedure btnReport3Click(Sender: TObject);
procedure btnReport4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
140
frmReport: TfrmReport;
implementation
{$R *.dfm}
uses DataBase;
procedure TfrmReport.btnCloseClick(Sender: TObject);
begin
frmReport.Close;
end;
procedure TfrmReport.FormShow(Sender: TObject);
begin
DateFrom.Date:=Date+StrToTime('00:00');
DateInto.Date:=Date+StrToTime('23:59');
end;
procedure TfrmReport.btnReport1Click(Sender: TObject);
begin
DataInfo.qListMoveAssets.DisableControls;
NumFilter:=1;
DataInfo.qListMoveAssets.Filtered:=True;
DataInfo.qListMoveAssets.First;
if DataInfo.qListMoveAssets.RecordCount=0 then
begin
MessageDlg('Отчет пустой!',mtWarning,[mbOk],0);
Exit
end;
if MessageDlg('Формируем отчет?',mtConfirmation,[mbYes,mbNo],0)=mrNo
then Exit;
141
DataInfo.EkRTF.InFile:=ExtractFilePath(Application.ExeName)+'Template\report1.rtf';
DataInfo.EkRTF.ClearVars;
DataInfo.EkRTF.CreateVar('DateFrom',DateToStr(DateFrom.Date));
DataInfo.EkRTF.CreateVar('DateInto',DateToStr(DateInto.Date));
DataInfo.EkRTF.OutFile:=ExtractFilePath(Application.ExeName)+'Report\report1.doc';
DataInfo.EkRTF.ExecuteOpen([DataInfo.qListMoveAssets],SW_Show);
end;
procedure TfrmReport.btnReport2Click(Sender: TObject);
begin
DataInfo.qListMoveAssets.DisableControls;
NumFilter:=2;
DataInfo.qListMoveAssets.Filtered:=True;
DataInfo.qListMoveAssets.First;
if DataInfo.qListMoveAssets.RecordCount=0 then
begin
MessageDlg('Отчет пустой!',mtWarning,[mbOk],0);
Exit
end;
if MessageDlg('Формируем отчет?',mtConfirmation,[mbYes,mbNo],0)=mrNo
then Exit;
DataInfo.EkRTF.InFile:=ExtractFilePath(Application.ExeName)+'Template\report2.rtf';
DataInfo.EkRTF.ClearVars;
DataInfo.EkRTF.CreateVar('DateFrom',DateToStr(DateFrom.Date));
DataInfo.EkRTF.CreateVar('DateInto',DateToStr(DateInto.Date));
DataInfo.EkRTF.OutFile:=ExtractFilePath(Application.ExeName)+'Report\report2.doc';
DataInfo.EkRTF.ExecuteOpen([DataInfo.qListMoveAssets],SW_Show);
end;
Источник: https://baza.diplomsite.ru/previewfile/2334