Автоматизация формирования отчетных документов предприятия
Назначение и цели создания информационной подсистемы. Создание проекта и модулей 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
Подобные документы
Формы документов, SQL-скрипт создания базы данных информационной подсистемы "Advancement". Листинги основных модулей проекта Delphi. Визуальные средства разработки приложений. Диалоговые окна программы Erwin. Атрибуты сущностей, входящие в базу данных.
дипломная работа [3,3 M], добавлен 01.07.2011Оценка организационной структуры и процесс реализации информационной подсистемы отдела менеджмента предприятия. Требования к информационной подсистеме и техническому обеспечению. Технико-экономическое обоснование разработки информационной подсистемы.
дипломная работа [2,1 M], добавлен 29.06.2011Характеристика предприятия и выбор инструментальной среды разработки информационной подсистемы, ее реализация. Обоснование минимальных и достаточных требований к техническому обеспечению. Экономическая целесообразность и эффективность внедрения проекта.
дипломная работа [1,8 M], добавлен 29.06.2011Создание логической модели базы данных информационной подсистемы "Computers". Ввод атрибутов, первичных ключей сущностей базы данных. Требования к центральному процессору, монитору, принтеру. Оценка экономической эффективности внедрения программы.
дипломная работа [1,2 M], добавлен 01.07.2011Проектирование функциональной структуры подсистемы "Склад". Даталогическое проектирование информационной базы данных и описание применяемых средств защиты информации. Особенности работы с NET Framework. Расчет экономической эффективности проекта.
дипломная работа [5,6 M], добавлен 29.06.2011Объекты и методы проведения предпроектного обследования предприятия, анализ результатов . Схема организационной структуры управления и документооборота. Назначение информационной подсистемы. Реализация подсистемы "Helpdesk" на основе "1С: Предприятие".
дипломная работа [6,9 M], добавлен 24.06.2011Описание методологии проектирования и создания выбранного компонента экономической информационной системы. Описание функциональной и информационной моделей автоматизируемого процесса. Формы первичных и результатных документов, дерево программных модулей.
курсовая работа [1,7 M], добавлен 27.05.2014Назначение и логическая структура системы документооборота ИП Быкова Л.Ф. Техническое задание и программное обеспечение информационной подсистемы учета закупок и реализации продовольственной продукции; создание базы данных и клиентского приложения.
дипломная работа [5,7 M], добавлен 11.06.2014Программа проведения обследования предприятия. Технические и программные средства ЭИВТ предприятия. Организация доступа к мировым информационным сетям. Обеспечение информационной безопасности. Создание программы установки информационной подсистемы "Post".
дипломная работа [6,5 M], добавлен 24.06.2011Проектирование базы данных, информационной подсистемы PLC-Tester, модуля тестирования и web-приложения. Разработка логической структуры программного продукта и общие требования к техническому обеспечению. Запуск программы и описание тестовых прогонов.
дипломная работа [3,2 M], добавлен 30.06.2011