Автоматизация формирования отчетных документов предприятия

Назначение и цели создания информационной подсистемы. Создание проекта и модулей Borland Delphi 7 для реализации информационной подсистемы "TradeBusiness". Компиляция и отладка проекта, требования к обеспечению и оценка экономической эффективности.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 24.06.2011
Размер файла 2,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Params[2].AsString:= DM.INCOMEINVOICEINumber.Value;

//устанавливается параметр :NaklDate (От: дата)

Params[3].AsDate:= DM.INCOMEINVOICEIDate.Value;

//устанавливается параметр :ContractorName (Название поставщика (получателя))

Params[4].AsString:= DM.INCOMEINVOICESupplierName.Value;

//устанавливается параметр :CountStart (Остаток товара на начало перемещения)

Params[5].AsFloat:= CountGoodsStart(DM.INCOMEGoodsName.Value);

//устанавливается параметр :GCCountFinish (Остаток товара после перемещения)

//как сумму остатка товара на начало перемещения и количество поступившего товара

Params[6].AsFloat:= DM.QueryCountGoodsStart.Fields.Fields[0].AsFloat +

DM.INCOMEICount.Value;

//устанавливается параметр :CountDelta (Количество поступившего (отпущенного) товара)

Params[7].AsFloat:= DM.INCOMEICount.Value;

//устанавливается параметр :GCGoodsPrice (Цена ед.изм. поступившего (отпущенного) товара)

Params[8].AsCurrency:= DM.INCOMEGoodsPrice.Value;

//устанавливается параметр :GCSum (Сумма за поступивший (отпущенный) товар)

Params[9].AsCurrency:= DM.INCOMEISum.Value;

ExecSQL;

//Запрашиваем сумму по приходу за указанный товар за весь период учета

with DM.QueryGoodsSumTotalPrihod do begin

Close;

//устанавливается параметр :GoodsNameThis (Название товара)

Params[0].AsString:= DM.INCOMEGoodsName.Value;

Open;

end;

//Запрашиваем сумму по расходу за указанный товар за весь период учета

with DM.QueryGoodsSumTotalRashod do begin

Close;

//устанавливается параметр :GoodsNameThis (Название товара)

Params[0].AsString:= DM.INCOMEGoodsName.Value;

Open;

end;

//Обновляем GOODSCARD - Карточка учета товара

with DM.QueryUpdateGOODSCARD do begin

Close;

//устанавливается параметр :GoodsCountFinish (Остаток товара после перемещения)

//Params[0].AsFloat:= DM.GOODSCARDRECORDSGCCountFinish.Value;

Params[0].AsFloat:= DM.QueryCountGoodsStart.Fields.Fields[0].AsFloat +

DM.INCOMEICount.Value;

//устанавливается параметр :GoodsSumTotalPrihod (Сумма по приходу за указанный товар за весь период учета)

Params[1].AsCurrency:= DM.QueryGoodsSumTotalPrihod.Fields.Fields[0].AsCurrency;

//устанавливается параметр :GoodsSumTotalRashod (Сумма по расходу за указанный товар за весь период учета)

Params[2].AsFloat:= DM.QueryGoodsSumTotalRashod.Fields.Fields[0].AsCurrency;;

//устанавливается параметр :GoodsNameThis (Название товара)

Params[3].AsString:= DM.INCOMEGoodsName.Value;

ExecSQL;

end;

end;//with DM.QueryAddRecordsInGOODSCARDRECORDS do begin

DM.INCOME.Next; //Переходим к следующей записи в наборе данных DM.INCOME - Перечень товаров по приходной накладной

end;//for j:= 1 to DM.INCOME.RecordCount do begin <---Конец цикла перебора записей

end;//if fmIncome.ShowModal = mrOK then begin

fmIncomeNew.Free;//освобождаем ресурс

DM.GOODSCARD.Refresh;

DM.GOODSCARDRECORDS.Refresh;

end

else

DM.INCOMEINVOICE.Cancel;

