Дипломная работа: Автоматизация учета аренды площадей клиентами компании ООО "Дубрава-Р"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
94
ZakaKlientTovarOstatok: TFloatField;
OtgruzTovar: TADOTable;
AutoIncField1: TAutoIncField;
StringField1: TStringField;
IntegerField1: TIntegerField;
IntegerField2: TIntegerField;
IntegerField3: TIntegerField;
BCDField1: TBCDField;
CurrencyField1: TCurrencyField;
FloatField1: TFloatField;
ZakaKlientTovarnumOt: TIntegerField;
OtgruzTovarnumOt: TIntegerField;
OtgruzTovarT: TADOTable;
OtgruzTovarTid: TAutoIncField;
OtgruzTovarTidOtgruz: TIntegerField;
OtgruzTovarTidTovar: TIntegerField;
OtgruzTovarTnum: TIntegerField;
OtgruzTovarTPrice: TBCDField;
OtgruzTovarTTovarL: TStringField;
OtgruzTovarTStoim: TCurrencyField;
ZakaKlientTovarRez: TIntegerField;
OtgruzTovarRez: TIntegerField;
OtgruzTovarnumot1: TIntegerField;
N21: TMenuItem;
ADOQuery1: TADOQuery;
ZakazPostavTovar: TADOTable;
Label14: TLabel;
ZakazPostavTovarid: TAutoIncField;
ZakazPostavTovaridTovar: TIntegerField;
ZakazPostavTovaridZakaz: TIntegerField;
ZakazPostavTovarnum: TIntegerField;
ZakazPostavTovarTovarL: TStringField;
ZakazPostavTovarprice: TBCDField;
ZakazPostavTovarStoim: TCurrencyField;
ZakazPostavPrim: TWideStringField;
ZakazPostavSumm: TBCDField;
Tovarzakupprice: TBCDField;
Tovarzakazano: TIntegerField;
PostupTovarT: TADOTable;
Label15: TLabel;
Label16: TLabel;
PostupTovar: TADOTable;
PostupTovarTid: TAutoIncField;
PostupTovarTidtovar: TIntegerField;
PostupTovarTidPostup: TIntegerField;
PostupTovarTnum: TIntegerField;
PostupTovarid: TAutoIncField;
PostupTovaridTovar: TIntegerField;
PostupTovaridZakaz: TIntegerField;
PostupTovarnum: TIntegerField;
PostupTovarprice: TBCDField;
95
PostupTovarTovarL: TStringField;
PostupTovarStoim: TFloatField;
PostupTovarTprice: TBCDField;
PostupTovarTnumpostup: TIntegerField;
PostupTovarTTovarL: TStringField;
PostupTovarTStoim: TFloatField;
PostupTovarnumpostup: TIntegerField;
ZakazPostavpostup: TIntegerField;
Postupid: TAutoIncField;
PostupidSotr: TAutoIncField;
procedure CreateSpravForm(const childName, id: string;
table: TDataset;
p: integer);
procedure N15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure ZakaKlientTovarCalcFields(DataSet: TDataSet);
procedure N14Click(Sender: TObject);
procedure TovarCalcFields(DataSet: TDataSet);
procedure OtgruzTovarCalcFields(DataSet: TDataSet);
procedure OtgruzTovarTCalcFields(DataSet: TDataSet);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure Othet(const Data: TADOQUERY; Otchetname: string);
procedure N18Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure ZakazPostavTovarCalcFields(DataSet: TDataSet);
procedure PostupTovarCalcFields(DataSet: TDataSet);
procedure PostupTovarTCalcFields(DataSet: TDataSet);
private
procedure CreateDocForm(const childName: string; table:
TDataset;
p: integer);
procedure CreateOtchetForm(const childName:String; p:
integer);
{ Private declarations }
public
{ Public declarations }
96
end;
var
Form1: TForm1;
implementation
uses Sprav, Doc, Login, Otchet;
{$R *.dfm}
//процедура для создания формы для ввода параметров отчета
procedure TForm1.CreateOtchetForm(const childName:String; p:
integer); //параметры - название формы и индекс отчета
var
Child: TForm9;
i,k :integer;
f : boolean;
begin
f:=False; //влаг-ложь
k:=0;
for i:=0 to Form1.MDIChildCount-1 do //проверяем
создан ли экземнляр такого окна
if (Form1.MDIChildren[i] is TForm9) then
begin
f:=True;
k:=i;
end;
if (f) then //если создан, то
Form1.MDIChildren[k].Close; //переносим его
вперед
Child := TForm9.Create(Application);
Child.Caption := childName; //задаем название
формы
Child.DateTimePicker1.DateTime:=now-30; //устанавливаем
дату на 30 дней меньше текущей
Child.DateTimePicker2.datetime:=now; //устанавливаем
текущую дату
Child.Label3.Caption:=IntTOStr(p); //индекс отчета
end;
//создание формы для работы со справочником
procedure TForm1.CreateSpravForm(const childName, id : string;
table: TDataset; p: integer);
var
Child: TForm2;
i,k :integer;
f : boolean;
begin
f:=False; //влаг-ложь
97
k:=0;
for i:=0 to Form1.MDIChildCount-1 do //проверяем
создан ли экземнляр такого окна
if (Form1.MDIChildren[i] is TForm2) and
(Form1.MDIChildren[i].caption=childName) then
begin
f:=True;
k:=i;
end;
if (f) and (Form1.MDIChildren[k].Caption=childName) then begin
//если создан, то
Form1.MDIChildren[k].bringToFront;
//переносим его вперед
if Form1.MDIChildren[k].WindowState=wsMinimized then
Form1.MDIChildren[k].WindowState:=wsNormal;
end
else
begin //иначе - создаем форму
Child := TForm2.Create(Application);
Child.Caption := childName; //задаем название
Child.DBGrid1.DataSource.DataSet:=table; //задаем таблицу
справочник, с которой будем работать
table.active:=true; //делаем таблицу
активной
Child.Setgridcolumnwidths; //выравниваем
ширину столбцов
Child.Label1.Caption:=id; //передаем ид
Case p of
1: Child.n1.visible:=true; //отображаем первый пункт
сонтекстного меню
2: Child.n2.visible:=true; //отображаем второй пункт
контекстрого меню
{3: Child.n3.visible:=true; //отображаем третий пункт
контекстного меню
4: Child.n4.visible:=true; //отображаем четвертый пункт
контекстного меню
5: begin Child.n5.visible:=true; //отображаем четвертый
пункт контекстного меню
Child.Panel2.visible:=false; }
end;
end;
end;
//процедура создания формы для работы со списком документов
procedure TForm1.CreateDocForm(const childName : string; table:
TDataset; p: integer); //название формы, таблица - источник
данных и индекс документа
var
Child: TForm3;
i,k :integer;
98
f : boolean;
begin
f:=False; //влаг-ложь
k:=0;
for i:=0 to Form1.MDIChildCount-1 do //проверяем
создан ли экземнляр такого окна
if (Form1.MDIChildren[i] is TForm3) and
(Form1.MDIChildren[i].caption=childName) then
begin
f:=True;
k:=i;
end;
if (f) and (Form1.MDIChildren[k].Caption=childName) then begin
//если создан, то
Form1.MDIChildren[k].bringToFront;
//переносим его вперед
if Form1.MDIChildren[k].WindowState=wsMinimized then
Form1.MDIChildren[k].WindowState:=wsNormal;
end
else
begin //иначе - создаем форму
Child := TForm3.Create(Application);
Child.Caption := childName; //задаем название формы
Child.DBGrid1.DataSource.DataSet:=table; //задаем источник
данных
table.open; //открываем источник данных
Child.Setgridcolumnwidths; //выравниваем ширину столбцов
Child.label1.caption:=IntToStr(p); //параметр для
определения типа открытого документа
Case p of //в зависимости от типа документов настраиваем
выпадающие списки/прячем их
1: begin
Child.Combobox2.Items.Add('Все'); //добавляем элементы
для заказов покупателей
Child.Combobox2.Items.Add('Оплаченные');
Child.Combobox2.Items.Add('Неоплаченные');
Child.ComboBox2.ItemIndex:=0;
Child.Combobox3.Items.Add('Все');
Child.Combobox3.Items.Add('Отгруженные');
Child.Combobox3.Items.Add('Неотгруженные');
Child.ComboBox3.ItemIndex:=0;
end;
2: begin //для
заказов поставщиков
Child.GroupBox3.Caption:='Поступление';
Child.ComboBox2.Items.Clear;
Child.ComboBox2.Items.Add('Все');
Child.ComboBox2.Items.Add('Поступившие');
Child.ComboBox2.Items.Add('Непоступившие');
Child.ComboBox2.ItemIndex:=0;
Child.GroupBox4.Visible:=false;
Источник: https://baza.diplomsite.ru/previewfile/2358