Заказать курсовые, контрольные, рефераты...
Образовательные работы на заказ. Недорого!

Код программы и его краткое описание

РефератПомощь в написанииУзнать стоимостьмоей работы

DBComponents. ADOQuery_Prihod_Naklad.SQL.Text:='SELECT, Поставщики. Название фирмы], Приход. Код поставщика], Приход, Оплачено, Внесено, Сумма FROM Приход, Поставщики WHERE Приход. Код поставщика]=Поставщики. Код поставщика]'; DBComponents. ADOQuery_Rashod_Details.SQL.Text:='SELECT Товары. Артикул, Товары. Название,. Количество,. Стоимость единицы],. Стоимость FROM Товары, WHERE='+kod_naklad… Читать ещё >

Код программы и его краткое описание (реферат, курсовая, диплом, контрольная)

Код проекта.

program Project1;

uses.

Forms,.

Unit1 in 'Unit1.pas' {MainForm},.

Unit2 in 'Unit2.pas' {DBComponents: TDataModule},.

Unit3 in 'Unit3.pas' {Priem},.

Unit4 in 'Unit4.pas' {Rashod},.

Unit5 in 'Unit5.pas' {Nalichie},.

Unit6 in 'Unit6.pas' {Priem_naklad},.

Unit7 in 'Unit7.pas' {Rashod_naklad},.

Unit8 in 'Unit8.pas' {Postavshiki},.

Unit9 in 'Unit9.pas' {Pokupateli},.

Unit10 in 'Unit10.pas' {Tovarooborot},.

Unit11 in 'Unit11.pas' {Finansy},.

Unit12 in 'Unit12.pas' {Rashod_Print};

{$R *.res}.

begin.

Application.Initialize;

Application.Title := 'Склад';

Application.CreateForm (TMainForm, MainForm);

Application.CreateForm (TDBComponents, DBComponents);

Application.CreateForm (TRashod_Print, Rashod_Print);

Application.Run;

end.

Главное окно программы — «MainForm"(управляющая форма).

Служит для вызова той или иной формы управления складом.

unit Unit1;

interface.

uses.

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,.

Dialogs, StdCtrls, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10, Unit11, DateUtils;

type.

TMainForm = class (TForm).

GroupBox1: TGroupBox;

Button_Priem: TButton;

Button_Rashod: TButton;

Button_Nalichie: TButton;

GroupBox2: TGroupBox;

Button_Priem_Naklad: TButton;

Button_Rashod_Naklad: TButton;

Button_Close: TButton;

GroupBox3: TGroupBox;

GroupBox4: TGroupBox;

Button_Postavshiki: TButton;

Button_Pokupateli: TButton;

Button_Tovarooborot: TButton;

Button_Finansy: TButton;

Label1: TLabel;

Button5: TButton;

Label2: TLabel;

procedure Button_CloseClick (Sender: TObject);

procedure Button_PriemClick (Sender: TObject);

procedure Button_RashodClick (Sender: TObject);

procedure Button_NalichieClick (Sender: TObject);

procedure Button_Priem_NakladClick (Sender: TObject);

procedure Button_Rashod_NakladClick (Sender: TObject);

procedure Button_PostavshikiClick (Sender: TObject);

procedure Button_PokupateliClick (Sender: TObject);

procedure Button_TovarooborotClick (Sender: TObject);