end;

procedure TfmMain.InputRashodClick(Sender: TObject);

var

j, ExpenseInvoseID: Integer;

begin

////////////////////////////////////////////////////////////////////

//Расходная накладная

////////////////////////////////////////////////////////////////////

fmExpenseInvose:= TfmExpenseInvose.Create(nil);//программное создание формы

DM.EXPENSEINVOICE.Append;

//<-----------С номером накладной не получается!!!!!!!!!!!!!

//DM.EXPENSEINVOICEENumber.Value:= 'РН_' + ReplaceSub(DateToStr(now), '.', '_') + DM.EXPENSEINVOICEExpenseInvoseID.AsString;

with DM.QueryExpenseInvoseID do begin

Close;

Open;

end;

//Переводим набор данных DM.QueryExpenseInvoseID на последнюю запись

DM.QueryExpenseInvoseID.Last;

ExpenseInvoseID:= DM.QueryExpenseInvoseID.Fields.Fields[0].Value;

Inc(ExpenseInvoseID);

DM.EXPENSEINVOICEENumber.Value:= 'РН_' + IntToStr(ExpenseInvoseID);

if fmExpenseInvose.ShowModal = mrOK then begin

//Сохраняем установки календарей

DM.EXPENSEINVOICEEDate.Value:= fmExpenseInvose.dtpNaklDate.Date;

if fmExpenseInvose.CheckBox1.Checked then

DM.EXPENSEINVOICEERaschetDokDate.Value:= fmExpenseInvose.dtpRaschetDokDate.Date;

DM.EXPENSEINVOICEEOperationDate.Value:= fmExpenseInvose.dtpOperationDate.Date;

DM.EXPENSEINVOICE.Post;

fmExpenseInvose.Free;//освобождаем ресурс

////////////////////////////////////////////////////////////////////

//Расходная накладная, дополняем списком товаров

////////////////////////////////////////////////////////////////////

fmExpenseNew:= TfmExpenseNew.Create(nil);//программное создание формы fmExpense - Ввод расхода товаров

fmExpenseNew.Label1.Caption:= 'Перечень товаров по расходной накладной '

+ DM.EXPENSEINVOICEENumber.Value + ' от ' + DateToStr(DM.EXPENSEINVOICEEDate.Value);

if fmExpenseNew.ShowModal = mrOK then begin

//Оприходываем расход товара в карточках учета

//Перебераем все записи в наборе данных DM.EXPENSE - Перечень товаров по расходной накладной

DM.EXPENSE.First;

for j:= 1 to DM.EXPENSE.RecordCount do begin

//выполняем запрос на добавление новой записи в набор данных

//DM.GOODSCARDRECORDS для указанного наименования товара, включенного в

//перечень товаров по расходной накладной

with DM.QueryAddRecordsInGOODSCARDRECORDS_ do begin

Close;

//устанавливается параметр :GoodsNameThis (Название товара)

Params[0].AsString:= DM.EXPENSEGoodsName.Value;

//устанавливается параметр :StorageName (Склад)

Params[1].AsString:= DM.EXPENSEINVOICEStorageName.Value;

//устанавливается параметр :NaklNumber (Накладная №)

Params[2].AsString:= DM.EXPENSEINVOICEENumber.Value;

//устанавливается параметр :NaklDate (От: дата)

Params[3].AsDate:= DM.EXPENSEINVOICEEDate.Value;

//устанавливается параметр :ContractorName (Название поставщика (получателя))

Params[4].AsString:= DM.EXPENSEINVOICERecipientName.Value;

//устанавливается параметр :CountStart (Остаток товара на начало перемещения)

Params[5].AsFloat:= CountGoodsStart(DM.EXPENSEGoodsName.Value);

//устанавливается параметр :GCCountFinish (Остаток товара после перемещения)

//как разницу остатка товара на начало перемещения и количество проданного товара

Params[6].AsFloat:= DM.QueryCountGoodsStart.Fields.Fields[0].AsFloat -

DM.EXPENSEECount.Value;

//устанавливается параметр :CountDelta (Количество поступившего (отпущенного) товара)

Params[7].AsFloat:= DM.EXPENSEECount.Value;

//устанавливается параметр :GCGoodsPrice (Цена ед.изм. поступившего (отпущенного) товара)

Params[8].AsCurrency:= DM.EXPENSEGoodsPrice.Value;

//устанавливается параметр :GCSum (Сумма за поступивший (отпущенный) товар)

Params[9].AsCurrency:= DM.EXPENSEESum.Value;

ExecSQL;

//*****************Обновляем набор данных DM.GOODSCARD************************

//Запрашиваем сумму по приходу за указанный товар за весь период учета

with DM.QueryGoodsSumTotalPrihod do begin

Close;

//устанавливается параметр :GoodsNameThis (Название товара)

Params[0].AsString:= DM.EXPENSEGoodsName.Value;

Open;

end;

//Запрашиваем сумму по расходу за указанный товар за весь период учета

with DM.QueryGoodsSumTotalRashod do begin

Close;

//устанавливается параметр :GoodsNameThis (Название товара)

Params[0].AsString:= DM.EXPENSEGoodsName.Value;

Open;

end;

//Обновляем GOODSCARD - Карточка учета товара

with DM.QueryUpdateGOODSCARD do begin

Close;

//устанавливается параметр :GoodsCountFinish (Остаток товара после перемещения)

//Params[0].AsFloat:= DM.GOODSCARDRECORDSGCCountFinish.Value;

Params[0].AsFloat:= DM.QueryCountGoodsStart.Fields.Fields[0].AsFloat -

DM.EXPENSEECount.Value;

//устанавливается параметр :GoodsSumTotalPrihod (Сумма по приходу за указанный товар за весь период учета)

Params[1].AsCurrency:= DM.QueryGoodsSumTotalPrihod.Fields.Fields[0].AsCurrency;

//устанавливается параметр :GoodsSumTotalRashod (Сумма по расходу за указанный товар за весь период учета)

Params[2].AsFloat:= DM.QueryGoodsSumTotalRashod.Fields.Fields[0].AsCurrency;

//устанавливается параметр :GoodsNameThis (Название товара)

Params[3].AsString:= DM.EXPENSEGoodsName.Value;

ExecSQL;

end;

//*************Конец обновления набора данных DM.GOODSCARD**************

end;//with DM.QueryAddRecordsInGOODSCARDRECORDS do begin

DM.EXPENSE.Next; //Переходим к следующей записи в наборе данных DM.EXPENSE - Перечень товаров по приходной накладной

end;//for j:= 1 to DM.EXPENSE.RecordCount do begin <---Конец цикла перебора записей

end;//if fmExpense.ShowModal = mrOK then begin

fmExpenseNew.Free;//освобождаем ресурс

DM.GOODSCARD.Refresh;

DM.GOODSCARDRECORDS.Refresh;

end

else

DM.EXPENSEINVOICE.Cancel;

//fmExpenseInvose.Free;//освобождаем ресурс //ОШИБКА

end;

procedure TfmMain.StorageStateClick(Sender: TObject);

Label

Lab_10; //метка для перехода к следующему пункту продаж

var

j, k: Integer;

begin

//Запрашиваем названия складов, которые упоминаются в заведенных карточках учета

//товаров

with DM.QueryNameStorageInGOODSCARDRECORDS do begin

Close;

Open;

end;

//Проверяем количество записей, которые вернул запрос DM.QueryNameStorageInGOODSCARDRECORDS

if DM.QueryNameStorageInGOODSCARDRECORDS.RecordCount = 0 then begin

ShowMessage('Нет данных по товарам в пункте (пунктах) продаж!' + #13#10 +

'Операция отменятся!');

Exit; //Выход!

end

else begin

with DM.QuerySTORAGEGOODSClear do begin

Close;

ExecSQL;

end;