procedure Button_FinansyClick (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure Button5Click (Sender: TObject);

private.

{ Private declarations }.

public.

{ Public declarations }.

end;

var.

MainForm: TMainForm;

implementation.

{$R *.dfm}.

procedure TMainForm. Button_CloseClick (Sender: TObject);

begin.

close;

end;

procedure TMainForm. Button_PriemClick (Sender: TObject);

begin.

Application.CreateForm (TPriem, Priem);

Priem.Show;

end;

procedure TMainForm. Button_RashodClick (Sender: TObject);

begin.

Application.CreateForm (TRashod, Rashod);

Rashod.Show;

end;

procedure TMainForm. Button_NalichieClick (Sender: TObject);

begin.

Application.CreateForm (TNalichie, Nalichie);

Nalichie.Show;

end;

procedure TMainForm. Button_Priem_NakladClick (Sender: TObject);

begin.

Application.CreateForm (TPriem_naklad, Priem_naklad);

Priem_naklad.Show.

end;

procedure TMainForm. Button_Rashod_NakladClick (Sender: TObject);

begin.

Application.CreateForm (TRashod_naklad, Rashod_naklad);

Rashod_naklad.Show;

end;

procedure TMainForm. Button_PostavshikiClick (Sender: TObject);

begin.

Application.CreateForm (TPostavshiki, Postavshiki);

Postavshiki.Show;

end;

procedure TMainForm. Button_PokupateliClick (Sender: TObject);

begin.

Application.CreateForm (TPokupateli, Pokupateli);

Pokupateli.Show;

end;

prcedure TMainForm. Button_TovarooborotClick (Sender: TObject);

begin.

Application.CreateForm (TTovarooborot, Tovarooborot);

Tovarooborot.Show;

end;

procedure TMainForm. Button_FinansyClick (Sender: TObject);

begin.

Application.CreateForm (TFinansy, Finansy);

Finansy.Show;

end;

Код программы и его краткое описание.

procedure TMainForm. FormCreate (Sender: TObject);

begin.

Label2.Caption:=DateToStr (Now);

end;

procedure TMainForm. Button5Click (Sender: TObject);

var.

ost, i: integer;

art:string;

begin.

if DayOfTheMonth (Now)=1.

then.

begin.

DBComponents.ADOQuery_Priem.SQL.Text:='DELETE FROM Приход WHERE Оплачено=True';

DBComponents.ADOQuery_Priem.ExecSQL;

DBComponents.ADOQuery_Rashod_Naklad.SQL.Text:='SELECT [Код накладной] FROM Расход WHERE Оплачено=True';

DBComponents.ADOQuery_Rashod_Naklad.Active:=True;

i:=DBComponents.ADOQuery_Rashod_Naklad.RecNo;

DBComponents.ADOQuery_Rashod_Naklad.First;

while not (DBComponents.ADOQuery_Rashod_Naklad.Eof) do.

begin.

art:=DBComponents.ADOQuery_Rashod_Naklad.FieldByName ('Код накладной').AsString;

DeleteFile ('НакладныеНакладная_№_'+art+'.txt');

DBComponents.ADOQuery_Rashod_Naklad.Next;

end;

DBComponents.ADOQuery_Rashod_Naklad.RecNo:=i;

DBComponents.ADOQuery_Rashod.SQL.Text:='DELETE FROM Расход WHERE Оплачено=True';

DBComponents.ADOQuery_Rashod.ExecSQL;

DBComponents.ADOQuery_Tovari.SQL.Text:='SELECT Артикул,[Остаток на 1 число] FROM Товары ORDER BY Артикул';

DBComponents.ADOQuery_Tovari.Active:=True;

i:=DBComponents.ADOQuery_Tovari.RecNo;

DBComponents.ADOQuery_Tovari.First;

while not (DBComponents.ADOQuery_Tovari.Eof) do.

begin.

art:=DBComponents.ADOQuery_Tovari.FieldByName ('Артикул').AsString;

ost:=DBComponents.ADOQuery_Tovari.FieldByName ('Остаток на 1 число').AsInteger;

DBComponents.ADOQuery_Priem.SQL.Text:='SELECT SUM (Количество) AS Приход FROM [Подробности прихода] WHERE [Подробности прихода]. Артикул='+art+'';

DBComponents.ADOQuery_Priem.Active:=True;

ost:=ost+DBComponents.ADOQuery_Priem.FieldByName ('Приход').AsInteger;

DBComponents.ADOQuery_Priem.SQL.Text:='SELECT SUM (Количество) AS Расход FROM [Подробности расхода] WHERE [Подробности расхода]. Артикул='+art+'';

DBComponents.ADOQuery_Priem.Active:=True;

ost:=ost-DBComponents.ADOQuery_Priem.FieldByName ('Расход').AsInteger;

DBComponents.ADOQuery_Priem.SQL.Text:='UPDATE Товары SET [Остаток на 1 число]='+IntToStr (ost)+' WHERE Артикул='+art+'';

DBComponents.ADOQuery_Priem.ExecSQL;

DBComponents.ADOQuery_Tovari.Next;

end;

DBComponents.ADOQuery_Tovari.RecNo:=i;

end;

DBComponents.ADOQuery_Prihod_Naklad.SQL.Text:='DELETE FROM Приход WHERE Оплачено=True AND [Дата оплаты].

DBComponents.ADOQuery_Prihod_Naklad.ExecSQL;

DBComponents.ADOQuery_Rashod_Naklad.SQL.Text:='SELECT [Код накладной] FROM Расход WHERE Оплачено=True AND [Дата оплаты].

DBComponents.ADOQuery_Rashod_Naklad.Active:=True;

i:=DBComponents.ADOQuery_Rashod_Naklad.RecNo;

DBComponents.ADOQuery_Rashod_Naklad.First;

while not (DBComponents.ADOQuery_Rashod_Naklad.Eof) do.

begin.

art:=DBComponents.ADOQuery_Rashod_Naklad.FieldByName ('Код накладной').AsString;

DeleteFile ('НакладныеНакладная_№_'+art+'.txt');

DBComponents.ADOQuery_Rashod_Naklad.Next;

end;

DBComponents.ADOQuery_Rashod_Naklad.RecNo:=i;

DBComponents.ADOQuery_Rashod_Naklad.SQL.Text:='DELETE FROM Расход WHERE Оплачено=True AND [Дата оплаты].

DBComponents.ADOQuery_Rashod_Naklad.ExecSQL;

Button_Priem.Enabled:=True;

Button_Rashod.Enabled:=True;

Button_Nalichie.Enabled:=True;

Button_Priem_Naklad.Enabled:=True;

Button_Rashod_Naklad.Enabled:=True;

Button_Postavshiki.Enabled:=True;

Button_Pokupateli.Enabled:=True;

Button_Tovarooborot.Enabled:=True;

Button_Finansy.Enabled:=True;

end;

end.

Код программы и его краткое описание.
Код программы и его краткое описание.

Модуль данных программы — «DBComponents».

Содержит XPMan, а так же ADOConnection, DataSource, ADOQuery, соответствующие каждой функции программы.

unit Unit2;

interface.

uses.

SysUtils, Classes, XPMan, DB, ADODB;

type.

TDBComponents = class (TDataModule).

ADOConnection1: TADOConnection;

ADOQuery_Priem: TADOQuery;

DataSource_Priem: TDataSource;

XPManifest1: TXPManifest;

ADOQuery_Rashod: TADOQuery;

DataSource_Rashod: TDataSource;

ADOQuery_Prihod_Naklad: TADOQuery;

DataSource_Prihod_Naklad: TDataSource;

ADOQuery_Rashod_Naklad: TADOQuery;

DataSource_Rashod_Naklad: TDataSource;

ADOQuery_Tovari: TADOQuery;

DataSource_Tovari: TDataSource;

ADOQuery_Prihod_Details: TADOQuery;

DataSource_Prihod_Details: TDataSource;

ADOQuery_Rashod_Details: TADOQuery;

DataSource_Rashod_Details: TDataSource;

ADOQuery_Postavshiki: TADOQuery;

DataSource_Postavshiki: TDataSource;

ADOQuery_Pokupateli: TADOQuery;

DataSource_Pokupateli: TDataSource;

ADOQuery_Tovarooborot: TADOQuery;

DataSource_Tovarooborot: TDataSource;

ADOQuery_Finansy_Pokup1: TADOQuery;

DataSource_Finansy_Pokup1: TDataSource;

ADOQuery_Print1: TADOQuery;

DataSource_Print1: TDataSource;

ADOQuery_Print2: TADOQuery;

DataSource_Print2: TDataSource;

ADOQuery_Finansy_Post: TADOQuery;

DataSource_Finansy_Post: TDataSource;

ADOQuery_Finansy_Pokup2: TADOQuery;

DataSource_Finansy_Pokup2: TDataSource;

private.

{ Private declarations }.

public.

{ Public declarations }.

end;

var.

DBComponents: TDBComponents;

implementation.

{$R *.dfm}.

end.

Код программы и его краткое описание.

Окно приёма товара — «Priem».

В этой форме реализована возможность приёма товара по приходным накладным.

unit Unit3;

interface.

uses.

Код программы и его краткое описание.

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,.

Dialogs, StdCtrls, ComCtrls, ExtCtrls, DBCtrls, Grids, DBGrids,.

Mask, Unit2;

type.

TPriem = class (TForm).

GroupBox1: TGroupBox;

Edit1: TEdit;

CheckBox1: TCheckBox;

DateTimePicker1: TDateTimePicker;

DateTimePicker2: TDateTimePicker;

Edit2: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

GroupBox2: TGroupBox;

Button2: TButton;

StringGrid1: TStringGrid;

Label9: TLabel;

Edit4: TEdit;

Button1: TButton;

Button3: TButton;

Label10: TLabel;

Button4: TButton;

Edit3: TEdit;

Label11: TLabel;

Edit5: TEdit;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

procedure Button2Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure Button1Click (Sender: TObject);

private.

{ Private declarations }.

public.

{ Public declarations }.

end;

var.

Priem: TPriem;

n:integer;

implementation.

{$R *.dfm}.

procedure TPriem. Button2Click (Sender: TObject);

begin.

close;

end;

procedure TPriem. Button3Click (Sender: TObject);

var.

i, cost, summ, razn, vznos: integer;

kod, cost1, kol: string;

begin.

summ:=0;

DBComponents.ADOQuery_Priem.SQL.Text:='INSERT INTO Приход ([Код поставщика], Приход,[Дата прихода], Внесено) VALUES ('+Edit1.Text+','+BoolToStr (CheckBox1.Checked)+'," '+DateToStr (DateTimePicker1.Date)+'" ,'+Edit2.Text+')';

DBComponents.ADOQuery_Priem.ExecSQL;

DBComponents.ADOQuery_Priem.SQL.Text:='SELECT max ([Код накладной]) FROM Приход';

DBComponents.ADOQuery_Priem.Active:=True;

kod:=DBComponents.ADOQuery_Priem.Fields[0]. AsString;

Edit3.Text:=kod;

Edit3.Enabled:=True;

for i:=1 to n do.

begin.

DBComponents.ADOQuery_Priem.SQL.Text:='SELECT [Цена покупки] FROM Товары WHERE Товары. Артикул='+StringGrid1.Cells[1,i]+'';

DBComponents.ADOQuery_Priem.Active:=True;

cost1:=DBComponents.ADOQuery_Priem.Fields[0]. AsString;

cost:=StrToInt (cost1)*StrToInt (StringGrid1.Cells[2,i]);

DBComponents.ADOQuery_Priem.SQL.Text:='SELECT Количество FROM Товары WHERE Товары. Артикул='+StringGrid1.Cells[1,i]+'';

DBComponents.ADOQuery_Priem.Active:=True;

kol:=DBComponents.ADOQuery_Priem.Fields[0]. AsString;

kol:=IntToStr (StrToInt (kol)+StrToInt (StringGrid1.Cells[2,i]));

DBComponents.ADOQuery_Priem.SQL.Clear;

DBComponents.ADOQuery_Priem.SQL.Text:='UPDATE Товары SET Количество='+kol+' WHERE Товары. Артикул='+StringGrid1.Cells[1,i]+'';

DBComponents.ADOQuery_Priem.ExecSQL;

DBComponents.ADOQuery_Priem.SQL.Text:='INSERT INTO [Подробности прихода] ([Код накладной], Артикул, Количество,[Стоимость единицы], Стоимость) VALUES ('+kod+','+StringGrid1.Cells[1,i]+','+StringGrid1.Cells[2,i]+','+cost1+','+IntToStr (cost)+')';

DBComponents.ADOQuery_Priem.ExecSQL;

summ:=summ+cost;

end;

Edit5.Text:=IntToStr (summ);

vznos:=StrToInt (Edit2.Text);

razn:=summ-vznos;

if razn>0.

then.

begin.

DBComponents.ADOQuery_Priem.SQL.Text:='UPDATE Приход SET Оплачено=False, Сумма='+Edit5.Text+' WHERE [Код накладной]='+kod+'';

DBComponents.ADOQuery_Priem.ExecSQL;

ShowMessage ('Не хватает '+IntToStr (razn)+' рублей');

end.

else.

begin.

DBComponents.ADOQuery_Priem.SQL.Text:='UPDATE Приход SET Оплачено=True,[Дата оплаты]="'+DateToStr (DateTimePicker2.Date)+'", Внесено='+Edit5.Text+', Сумма='+Edit5.Text+' WHERE [Код накладной]='+kod+'';

DBComponents.ADOQuery_Priem.ExecSQL;

if razn0 then ShowMessage ('Сдача '+IntToStr (abs (razn))+' рублей');

end;

Label10.Visible:=True;

end;

procedure TPriem. Button4Click (Sender: TObject);

begin.

Label10.Visible:=False;

Edit3.Enabled:=False;

Edit3.Clear;

Edit1.Clear;

Edit2.Clear;

Edit4.Clear;

StringGrid1.Enabled:=False;

StringGrid1.RowCount:=2;

CheckBox1.Checked:=False;

Button3.Enabled:=False;

StringGrid1.Cells[1,1]: ='';

StringGrid1.Cells[2,1]: ='';

end;

procedure TPriem. FormCreate (Sender: TObject);

begin.

StringGrid1.Cells[1,0]: =' Артикул';

StringGrid1.Cells[2,0]: =' Количество';

StringGrid1.Cells[0,1]: ='1';

StringGrid1.ColWidths[0]: =30;

end;

procedure TPriem. Button1Click (Sender: TObject);

var.

i:integer;

begin.

if Edit4. Text='0'.

then.

begin.

ShowMessage ('Количество позиций должно быть больше 0');

Exit;

end;

Try.

n:=StrtoInt (Edit4.Text);

Except.

ShowMessage ('Задайте верное количество позиций');

Exit;

end;

StringGrid1.RowCount:=n+1;

for i:=1 to n do.

StringGrid1.Cells[0,i]: =IntToStr (i);

StringGrid1.Enabled:=True;

Button3.Enabled:=True;

end;

end.

Код программы и его краткое описание.

Окно отпуска товара — «Rashod».

В этой форме, по аналогии с предыдущей, реализована возможность отпуска товара по расходным накладным, после формирования накладной происходит создание отчёта с составом накладной и возможностью печати.

unit Unit4;

interface.

uses.

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,.

Dialogs, StdCtrls, Grids, ComCtrls, Unit2, Unit12;

type.

TRashod = class (TForm).

GroupBox1: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label4: TLabel;

Label7: TLabel;

Label8: TLabel;

Edit1: TEdit;

DateTimePicker1: TDateTimePicker;

Edit2: TEdit;

Edit3: TEdit;

GroupBox2: TGroupBox;

Label9: TLabel;

Label10: TLabel;

StringGrid1: TStringGrid;

Edit4: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Label3: TLabel;

Label13: TLabel;

Label6: TLabel;

DateTimePicker2: TDateTimePicker;

Label5: TLabel;

CheckBox1: TCheckBox;

procedure Button3Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure Button4Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

private.

{ Private declarations }.

public.

{ Public declarations }.

end;

var.

Rashod: TRashod;

n:integer;

implementation.

{$R *.dfm}.

procedure TRashod. Button2Click (Sender: TObject);

begin.

close;

end;

procedure TRashod. Button3Click (Sender: TObject);

var.

i, cost, summ: integer;

kod, cost1, kol: string;

begin.

summ:=0;

for i:=1 to n do.

begin.

DBComponents.ADOQuery_Rashod.SQL.Text:='SELECT Количество FROM Товары WHERE Товары. Артикул='+StringGrid1.Cells[1,i]+'';

DBComponents.ADOQuery_Rashod.Active:=True;

kol:=DBComponents.ADOQuery_Rashod.Fields[0]. AsString;

kol:=IntToStr (StrToInt (kol)-StrToInt (StringGrid1.Cells[2,i]));

if StrToInt (kol)<0.

then.

begin.

ShowMessage ('Не хватает '+IntToStr (Abs (StrToInt (kol)))+' позиций на складе с артикулом '+StringGrid1.Cells[1,i]+'');

Exit;

end;

end;

DBComponents.ADOQuery_Rashod.SQL.Text:='INSERT INTO Расход ([Код покупателя],[Дата отпуска]) VALUES ('+Edit1.Text+'," '+DateToStr (DateTimePicker1.Date)+'")';

DBComponents.ADOQuery_Rashod.ExecSQL;

DBComponents.ADOQuery_Rashod.SQL.Text:='SELECT max ([Код накладной]) FROM Расход';

DBComponents.ADOQuery_Rashod.Active:=True;

kod:=DBComponents.ADOQuery_Rashod.Fields[0]. AsString;

Edit3.Text:=kod;

Edit3.Enabled:=True;

for i:=1 to n do.

begin.

DBComponents.ADOQuery_Rashod.SQL.Text:='SELECT [Цена продажи] FROM Товары WHERE Товары. Артикул='+StringGrid1.Cells[1,i]+'';

DBComponents.ADOQuery_Rashod.Active:=True;

cost1:=DBComponents.ADOQuery_Rashod.Fields[0]. AsString;

cost:=StrToInt (cost1)*StrToInt (StringGrid1.Cells[2,i]);

DBComponents.ADOQuery_Rashod.SQL.Text:='SELECT Количество FROM Товары WHERE Товары. Артикул='+StringGrid1.Cells[1,i]+'';

DBComponents.ADOQuery_Rashod.Active:=True;

kol:=DBComponents.ADOQuery_Rashod.Fields[0]. AsString;

kol:=IntToStr (StrToInt (kol)-StrToInt (StringGrid1.Cells[2,i]));

DBComponents.ADOQuery_Rashod.SQL.Clear;

DBComponents.ADOQuery_Rashod.SQL.Text:='UPDATE Товары SET Количество='+kol+' WHERE Товары. Артикул='+StringGrid1.Cells[1,i]+'';

DBComponents.ADOQuery_Rashod.ExecSQL;

DBComponents.ADOQuery_Rashod.SQL.Text:='INSERT INTO [Подробности расхода] ([Код накладной], Артикул, Количество,[Стоимость единицы], Стоимость) VALUES ('+kod+','+StringGrid1.Cells[1,i]+','+StringGrid1.Cells[2,i]+','+cost1+','+IntToStr (cost)+')';

DBComponents.ADOQuery_Rashod.ExecSQL;

summ:=summ+cost;

end;

Edit2.Text:=IntToStr (summ);

DBComponents.ADOQuery_Priem.SQL.Text:='UPDATE Расход SET Сумма='+Edit2.Text+' WHERE [Код накладной]='+kod+'';

DBComponents.ADOQuery_Priem.ExecSQL;

if Checkbox1. Checked=True.

then.

begin.

DBComponents.ADOQuery_Priem.SQL.Text:='UPDATE Расход SET Оплачено=True,[Дата оплаты]="'+DateToStr (DateTimePicker1.Date)+'" WHERE [Код накладной]='+kod+'';

DBComponents.ADOQuery_Priem.ExecSQL;

end;

Label10.Visible:=True;

DBComponents.ADOQuery_Print2.SQL.Text:='SELECT Расход. Код покупателя],[Название фирмы], Фамилия, Имя, Отчество, Телефон, Адрес,[Банк покупателя],[Расчётный счёт] FROM Расход, Покупатели WHERE Расход. Код накладной]='+kod+' AND Расход. Код покупателя]=Покупатели. Код покупателя]';

DBComponents.ADOQuery_Print2.Active:=True;

DBComponents.ADOQuery_Print1.SQL.Text:='SELECT [Код накладной], Товары. Артикул, Название,[Подробности расхода]. Количество,[Стоимость единицы], Стоимость FROM [Подробности расхода], Товары WHERE [Код накладной]='+kod+' AND Товары. Артикул=[Подробности расхода]. Артикул';

DBComponents.ADOQuery_Print1.Active:=True;

Rashod_Print.QuickRep1.ExportToFilter (TQRAsciiExp…

DBComponents.ADOQuery_Priem.ExecSQL;

end;

DBComponents.ADOQuery_Prihod_Naklad.SQL.Text:='SELECT [Код накладной], Поставщики. Название фирмы], Приход. Код поставщика], Приход,[Дата прихода], Оплачено,[Дата оплаты], Внесено, Сумма FROM Приход, Поставщики WHERE Приход. Код поставщика]=Поставщики. Код поставщика]';

DBComponents.ADOQuery_Prihod_Naklad.Active:=True;

end;

end.

Код программы и его краткое описание.

Список расходных накладных — «Rashod_naklad».

В данном меню, по аналогии с предыдущей формой, реализовано отображение списка расходных накладных и состав любой выбранной из них с возможностью проставления отметок об оплате и дате оплаты накладной, выполнена реализация печати выбранной накладной.

unit Unit7;

interface.

uses.

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,.

Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, Unit2, ComCtrls, Unit12;

type.

TRashod_naklad = class (TForm).

GroupBox1: TGroupBox;

Label1: TLabel;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Edit1: TEdit;

Button2: TButton;

GroupBox2: TGroupBox;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

Button1: TButton;

Label2: TLabel;

Label3: TLabel;

Edit2: TEdit;

Edit3: TEdit;

Label4: TLabel;

Label5: TLabel;

GroupBox3: TGroupBox;

Button3: TButton;

CheckBox1: TCheckBox;

DateTimePicker1: TDateTimePicker;

Button4: TButton;

procedure Button2Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure DBGrid1CellClick (Column: TColumn);

procedure DBNavigator1Click (Sender: TObject; Button: TNavigateBtn);

procedure Button3Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

private.

{ Private declarations }.

public.

{ Public declarations }.

end;

var.

Rashod_naklad: TRashod_naklad;

kod_naklad, summ, vneseno, oplacheno: string;

implementation.

{$R *.dfm}.

procedure TRashod_naklad.Button1Click (Sender: TObject);

begin.

close;

end;

procedure TRashod_naklad.FormCreate (Sender: TObject);

begin.

DBComponents.ADOQuery_Rashod_Naklad.SQL.Text:='SELECT SUM (Сумма) FROM Расход WHERE Оплачено=True';

DBComponents.ADOQuery_Rashod_Naklad.Active:=True;

vneseno:=DBComponents.ADOQuery_Rashod_Naklad.Fields[0]. AsString;

DBComponents.ADOQuery_Rashod_Naklad.SQL.Text:='SELECT SUM (Сумма) FROM Расход';

DBComponents.ADOQuery_Rashod_Naklad.Active:=True;

summ:=DBComponents.ADOQuery_Rashod_Naklad.Fields[0]. AsString;

Edit2.Text:=vneseno;

Edit3.Text:=summ;

DBComponents.ADOQuery_Rashod_Naklad.SQL.Text:='SELECT [Код накладной], Покупатели. Название фирмы], Расход. Код покупателя],[Дата отпуска], Оплачено,[Дата оплаты], Сумма FROM Расход, Покупатели WHERE Расход. Код покупателя]=Покупатели. Код покупателя]';

DBComponents.ADOQuery_Rashod_Naklad.Active:=True;

kod_naklad:=DBGrid1.DataSource.DataSet.FieldValues['Код накладной'];

oplacheno:=DBGrid1.DataSource.DataSet.FieldValues['Оплачено'];

Edit1.Text:=kod_naklad;

CheckBox1.Checked:=StrToBool (oplacheno);

DBComponents.ADOQuery_Rashod_Details.SQL.Text:='SELECT Товары. Артикул, Товары. Название,[Подробности расхода]. Количество,[Подробности расхода]. Стоимость единицы],[Подробности расхода]. Стоимость FROM Товары,[Подробности расхода] WHERE [Код накладной]='+kod_naklad+' AND Товары. Артикул=[Подробности расхода]. Артикул ORDER BY Товары. Артикул';

DBComponents.ADOQuery_Rashod_Details.Active:=True;

end;

procedure TRashod_naklad.DBGrid1CellClick (Column: TColumn);

begin.

kod_naklad:=DBGrid1.DataSource.DataSet.FieldValues['Код накладной'];

oplacheno:=DBGrid1.DataSource.DataSet.FieldValues['Оплачено'];

Edit1.Text:=kod_naklad;

CheckBox1.Checked:=StrToBool (oplacheno);

DBComponents.ADOQuery_Rashod_Details.SQL.Text:='SELECT Товары. Артикул, Товары. Название,[Подробности расхода]. Количество,[Подробности расхода]. Стоимость единицы],[Подробности расхода]. Стоимость FROM Товары,[Подробности расхода] WHERE [Код накладной]='+kod_naklad+' AND Товары. Артикул=[Подробности расхода]. Артикул ORDER BY Товары. Артикул';

DBComponents.ADOQuery_Rashod_Details.Active:=True;

end;

procedure TRashod_naklad.Button2Click (Sender: TObject);

begin.

kod_naklad:=Edit1.Text;

DBGrid1.DataSource.DataSet.RecNo:=StrToInt (kod_naklad);

DBComponents.ADOQuery_Rashod_Details.SQL.Text:='SELECT Товары. Артикул, Товары. Название,[Подробности расхода]. Количество,[Подробности расхода]. Стоимость единицы],[Подробности расхода]. Стоимость FROM Товары,[Подробности расхода] WHERE [Код накладной]='+kod_naklad+' AND Товары. Артикул=[Подробности расхода]. Артикул ORDER BY Товары. Артикул';

DBComponents.ADOQuery_Rashod_Details.Active:=True;

end;

procedure TRashod_naklad.DBNavigator1Click (Sender: TObject; Button: TNavigateBtn);

begin.

DBGrid1CellClick (nil);

end;

procedure TRashod_naklad.Button3Click (Sender: TObject);

begin.

if CheckBox1. Checked=True.

then.

begin.

DBComponents.ADOQuery_Priem.SQL.Text:='UPDATE Расход SET Оплачено=True,[Дата оплаты]="'+DateToStr (DateTimePicker1.Date)+'" WHERE [Код накладной]='+kod_naklad+'';

DBComponents.ADOQuery_Priem.ExecSQL;

end.

else.

begin.

DBComponents.ADOQuery_Priem.SQL.Text:='UPDATE Расход SET Оплачено=False WHERE [Код накладной]='+kod_naklad+'';

DBComponents.ADOQuery_Priem.ExecSQL;

end;

DBComponents.ADOQuery_Rashod_Naklad.SQL.Text:='SELECT [Код накладной], Покупатели. Название фирмы], Расход. Код покупателя],[Дата отпуска], Оплачено,[Дата оплаты], Сумма FROM Расход, Покупатели WHERE Расход. Код покупателя]=Покупатели. Код покупателя]';

DBComponents.ADOQuery_Rashod_Naklad.Active:=True;

end;

procedure TRashod_naklad.Button4Click (Sender: TObject);

begin.

DBComponents.ADOQuery_Print2.SQL.Text:='SELECT Расход. Код покупателя],[Название фирмы], Фамилия, Имя, Отчество, Телефон, Адрес,[Банк покупателя],[Расчётный счёт] FROM Расход, Покупатели WHERE Расход. Код накладной]='+kod_naklad+' AND Расход. Код покупателя]=Покупатели. Код покупателя]';

DBComponents.ADOQuery_Print2.Active:=True;

DBComponents.ADOQuery_Print1.SQL.Text:='SELECT [Код накладной], Товары. Артикул, Название,[Подробности расхода]. Количество,[Стоимость единицы], Стоимость FROM [Подробности расхода], Товары WHERE [Код накладной]='+kod_naklad+' AND Товары. Артикул=[Подробности расхода]. Артикул';

DBComponents.ADOQuery_Print1.Active:=True;

Rashod_Print.QuickRep1.Preview;

end;

procedure TRashod_naklad.Button5Click (Sender: TObject);

begin.

WinExec ('EXPLORER /e, '+'" Накладные" ', SW_SHOW);

end;

end.

Код программы и его краткое описание.

Поставщики — «Postavshiki».

Список поставщиков с возможностью добавления и редактирования записей.

unit Unit8;

interface.

uses.

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,.

Dialogs, Unit2, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids;

type.

TPostavshiki = class (TForm).

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Button1: TButton;

procedure FormCreate (Sender: TObject);

procedure Button1Click (Sender: TObject);

private.

{ Private declarations }.

public.

{ Public declarations }.

end;

var.

Postavshiki: TPostavshiki;

implementation.

{$R *.dfm}.

procedure TPostavshiki. FormCreate (Sender: TObject);

begin.

DBComponents.ADOQuery_Postavshiki.SQL.Text:='SELECT * FROM Поставщики ORDER BY [Код поставщика]';

DBComponents.ADOQuery_Postavshiki.Active:=True;

end;

procedure TPostavshiki. Button1Click (Sender: TObject);

begin.

close;

end;

end.

Код программы и его краткое описание.

Покупатели — «Pokupateli».

Список покупателей с возможностью добавления и редактирования записей.

unit Unit9;

interface.

uses.

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,.

Dialogs, Unit2, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids;

type.

TPokupateli = class (TForm).

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Button1: TButton;

procedure FormCreate (Sender: TObject);

procedure Button1Click (Sender: TObject);

private.

{ Private declarations }.

public.

{ Public declarations }.

end;

var.

Pokupateli: TPokupateli;

implementation.

{$R *.dfm}.

procedure TPokupateli. FormCreate (Sender: TObject);

begin.

DBComponents.ADOQuery_Pokupateli.SQL.Text:='SELECT * FROM Покупатели ORDER BY [Код покупателя]';

DBComponents.ADOQuery_Pokupateli.Active:=True;

end;

procedure TPokupateli. Button1Click (Sender: TObject);

begin.

close;

end;

end.

Код программы и его краткое описание.

Товарооборот — «Tovarooborot».

Предоставление статистической информации в соответствии с таблицей 2 из задания.

unit Unit10;

interface.

uses.

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,.

Dialogs, Unit2, StdCtrls, Grids, DBGrids;

type.

TTovarooborot = class (TForm).

DBGrid1: TDBGrid;

Button1: TButton;

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

Label3: TLabel;

Edit3: TEdit;

Label4: TLabel;

Edit4: TEdit;

procedure FormCreate (Sender: TObject);

procedure Button1Click (Sender: TObject);

private.

{ Private declarations }.

public.

{ Public declarations }.

end;

var.

Tovarooborot: TTovarooborot;

implementation.

{$R *.dfm}.

procedure TTovarooborot. FormCreate (Sender: TObject);

var.

ost, pri, ras, stoim, i: integer;

begin.

DBComponents.ADOQuery_Tovarooborot.SQL.Text:='SELECT Товары. Артикул, Название,[Цена покупки],[Цена продажи],[Остаток на 1 число],[Остаток на 1 число]*[Цена покупки] AS [Стоимость остатка], Sum ([Подробности прихода]. Количество) AS [Количество прихода],';

DBComponents.ADOQuery_Tovarooborot.SQL.Add (' [Количество прихода]*[Цена покупки] AS [Стоимость прихода], Sum ([Подробности расхода]. Количество) AS [Количество расхода],[Количество расхода]*[Цена покупки] AS [Стоимость расхода], Товары. Количество, Товары. Количество*[Цена покупки] AS Стоимость');

DBComponents.ADOQuery_Tovarooborot.SQL.Add (' FROM (Товары LEFT OUTER JOIN [Подробности расхода] ON Товары. Артикул=[Подробности расхода]. Артикул) LEFT OUTER JOIN [Подробности прихода] ON Товары. Артикул=[Подробности прихода]. Артикул');

DBComponents.ADOQuery_Tovarooborot.SQL.Add (' GROUP BY Товары. Артикул, Название,[Цена покупки],[Цена продажи], Товары. Количество,[Остаток на 1 число]');

DBComponents.ADOQuery_Tovarooborot.Active:=True;

ost:=0;

pri:=0;

ras:=0;

stoim:=0;

i:=DBComponents.ADOQuery_Tovarooborot.RecNo;

DBComponents.ADOQuery_Tovarooborot.First;

while not (DBComponents.ADOQuery_Tovarooborot.Eof) do.

begin.

ost:=ost+DBComponents.ADOQuery_Tovarooborot.FieldByName ('Стоимость остатка').AsInteger;

pri:=pri+DBComponents.ADOQuery_Tovarooborot.FieldByName ('Стоимость прихода').AsInteger;

ras:=ras+DBComponents.ADOQuery_Tovarooborot.FieldByName ('Стоимость расхода').AsInteger;

stoim:=stoim+DBComponents.ADOQuery_Tovarooborot.FieldByName ('Стоимость').AsInteger;

DBComponents.ADOQuery_Tovarooborot.Next;

end;

DBComponents.ADOQuery_Tovarooborot.RecNo:=i;

Edit1.Text:=IntToStr (ost);

Edit2.Text:=IntToStr (pri);

Edit3.Text:=IntToStr (ras);

Edit4.Text:=IntToStr (stoim);

end;

procedure TTovarooborot. Button1Click (Sender: TObject);

begin.

close;

end;

end.

Код программы и его краткое описание.

Финансы — «Finansy».

Представление информации о задолженностях по поставщикам и покупателям.

unit Unit11;

interface.

uses.

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,.

Dialogs, Unit2, ExtCtrls, DBCtrls, StdCtrls, Grids, DBGrids, ComCtrls;

type.

TFinansy = class (TForm).

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

DBGrid1: TDBGrid;

Button1: TButton;

DBNavigator1: TDBNavigator;

DBGrid2: TDBGrid;

DBGrid3: TDBGrid;

DBNavigator2: TDBNavigator;

DBNavigator3: TDBNavigator;

Label1: TLabel;

Edit1: TEdit;

procedure Button1Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure DBGrid2CellClick (Column: TColumn);

procedure DBNavigator2Click (Sender: TObject; Button: TNavigateBtn);

private.

{ Private declarations }.

public.

{ Public declarations }.

end;

var.

Finansy: TFinansy;

kod_pokup:string;

dolg, i: integer;

implementation.

{$R *.dfm}.

procedure TFinansy. Button1Click (Sender: TObject);

begin.

close;

end;

procedure TFinansy. FormCreate (Sender: TObject);

begin.

dolg:=0;

DBComponents.ADOQuery_Finansy_Post.SQL.Text:='SELECT Приход. Код поставщика],[Название фирмы],[Банк поставщика],[Расчётный счёт], SUM (Сумма-Внесено) AS Задолженность';

DBComponents.ADOQuery_Finansy_Post.SQL.Add (' FROM Приход, Поставщики WHERE Внесено<�Сумма AND Приход. Код поставщика]=Поставщики. Код поставщика] GROUP BY Приход. Код поставщика], [Название фирмы],[Банк поставщика],[Расчётный счёт]');

DBComponents.ADOQuery_Finansy_Post.Active:=True;

DBComponents.ADOQuery_Finansy_Pokup1.SQL.Text:='SELECT Расход. Код покупателя],[Название фирмы],[Банк покупателя],[Расчётный счёт] FROM Расход, Покупатели WHERE Расход. Код покупателя]=Покупатели. Код покупателя] AND Оплачено=False';

DBComponents.ADOQuery_Finansy_Pokup1.SQL.Add (' GROUP BY Расход. Код покупателя],[Название фирмы],[Банк покупателя],[Расчётный счёт]');

DBComponents.ADOQuery_Finansy_Pokup1.Active:=True;

kod_pokup:=DBGrid2.DataSource.DataSet.FieldValues['Код покупателя'];

DBComponents.ADOQuery_Finansy_Pokup2.SQL.Text:='SELECT [Код накладной],[Дата отпуска], Сумма FROM Расход WHERE Расход. Код покупателя]='+kod_pokup+' AND Оплачено=False';

DBComponents.ADOQuery_Finansy_Pokup2.Active:=True;

i:=DBComponents.ADOQuery_Finansy_Pokup2.RecNo;

DBComponents.ADOQuery_Finansy_Pokup2.First;

while not (DBComponents.ADOQuery_Finansy_Pokup2.Eof) do.

begin.

dolg:=dolg+DBComponents.ADOQuery_Finansy_Pokup2.FieldByName ('Сумма').AsInteger;

DBComponents.ADOQuery_Finansy_Pokup2.Next;

end;

DBComponents.ADOQuery_Finansy_Pokup2.RecNo:=i;

Edit1.Text:=IntToStr (dolg);

end;

procedure TFinansy. DBGrid2CellClick (Column: TColumn);

begin.

dolg:=0;

kod_pokup:=DBGrid2.DataSource.DataSet.FieldValues['Код покупателя'];

DBComponents.ADOQuery_Finansy_Pokup2.SQL.Text:='SELECT [Код накладной],[Дата отпуска], Сумма FROM Расход WHERE Расход. Код покупателя]='+kod_pokup+' AND Оплачено=False';

DBComponents.ADOQuery_Finansy_Pokup2.Active:=True;

i:=DBComponents.ADOQuery_Finansy_Pokup2.RecNo;

DBComponents.ADOQuery_Finansy_Pokup2.First;

while not (DBComponents.ADOQuery_Finansy_Pokup2.Eof) do.

begin.

dolg:=dolg+DBComponents.ADOQuery_Finansy_Pokup2.FieldByName ('Сумма').AsInteger;

DBComponents.ADOQuery_Finansy_Pokup2.Next;

end;

DBComponents.ADOQuery_Finansy_Pokup2.RecNo:=i;

Edit1.Text:=IntToStr (dolg);

end;

procedure TFinansy. DBNavigator2Click (Sender: TObject;

Button: TNavigateBtn);

begin.

DBGrid2CellClick (nil);

end;

end.

Код программы и его краткое описание.

Отчётная форма — «Rashod_Print».

С помощью этой формы реализована отчётность программы по расходным наклажным и возможность печати.

unit Unit12;

interface.

uses.

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,.

Dialogs, QRCtrls, QuickRpt, ExtCtrls, Unit2;

type.

TRashod_Print = class (TForm).

QuickRep1: TQuickRep;

QRBand1: TQRBand;

QRSysData2: TQRSysData;

QRBand2: TQRBand;

QRLabel6: TQRLabel;

QRExpr1: TQRExpr;

QRBand3: TQRBand;

DataR: TQRDBText;

Adress: TQRDBText;

Telephone: TQRDBText;

Familiya: TQRDBText;

Name: TQRDBText;

QRBand4: TQRBand;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRLabel5: TQRLabel;

QRBand5: TQRBand;

QRImage1: TQRImage;

QRLabel1: TQRLabel;

QRBand6: TQRBand;

QRSysData1: TQRSysData;

QRLabel7: TQRLabel;

QRLabel8: TQRLabel;

QRLabel9: TQRLabel;

QRDBText1: TQRDBText;

QRLabel10: TQRLabel;

QRExpr2: TQRExpr;

QRLabel12: TQRLabel;

QRLabel13: TQRLabel;

QRLabel14: TQRLabel;

QRDBText2: TQRDBText;

QRLabel11: TQRLabel;

QRLabel15: TQRLabel;

QRDBText3: TQRDBText;

QRLabel16: TQRLabel;

QRDBText4: TQRDBText;

QRLabel17: TQRLabel;

QRDBText5: TQRDBText;

QRLabel18: TQRLabel;

QRDBText6: TQRDBText;

QRDBText7: TQRDBText;

QRLabel19: TQRLabel;

QRLabel20: TQRLabel;

QRDBText8: TQRDBText;

QRDBText9: TQRDBText;

QRLabel21: TQRLabel;

QRLabel22: TQRLabel;

QRDBText10: TQRDBText;

private.

{ Private declarations }.

public.

{ Public declarations }.

end;

var.

Rashod_Print: TRashod_Print;

implementation.

{$R *.dfm}.

end.

Показать весь текст
Заполнить форму текущей работой