//Устанавливаем набор данных, возвращенных запросом DM.QueryNameStorageInGOODSCARDRECORDS

//"Названия складов, которые упоминаются в заведенных карточках учета товаров" на первую запись

DM.QueryNameStorageInGOODSCARDRECORDS.First;

for j:= 1 to DM.QueryNameStorageInGOODSCARDRECORDS.RecordCount do begin

//Запрашиваем названия товаров на которые заведены карточки учета

with DM.QueryGoodsNameOnThisStorage do begin

Close;

Params[0].AsString:= DM.QueryNameStorageInGOODSCARDRECORDS.Fields.Fields[0].AsString;

Open;

end;

//Проверяем количество записей, которые вернул запрос DM.QueryGoodsNameOnThisStorage

if DM.QueryGoodsNameOnThisStorage.RecordCount = 0 then begin

goto Lab_10; //переходим к следующему складу

end

else begin //Если товары на складе ИМЕЮТСЯ!!!!

DM.QueryGoodsNameOnThisStorage.First;

for k:= 1 to DM.QueryGoodsNameOnThisStorage.RecordCount do begin

with DM.QueryCountGoodsOnStorage do begin

Close;

//устанавливается параметр :GoodsNameThis (Название товара)

Params[0].AsString:= DM.QueryGoodsNameOnThisStorage.Fields.Fields[0].AsString;

//устанавливается параметр :StorageNameThis (Название склада)

Params[1].AsString:= DM.QueryNameStorageInGOODSCARDRECORDS.Fields.Fields[0].AsString;

Open;

end;

with DM.QueryGoodsStorageState do begin

Close;

//устанавливается параметр :GoodsNameThis (Название товара)

Params[0].AsString:= DM.QueryGoodsNameOnThisStorage.Fields.Fields[0].AsString;

Open;

end;

//Запрашиваем среднюю закупочную цену товара по данным карточки учета

with DM.QueryAveragePurchasingPrice do begin

Close;

//устанавливается параметр :GoodsNameThis (Название товара)

Params[0].AsString:= DM.QueryGoodsNameOnThisStorage.Fields.Fields[0].AsString;

//устанавливается параметр :StorageNameThis (Название склада)

Params[1].AsString:= DM.QueryNameStorageInGOODSCARDRECORDS.Fields.Fields[0].AsString;

Open;

end;

//Запрашиваем последнюю (твердую) закупочную цену товара по данным карточки учета

with DM.QueryLatterPurchasingPrice do begin

Close;

//устанавливается параметр :GoodsNameThis (Название товара)

Params[0].AsString:= DM.QueryGoodsNameOnThisStorage.Fields.Fields[0].AsString;

//устанавливается параметр :StorageNameThis (Название склада)

Params[1].AsString:= DM.QueryNameStorageInGOODSCARDRECORDS.Fields.Fields[0].AsString;

Open;

end;

//ВНИМАНИЕ! Этот запрос возвращает несколько значений! Нам нужно последнее из них.

//Заполняем запись в наборе данных DM.STORAGEGOODS

DM.STORAGEGOODS.Append; //Добавляем новую запись

DM.STORAGEGOODSGoodsName.Value:= DM.QueryGoodsNameOnThisStorage.Fields.Fields[0].AsString;//Название товара

DM.STORAGEGOODSStorageName.Value:= DM.QueryNameStorageInGOODSCARDRECORDS.Fields.Fields[0].AsString;//Название склада

//Переводим набор данных DM.QueryCountGoodsOnStorage на последнюю запись

DM.QueryCountGoodsOnStorage.Last;

DM.STORAGEGOODSGoodsCount.Value:= DM.QueryCountGoodsOnStorage.Fields.Fields[0].AsFloat;//Кол-во в наличии

DM.STORAGEGOODSUnitsID.Value:= DM.QueryGoodsStorageState.Fields.Fields[0].AsInteger;//Код единицы измерения

DM.STORAGEGOODSGroupGoodsID.Value:= DM.QueryGoodsStorageState.Fields.Fields[1].AsInteger;//Код группы товаров

DM.STORAGEGOODSPurchasingPrice.Value:= DM.QueryGoodsStorageState.Fields.Fields[2].AsCurrency;//Закупочная цена

DM.STORAGEGOODSRetailPrice.Value:= DM.QueryGoodsStorageState.Fields.Fields[3].AsCurrency;//Розничная цена

DM.STORAGEGOODSGrossSale1Price.Value:= DM.QueryGoodsStorageState.Fields.Fields[4].AsCurrency;//Цена опт. 1

DM.STORAGEGOODSGrossSale2Price.Value:= DM.QueryGoodsStorageState.Fields.Fields[5].AsCurrency;//Цена опт.

DM.STORAGEGOODSAveragePurchasingPrice.Value:= DM.QueryAveragePurchasingPrice.Fields.Fields[0].AsCurrency;//Средняя закупочная цена

DM.QueryLatterPurchasingPrice.Last;

DM.STORAGEGOODSLatterPurchasingPrice.Value:= DM.QueryLatterPurchasingPrice.Fields.Fields[0].AsCurrency;//Последняя закупочная цена

DM.STORAGEGOODS.Post;//Сохраням запись

DM.QueryGoodsNameOnThisStorage.Next;

end;//<---for k:= 1 to DM.QueryGoodsNameOnStorage.RecordCount do begin

end; //конец условия else begin для оператора if DM.QueryGoodsNameOnStorage.RecordCount = 0 then begin

//Устанавливаем набор данных, возвращенных запросом DM.QueryNameStorageInGOODSCARDRECORDS

Lab_10:

DM.QueryNameStorageInGOODSCARDRECORDS.Next;

end;//<---for j:= 1 to DM.QueryNameStorageInGOODSCARDRECORDS.RecordCount do begin

end;

fmStorageState:= TfmStorageState.Create(nil);//программное создание формы fmStorageState - Состояние склада

if fmStorageState.ShowModal = mrOK then begin

end;

fmStorageState.Free;//освобождаем ресурс

end;

procedure TfmMain.StateStorageClick(Sender: TObject);

var

j: integer;

begin

fmSelectStorage:= TfmSelectStorage.Create(nil);//программное создание формы

fmSelectStorage.ComboBox1.Items.Clear;

DM.STORAGE.First;

for j:= 1 to DM.STORAGE.RecordCount do begin

fmSelectStorage.ComboBox1.Items.Add(DM.STORAGESName.Value);

DM.STORAGE.Next;

end;

DM.STORAGE.First;

fmSelectStorage.ComboBox1.ItemIndex:= 0;

if fmSelectStorage.ShowModal = mrOK then begin

if fmSelectStorage.CheckBox1.Checked = false then begin

with DM.QueryStateThisStorage do begin

Close;

Params[0].AsString:= fmSelectStorage.ComboBox1.Items.Strings[fmSelectStorage.ComboBox1.ItemIndex];

Open;

end;

//Создаем форму отчета

fmQReportStateThisStorage:= TfmQReportStateThisStorage.Create(nil);//программное создание формы

fmQReportStateThisStorage.QRLabelStorageDateOfReport.Caption:= 'состояние пункта продаж ' + '"' +

fmSelectStorage.ComboBox1.Items.Strings[fmSelectStorage.ComboBox1.ItemIndex] + '" на ' +

DateToStr(now);

fmQReportStateThisStorage.QuickRep1.Preview;

fmQReportStateThisStorage.Free;

fmSelectStorage.Free;//освобождаем ресурс

end else begin

with DM.QueryStateAllStorage do begin

Close;

Open;

end;

fmQReportStateAllStorage:= TfmQReportStateAllStorage.Create(nil);//программное создание формы

fmQReportStateAllStorage.QRLabelStorageDateOfReport.Caption:= 'состояние пунктов продаж на ' +

DateToStr(now);

fmQReportStateAllStorage.QuickRep1.Preview;

fmQReportStateAllStorage.Free;

end

end else

fmSelectStorage.Free;//освобождаем ресурс

end;

procedure TfmMain.RemaindersStorageClick(Sender: TObject);

var

j: integer;

begin

fmSelectStorage:= TfmSelectStorage.Create(nil);//программное создание формы

fmSelectStorage.ComboBox1.Items.Clear;

DM.STORAGE.First;

for j:= 1 to DM.STORAGE.RecordCount do begin

fmSelectStorage.ComboBox1.Items.Add(DM.STORAGESName.Value);

DM.STORAGE.Next;

end;

DM.STORAGE.First;

fmSelectStorage.ComboBox1.ItemIndex:= 0;

if fmSelectStorage.ShowModal = mrOK then begin

if fmSelectStorage.CheckBox1.Checked = false then begin

with DM.QueryRemaindersThisStorage do begin

Close;

//устанавливается параметр :ThisStorageName (название склада)

Params[0].AsString:= fmSelectStorage.ComboBox1.Items.Strings[fmSelectStorage.ComboBox1.ItemIndex];

Open;

end;

with DM.QuerySummTotalRemaindersThisStorage do begin

Close;

Params[0].AsString:= fmSelectStorage.ComboBox1.Items.Strings[fmSelectStorage.ComboBox1.ItemIndex];

Open;

end;

//Создаем форму отчета

fmQReportRemaindersThisStorage:= TfmQReportRemaindersThisStorage.Create(nil);//программное создание формы

fmQReportRemaindersThisStorage.QRLabelStorageDateOfReport.Caption:= 'остатки ТМЦ в пункте продаж ' + '"' +

fmSelectStorage.ComboBox1.Items.Strings[fmSelectStorage.ComboBox1.ItemIndex] + '" по состоянию на ' +

DateToStr(now);

fmQReportRemaindersThisStorage.QuickRep1.Preview;

fmQReportRemaindersThisStorage.Free;

fmSelectStorage.Free;//освобождаем ресурс

end

else begin

with DM.QueryRemaindersStorages do begin

Close;

Open;

end;

fmQReportRemaindersStorages:= TfmQReportRemaindersStorages.Create(nil);//программное создание формы

fmQReportRemaindersStorages.QRLabelStorageDateOfReport.Caption:= 'остатки ТМЦ в пунктах продаж по состоянию на ' +

DateToStr(now);

fmQReportRemaindersStorages.QuickRep1.Preview;

fmQReportRemaindersStorages.Free;

end

end else

fmSelectStorage.Free;//освобождаем ресурс

end;

procedure TfmMain.FirmaClick(Sender: TObject);

begin

//Справочник "Фирма"

fmFirma:= TfmFirma.Create(nil);//программное создание формы

fmFirma.ShowModal;

fmFirma.Free;//освобождаем ресурс

end;

procedure TfmMain.ChronologyIncomeClick(Sender: TObject);

begin

//Хронология прихода материалов по приходной накладной

fmIncome:= TfmIncome.Create(nil);//программное создание формы

fmIncome.ShowModal;

fmIncome.Free;//освобождаем ресурс

end;

procedure TfmMain.ChronologyExpenseClick(Sender: TObject);

begin

//Хронология расхода материалов по приходной накладной

fmExpense:= TfmExpense.Create(nil);//программное создание формы

fmExpense.ShowModal;

fmExpense.Free;//освобождаем ресурс

end;

procedure TfmMain.GoodsCardClick(Sender: TObject);

begin

//Карточка учета товара

fmGoodsCard:= TfmGoodsCard.Create(nil);//программное создание формы

fmGoodsCard.ShowModal;

fmGoodsCard.Free;//освобождаем ресурс

end;

procedure TfmMain.AboutClick(Sender: TObject);

begin

//О программе

fmAboutBox:= TfmAboutBox.Create(nil);//программное создание формы

fmAboutBox.ShowModal;

fmAboutBox.Free;//освобождаем ресурс

end;

procedure TfmMain.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if MessageDlg('Закрыть информационную подсистему?', mtConfirmation,

[mbYes, mbNo], 0) = mrYes then

Action := caFree

else

Action := caNone;

end;

procedure TfmMain.CloseAppClick(Sender: TObject);

begin

close;

end;

procedure TfmMain.SellerClick(Sender: TObject);

begin

//Флорист-продавец

fmSeller:= TfmSeller.Create(nil);//программное создание формы

fmSeller.ShowModal;

fmSeller.Free;//освобождаем ресурс

end;

procedure TfmMain.RashodPeriodOfTimeClick(Sender: TObject);

begin

GroupBox1.Visible:= true;

//Выбираем приходные накладные за указанный период времени

with DM.QueryRashodPeriodOfTime do begin

Close;

//устанавливается параметр :DateFirst (Начальная дата периода отчета)

Params[0].AsDate:= DateTimePickerFrom.Date;

//устанавливается параметр :DateEnding (Конечная дата периода отчета)

Params[1].AsDate:= DateTimePickerTo.Date;

Open;

end;

//Проверяем имеются ли приходные накладные за указанный период времени

if DM.QueryRashodPeriodOfTime.RecordCount = 0 then begin

MessageDlg('Нет данных для формирования отчета.'

+ #13#10 + 'Выберите другой период отчета!',mtWarning,[mbOK],0);

exit;

end

else begin //Если приходные накладные за указанный период времени были

//Создаем отчет "Расходы за период времени"

fmQReportRashodPeriodOfTime:= TfmQReportRashodPeriodOfTime.Create(nil);//программное создание формы

fmQReportRashodPeriodOfTime.QRLabelPeriodOfReport.Caption:= 'с ' +

DateToStr(DateTimePickerFrom.Date) + ' по ' +

DateToStr(DateTimePickerTo.Date);

fmQReportRashodPeriodOfTime.QuickRep1.Preview;

fmQReportRashodPeriodOfTime.Free;//освобождаем ресурс

end;

//GroupBox1.Visible:= false;

end;

procedure TfmMain.FormCreate(Sender: TObject);

begin

//DateTimePickerFrom.Date:= now;

DateTimePickerTo.Date:= now;

DateTimePickerFrom.Date:= IncDay(DateTimePickerTo.Date, -1);

end;

procedure TfmMain.PrihodPeriodOfTimeClick(Sender: TObject);

begin

GroupBox1.Visible:= true;

//Выбираем приходные накладные за указанный период времени

with DM.QueryPrihodPeriodOfTime do begin

Close;

//устанавливается параметр :DateFirst (Начальная дата периода отчета)

Params[0].AsDate:= DateTimePickerFrom.Date;

//устанавливается параметр :DateEnding (Конечная дата периода отчета)

Params[1].AsDate:= DateTimePickerTo.Date;

Open;

end;

//Проверяем имеются ли приходные накладные за указанный период времени

if DM.QueryPrihodPeriodOfTime.RecordCount = 0 then begin

MessageDlg('Нет данных для формирования отчета.'

+ #13#10 + 'Выберите другой период отчета!',mtWarning,[mbOK],0);

exit;

end

else begin //Если приходные накладные за указанный период времени были

//Создаем отчет "Доходы за период времени"

fmQReportPrihodPeriodOfTime:= TfmQReportPrihodPeriodOfTime.Create(nil);//программное создание формы

fmQReportPrihodPeriodOfTime.QRLabelPeriodOfReport.Caption:= 'с ' +

DateToStr(DateTimePickerFrom.Date) + ' по ' +

DateToStr(DateTimePickerTo.Date);

fmQReportPrihodPeriodOfTime.QuickRep1.Preview;

fmQReportPrihodPeriodOfTime.Free;//освобождаем ресурс

end;

//GroupBox1.Visible:= false;

end;

procedure TfmMain.CloseDataTimePickerClick(Sender: TObject);

begin

GroupBox1.Visible:= false;

end;

end.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.