Вам нужна дипломная работа?
Интересует Программирование?
Оставьте заявку
на Дипломную работу
Получите бесплатную
консультацию по
написанию
Сделайте заказ и
скачайте
результат на сайте
1
2
3

"Система (подсистема) складкого учета материалов в строительной компании.(Delphi 6, Локальная СУБД)".

  • 129 страниц
  • 89 источников
  • Добавлена 25.06.2009
2 100 руб. 7 000 руб.
Купить в 1 клик Скачать превью
  • Содержание
  • Часть работы
  • Список литературы
Содержание дипломного проекта
Введение

1.Постановка задачи
1.1.Назначение и цели системы
1.2.Требование к системе
1.3.Содержательное описание постановки задачи
1.3.1.Описание эффективности внедрения
1.3.2.Основные действия

2.Проектирование
2.1.Обоснование выбора технических средств
2.1.1.Технические средства для реализации проекта
2.1.2.Технические средства для работы системы учета
2.2.Обоснование выбора программных средств
2.2.1.Характерные черты и достоинства Delphi 7 и MS SQL 2000 и их применения в качестве инструментальных программных продуктов
2.2.2.Системное программное обеспечение

3.Разработка программной реализации
3.1.Краткая характеристика программной среды
3.1.1.Описание программной среды
3.1.2.Выбранные средства реализации
3.2.Разработка структуры БД
3.3.Описание и обоснование использования всех таблиц (и их струк-тур),
3.4 Разработка форм отчетной документации
3.5 Разработка пользовательского интерфейса
3.6 Выбор методов обмена данными

4.Обеспечение надежности обработки данных в системе
4.1.Методы повышения надежности обработки данных
4.2.Обеспечение надежности обработки данных в среде Delphi 7 и MS SQL 2000
4.3 Основные задачи, цели и методы процессов верификации и валидации.

5.Руководство пользователя
5.1.Полное руководство пользователя на разработанный программ-ный продукт
5.2 Структура разработанного ПО
5.3 Спецификации главного модуля проекта MainClients.pas.

6.Экономическое обоснование
6.1.Введение
6.2.Организационный план работ по разработке системы
6.3.Расчёт себестоимости проекта
6.4.Расчет оценочной стоимости автоматизированной системы
6.5.Оценка экономической эффективности
6.6.Выводы

7.Охрана труда
7.1.Техника безопасности при работе за компьютером
7.2.Охрана окружающей среды и т.д.
Заключение
Литература
Приложения

Фрагмент для ознакомления

М.: «Вильямс», 2003. – 1128с.
Черников А. Поздняков В. От бухгалтерии под Windows к открытым Unix-системам // Компьютерное обозрение № 34 (402), 2003. с.22-27. www.ITC-UA.COM
Шумаков П.В., Фаронов В.В. Delphi 5. Руководство разработчика баз данных. — М.: Нолидж, 2000. — 635 с.



Приложение

Листинг модуля MainClients

unit MainClients;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, DB, ADODB, IniFiles, Grids, DBGrids,DBDirectoryTemplate, addsorce, DateUtils, parampoisk;
type
TMainClientsForm = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N19: TMenuItem;
DataSource1: TDataSource;
ADOTable2: TADOTable;
ADOTable3: TADOTable;
ADOTable4: TADOTable;
ADOTable5: TADOTable;
ADOTable6: TADOTable;
ADOTable7: TADOTable;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
procedure N12Click(Sender: TObject);
function IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;
function IsFormOpen(const FormName : string): Boolean;
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N22Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure N4Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N19Click(Sender: TObject);
private
{ Private declarations }
procedure BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);
public
{ Public declarations }
end;
var
MainClientsForm: TMainClientsForm;
nastr:tinifile;
DirectoryForm : TDBDirectoryTemplateForm;
prosmForm: Taddform;
mainflag:boolean;
nomer_poisk:word;
idLocation, idAddional, idZapas, idPartiya:integer;
implementation
{$R *.dfm}
function TMainClientsForm.IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;
var
i: Integer;
begin
Result := False;
for i := Pred(AFormName.MDIChildCount) DownTo 0 do
if (AFormName.MDIChildren[i].Name = AMDIChildName) then
begin
Result := True;
AFormName.MDIChildren[i].Free;
// Break;
end;
end;
function TMainClientsForm.IsFormOpen(const FormName : string): Boolean;
var
i: Integer;
begin
Result := False;
for i := Screen.FormCount - 1 DownTo 0 do
if (Screen.Forms[i].Name = FormName) then
begin
Result := True;
Break;
end;
end;
procedure TMainClientsForm.BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);
begin
//создаем форму
DirectoryForm:=TDBDirectoryTemplateForm.Create(Owner);
DirectoryForm.TableDBGrid.DataSource:=ds;
DirectoryForm.Top:=0;
DirectoryForm.Left:=0;
DirectoryForm.Caption:=sCaption;
end;

procedure TMainClientsForm.N12Click(Sender: TObject);
begin
MainClientsForm.Close;
end;

procedure TMainClientsForm.N6Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable1;
mainclientsform.ADOTable1.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('товары', mainclientsform.DataSource1);
DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='ИД.№ товар';
DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='Наименование';
DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='ид.размещения';
DirectoryForm.TableDBGrid.Fields[3].DisplayLabel:='ид.дополн. информации';
DirectoryForm.TableDBGrid.Fields[4].DisplayLabel:='ид. запасов';
DirectoryForm.TableDBGrid.Fields[5].DisplayLabel:='ид. партии';
end;
procedure TMainClientsForm.N7Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable2;
mainclientsform.ADOTable2.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('накладные', mainclientsform.DataSource1);
DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='№ накладной';
DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='дата';
DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='ид. товара';
DirectoryForm.TableDBGrid.Fields[3].DisplayLabel:='откуда';
DirectoryForm.TableDBGrid.Fields[4].DisplayLabel:='цель';
DirectoryForm.TableDBGrid.Fields[5].DisplayLabel:='количество';
DirectoryForm.TableDBGrid.Fields[6].DisplayLabel:='стоимость';
DirectoryForm.TableDBGrid.Fields[7].DisplayLabel:='номер партии';
end;
procedure TMainClientsForm.N8Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable3;
mainclientsform.ADOTable3.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('запасы товара', mainclientsform.DataSource1);
DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='№ записи';
DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='ед. измерения';
DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='количество';
DirectoryForm.TableDBGrid.Fields[3].DisplayLabel:='стоимость';
DirectoryForm.TableDBGrid.Fields[4].DisplayLabel:='резерв. кол.';
DirectoryForm.TableDBGrid.Fields[5].DisplayLabel:='кто резерв.';
DirectoryForm.TableDBGrid.Fields[6].DisplayLabel:='дата резерв.';
DirectoryForm.TableDBGrid.Fields[7].DisplayLabel:='примечание';
end;
procedure TMainClientsForm.N9Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable4;
mainclientsform.ADOTable4.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('заказы на товар', mainclientsform.DataSource1);
DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='№ заказа';
DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='дата';
DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='заказчик';
DirectoryForm.TableDBGrid.Fields[3].DisplayLabel:='№ товара';
DirectoryForm.TableDBGrid.Fields[4].DisplayLabel:='количество';
end;
procedure TMainClientsForm.N10Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable5;
mainclientsform.ADOTable5.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Размещение товаров', mainclientsform.DataSource1);
DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='№ записи';
DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='место на складе';
DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='уточнение размещение';
DirectoryForm.TableDBGrid.Fields[3].DisplayLabel:='примечание';

end;

procedure TMainClientsForm.N20Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable6;
mainclientsform.ADOTable6.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Дополнительные сведения о товарах', mainclientsform.DataSource1);
DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='№ записи';
DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='серийный номер';
DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='срок годности';
end;
procedure TMainClientsForm.N21Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable7;
mainclientsform.ADOTable7.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Сведения о партиях товаров', mainclientsform.DataSource1);
DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='№ записи';
DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='№ партии';
DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='количество';
DirectoryForm.TableDBGrid.Fields[3].DisplayLabel:='откуда';
DirectoryForm.TableDBGrid.Fields[4].DisplayLabel:='дата';
DirectoryForm.TableDBGrid.Fields[5].DisplayLabel:='описание операции';
end;
procedure TMainClientsForm.N22Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'addForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
MainClientsForm.N6Click(sender);
prosmForm:=Taddform.Create(Owner);
prosmForm.Top:=230;
prosmForm.Left:=0;
prosmForm.Width:=500;
prosmForm.Height:=200;
prosmForm.Caption:='просмотр записей';
mainflag:=true;
prosmForm.Show;
prosmForm.Button1.Visible:=false;
prosmForm.GroupBox3.Visible:=false;
prosmForm.GroupBox4.Visible:=false;
MainClientsForm.DataSource1.DataSet.last
end;

procedure TMainClientsForm.FormCreate(Sender: TObject);
var NewConnection: Widestring;
begin
NewConnection := PromptDataSource(Handle, MainClientsForm.ADOConnection1.Connectionstring);
MainClientsForm.ADOConnection1.Connectionstring:=NewConnection;
MainClientsForm.ADOConnection1.Connected:=true;
MainClientsForm.ADOTable1.Active:=true;
MainClientsForm.ADOTable2.Active:=true;
MainClientsForm.ADOTable3.Active:=true;
MainClientsForm.ADOTable4.Active:=true;
MainClientsForm.ADOTable5.Active:=true;
MainClientsForm.ADOTable6.Active:=true;
MainClientsForm.ADOTable7.Active:=true;
end;
procedure TMainClientsForm.N3Click(Sender: TObject);
var dobForm: Taddform;
begin
mainflag:=false;
IsMDIChildOpen(MainClientsForm,'addForm');
dobForm:=Taddform.Create(Owner);
dobForm.Top:=240;
dobForm.Left:=3;
dobForm.Caption:='добавление записи';
dobForm.Show;
dobForm.Button1.Visible:=true;
dobForm.GroupBox1.Visible:=false;
dobForm.GroupBox3.Visible:=false;
dobForm.GroupBox4.Visible:=false;
end;
procedure TMainClientsForm.DataSource1DataChange(Sender: TObject;
Field: TField);
var
sql_str,rez:string;
P11:Tparameter;
rezdate:tdatetime;
rezint:integer;
rezfloat:real;
Ayear, amonth,aday,ahour,aminute,asecond,amillisecond:word;
begin
if mainflag then
begin
prosmForm.edit1.text:='';
prosmForm.edit2.text:='';
prosmForm.edit3.text:='';
prosmForm.edit4.text:='';
prosmForm.edit5.text:='';
prosmForm.edit6.text:='1';
prosmForm.edit7.text:='1';
prosmForm.edit9.text:='1';
prosmForm.edit10.text:='1';
prosmForm.edit8.text:='2009';
prosmForm.edit11.text:='2009';
prosmForm.edit12.text:='';
prosmForm.edit13.text:='';
prosmForm.edit14.text:='';
prosmForm.edit15.text:='';
prosmForm.edit16.text:='';
prosmForm.edit17.text:='';
prosmForm.edit18.text:='';
prosmForm.edit19.text:='';
prosmForm.edit20.text:='';
prosmForm.edit21.text:='';
prosmForm.edit22.text:='';
prosmForm.edit23.text:='';
//из таблицы
prosmForm.Edit1.Text:=MainClientsForm.DataSource1.DataSet.FieldByName('nameTovar').AsString;
idLoсаtion:=MainClientsForm.DataSource1.DataSet.FieldByName('idLocation').AsInteger; ;
idAdional:=MainClientsForm.DataSource1.DataSet.FieldByName('idAddional').AsInteger; ;
idZpas:=MainClientsForm.DataSource1.DataSet.FieldByName('idZapas').AsInteger; ; idPartiya:=MainClientsForm.DataSource1.DataSet.FieldByName('idPartiya').AsInteger; ; // размещение
sql_str:='SELECT * from Location where idLocation= :P11';
MainClientsForm.ADOQuery1.Active:=false;
MainClientsForm.ADOQuery1.SQL.Clear;
P11 :=mainclientsform.ADOQuery1.Parameters.AddParameter;
P11.Name:='P11';
p11.DataType := ftinteger;
P11.Value:=idLocation;
P11.Size:=4;
MainClientsForm.ADOQuery1.SQL.Add(sql_str);
MainClientsForm.ADOQuery1.Active:=true;
MainClientsForm.ADOQuery1.ExecSQL;
rez:=MainClientsForm.ADOQuery1.FieldByName('Location').AsString;
prosmForm.Edit14.Text:=rez;
rez:=MainClientsForm.ADOQuery1.FieldByName('addional_location').AsString;
prosmForm.Edit15.Text:=rez;
rez:=MainClientsForm.ADOQuery1.FieldByName('notes').AsString;
prosmForm.Edit16.Text:=rez;
// дополнительные сведения
sql_str:='SELECT * from Addional where idAddional= :P11';
MainClientsForm.ADOQuery1.Active:=false;
MainClientsForm.ADOQuery1.SQL.Clear;
P11 :=mainclientsform.ADOQuery1.Parameters.AddParameter;
P11.Name:='P11';
p11.DataType := ftinteger;
P11.Value:= idAddional;
P11.Size:=4;
MainClientsForm.ADOQuery1.SQL.Add(sql_str);
MainClientsForm.ADOQuery1.Active:=true;
MainClientsForm.ADOQuery1.ExecSQL;
rez:=MainClientsForm.ADOQuery1.FieldByName('Ser_num').AsString;
prosmForm.Edit5.Text:=rez;
rezdate:= MainClientsForm.ADOQuery1.FieldByName('srok_godnost').AsDateTime;
decodedatetime(rezdate,Ayear, amonth,aday,ahour,aminute,asecond,amillisecond);
prosmForm.Edit6.Text:=inttostr(aday);
prosmForm.Edit7.Text:=inttostr(amonth);
prosmForm.Edit8.Text:=inttostr(Ayear);
// запасы
sql_str:='SELECT * from zapas where idzapas= :P11';
MainClientsForm.ADOQuery1.Active:=false;
MainClientsForm.ADOQuery1.SQL.Clear;
P11 :=mainclientsform.ADOQuery1.Parameters.AddParameter;
P11.Name:='P11';
p11.DataType := ftinteger;
P11.Value:= idzapas;
P11.Size:=4;
MainClientsForm.ADOQuery1.SQL.Add(sql_str);
MainClientsForm.ADOQuery1.Active:=true;
MainClientsForm.ADOQuery1.ExecSQL;
rez:=MainClientsForm.ADOQuery1.FieldByName('Izmerenie').AsString;
prosmForm.ComboBox1.Text:=rez;
rezint:= MainClientsForm.ADOQuery1.FieldByName('zapas').AsInteger;
prosmForm.Edit2.Text:=inttostr( rezint);
rezfloat:= MainClientsForm.ADOQuery1.FieldByName('stoimost').AsFloat;
prosmForm.Edit3.Text:=floattostr( rezfloat);
rez:=MainClientsForm.ADOQuery1.FieldByName('rezerv_name').AsString;
prosmForm.Edit19.Text:=rez;
rez:=MainClientsForm.ADOQuery1.FieldByName('rezerv_prim').AsString;
prosmForm.Edit23.Text:=rez;
rezint:= MainClientsForm.ADOQuery1.FieldByName('rezerv_kol').AsInteger;
prosmForm.Edit18.Text:=inttostr( rezint);
rezdate:= MainClientsForm.ADOQuery1.FieldByName('rezerv_date').AsDateTime;
decodedatetime(rezdate,Ayear, amonth,aday,ahour,aminute,asecond,amillisecond);
aday:=1;
amonth:=1;
Ayear:=0;
if Ayear>2000 then begin
prosmForm.Edit20.Text:=inttostr(aday);
prosmForm.Edit21.Text:=inttostr(amonth);
prosmForm.Edit22.Text:=inttostr(Ayear);
end;
// партия
sql_str:='SELECT * from Partiya where idPartiya= :P11';
MainClientsForm.ADOQuery1.Active:=false;
MainClientsForm.ADOQuery1.SQL.Clear;
P11 :=mainclientsform.ADOQuery1.Parameters.AddParameter;
P11.Name:='P11';
p11.DataType := ftinteger;
P11.Value:= idPartiya;
P11.Size:=4;
MainClientsForm.ADOQuery1.SQL.Add(sql_str);
MainClientsForm.ADOQuery1.Active:=true;
MainClientsForm.ADOQuery1.ExecSQL;
rez:=MainClientsForm.ADOQuery1.FieldByName('Nom_part').AsString;
prosmForm.Edit4.Text:=rez;
rez:=MainClientsForm.ADOQuery1.FieldByName('description').AsString;
prosmForm.Edit13.Text:=rez;
rez:=MainClientsForm.ADOQuery1.FieldByName('otkuda').AsString;
prosmForm.Edit12.Text:=rez;
rezdate:= MainClientsForm.ADOQuery1.FieldByName('kogda').AsDateTime;
aday:=1;
amonth:=1;
Ayear:=0;
if Ayear>2000 then begin
prosmForm.Edit9.Text:=inttostr(aday);
prosmForm.Edit10.Text:=inttostr(amonth);
prosmForm.Edit11.Text:=inttostr(Ayear);
end;
end;
end;

procedure TMainClientsForm.N4Click(Sender: TObject);
var zakForm: Taddform;
begin
mainflag:=false;
IsMDIChildOpen(MainClientsForm,'zakForm');
IsMDIChildOpen(MainClientsForm,'addForm');
zakForm:=Taddform.Create(Owner);
zakForm.Top:=240;
zakForm.Left:=3;
zakForm.Caption:='создание заказа';
zakForm.Show;
zakForm.Button1.Visible:=true;
zakForm.GroupBox1.Visible:=false;
zakForm.GroupBox2.Visible:=false;
zakForm.GroupBox4.Visible:=false;
zakForm.GroupBox3.Left:=2;
zakForm.GroupBox3.Top:=2;
end;
procedure TMainClientsForm.N14Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='поиск наличия товара';
nomer_poisk:=1;
poisk.Label2.Visible:=false;
poisk.Label3.Visible:=false;
poisk.Label7.Visible:=false;
poisk.Edit2.Visible:=false;
poisk.Edit3.Visible:=false;
poisk.Edit4.Visible:=false;
poisk.Edit5.Visible:=false;
poisk.Edit6.Visible:=false;
poisk.Edit7.Visible:=false;
poisk.UpDown1.Visible:=false;
poisk.UpDown2.Visible:=false;
poisk.UpDown3.Visible:=false;
poisk.UpDown4.Visible:=false;
end;
procedure TMainClientsForm.N15Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='проверка срока годности';
nomer_poisk:=2;
poisk.Edit1.Visible:=false;
poisk.Label1.Visible:=false;
poisk.Label3.Visible:=false;
poisk.Label2.Visible:=false;
poisk.Edit5.Visible:=false;
poisk.Edit6.Visible:=false;
poisk.Edit7.Visible:=false;
poisk.UpDown3.Visible:=false;
poisk.UpDown4.Visible:=false;
end;
procedure TMainClientsForm.N16Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='поиск размещения товара';
nomer_poisk:=3;
poisk.Label2.Visible:=false;
poisk.Label3.Visible:=false;
poisk.Label7.Visible:=false;
poisk.Edit2.Visible:=false;
poisk.Edit3.Visible:=false;
poisk.Edit4.Visible:=false;
poisk.Edit5.Visible:=false;
poisk.Edit6.Visible:=false;
poisk.Edit7.Visible:=false;
poisk.UpDown1.Visible:=false;
poisk.UpDown2.Visible:=false;
poisk.UpDown3.Visible:=false;
poisk.UpDown4.Visible:=false;
end;
procedure TMainClientsForm.N17Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='просмотр хронологии накладных';
nomer_poisk:=4;
poisk.Label1.Visible:=false;
poisk.Edit1.Visible:=false;
poisk.Label7.Caption:='Накладные в период'
end;
procedure TMainClientsForm.N11Click(Sender: TObject);
var naklForm: Taddform;
begin
mainflag:=false;
IsMDIChildOpen(MainClientsForm,'naklForm');
IsMDIChildOpen(MainClientsForm,'addForm');
naklForm:=Taddform.Create(Owner);
naklForm.Top:=240;
naklForm.Left:=3;
naklForm.Caption:='создание накладной';
naklForm.Show;
naklForm.GroupBox1.Visible:=false;
naklForm.GroupBox2.Visible:=false;
naklForm.GroupBox3.Visible:=false;
naklForm.GroupBox4.Left:=2;
naklForm.GroupBox4.Top:=2;
naklForm.GroupBox4.Width:=600;
naklForm.GroupBox4.Height:=250;
end;
procedure TMainClientsForm.N19Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='проводка накладной';
nomer_poisk:=5;
poisk.Label2.Visible:=false;
poisk.Label3.Visible:=false;
poisk.Label7.Visible:=false;
poisk.Edit2.Visible:=false;
poisk.Edit3.Visible:=false;
poisk.Edit4.Visible:=false;
poisk.Edit5.Visible:=false;
poisk.Edit6.Visible:=false;
poisk.Edit7.Visible:=false;
poisk.UpDown1.Visible:=false;
poisk.UpDown2.Visible:=false;
poisk.UpDown3.Visible:=false;
poisk.UpDown4.Visible:=false;
poisk.Label1.Caption:='номер накладной';
poisk.Button1.Caption:='ПРОВОДКА'
end;
end.

Листинг модуля addsorce
unit addsorce;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,
StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls, DBCtrls ;
type
TaddForm = class(TForm)
Panel1: TPanel;
GroupBox1: TGroupBox;
Label15: TLabel;
Edit18: TEdit;
Label16: TLabel;
Edit19: TEdit;
Edit20: TEdit;
Edit21: TEdit;
Edit22: TEdit;
Label17: TLabel;
Label18: TLabel;
Edit23: TEdit;
GroupBox2: TGroupBox;
Edit16: TEdit;
Button1: TButton;
DBNavigator1: TDBNavigator;
Edit13: TEdit;
Label10: TLabel;
Label9: TLabel;
Label8: TLabel;
Label7: TLabel;
Label5: TLabel;
Label2: TLabel;
Label1: TLabel;
Edit1: TEdit;
ComboBox1: TComboBox;
Edit5: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit17: TEdit;
Label14: TLabel;
Label4: TLabel;
Label3: TLabel;
Label6: TLabel;
Edit8: TEdit;
Edit7: TEdit;
Edit6: TEdit;
Edit9: TEdit;
UpDown4: TUpDown;
UpDown1: TUpDown;
Edit10: TEdit;
UpDown5: TUpDown;
Edit12: TEdit;
UpDown6: TUpDown;
Edit11: TEdit;
Label13: TLabel;
Label12: TLabel;
Label11: TLabel;
Edit14: TEdit;
Edit15: TEdit;
UpDown2: TUpDown;
Edit4: TEdit;
UpDown3: TUpDown;
GroupBox3: TGroupBox;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Edit24: TEdit;
Edit25: TEdit;
Edit26: TEdit;
Edit27: TEdit;
Edit28: TEdit;
Edit29: TEdit;
Label22: TLabel;
Button2: TButton;
GroupBox4: TGroupBox;
Label23: TLabel;
Edit30: TEdit;
Edit31: TEdit;
Edit32: TEdit;
UpDown7: TUpDown;
UpDown8: TUpDown;
Label24: TLabel;
Edit33: TEdit;
Label25: TLabel;
Edit34: TEdit;
Label26: TLabel;
Edit35: TEdit;
Label27: TLabel;
Label28: TLabel;
Edit36: TEdit;
Edit37: TEdit;
Label29: TLabel;
Edit38: TEdit;
Label30: TLabel;
Edit39: TEdit;
Label31: TLabel;
Edit40: TEdit;
Button3: TButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
addForm: TaddForm;
naim:string;
ed_izm:string;
kolvo:integer;
cena:real;
nomerpartiya:string;
sernum:string;
srok_godnost:tdate;
data_postavka:tdate;
postavchik:string;
description:string;
location:string;
location_part:string;
primech:string;
Ayear, amonth,aday:word;
razmer_part,kol:integer;
id_part,idaddional,idlocation,idzapas:integer;
idtov:integer;
implementation
uses MainClients;
{$R *.dfm}
procedure TaddForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TaddForm.Button1Click(Sender: TObject);
begin
naim:=Edit1.Text;
ed_izm:=ComboBox1.Text;
kolvo:=strtoint(Edit2.Text);
cena:=strtofloat(Edit3.Text);
nomerpartiya:=Edit4.Text;
sernum:=Edit5.Text;
postavchik:=Edit12.Text;
description:=Edit13.Text;
location:=Edit14.Text;
location_part:=Edit15.Text;
primech:=Edit16.Text;
Ayear:=strtoint(Edit8.Text);
amonth:= strtoint(Edit7.Text);
aday:= strtoint(Edit6.Text);
srok_godnost:=encodedate(Ayear, amonth,aday);
Ayear:=strtoint(Edit11.Text);
amonth:= strtoint(Edit10.Text);
aday:= strtoint(Edit9.Text);
data_postavka :=encodedate(Ayear, amonth,aday);
razmer_part:=strtoint(Edit17.Text);
if naim<>'' then
begin
MainClientsForm.ADOTable7.Active:=true;
MainClientsForm.ADOTable7.Insert;
MainClientsForm.ADOTable7.FieldByName('Nom_part').AsString:=nomerpartiya;
MainClientsForm.ADOTable7.FieldByName('kolichestvo').AsInteger:= razmer_part;
MainClientsForm.ADOTable7.FieldByName('otkuda').AsString:= postavchik;
MainClientsForm.ADOTable7.FieldByName('kogda').AsDateTime:=data_postavka;
MainClientsForm.ADOTable7.FieldByName('description').AsString:=description;
MainClientsForm.ADOTable7.Post;
id_part:=MainClientsForm.ADOTable7.FieldByName('IdPartiya').AsInteger;
MainClientsForm.ADOTable6.Active:=true;
MainClientsForm.ADOTable6.Insert;
MainClientsForm.ADOTable6.FieldByName('ser_num').AsString:= sernum;
MainClientsForm.ADOTable6.FieldByName('srok_godnost').AsDateTime:=srok_godnost;
MainClientsForm.ADOTable6.Post;
idaddional:= MainClientsForm.ADOTable6.FieldByName('idaddional').AsInteger;
MainClientsForm.ADOTable5.Active:=true;
MainClientsForm.ADOTable5.Insert;
MainClientsForm.ADOTable5.FieldByName('Location').AsString:= location;
MainClientsForm.ADOTable5.FieldByName('addional_location').AsString:= location_part;
MainClientsForm.ADOTable5.FieldByName('notes').AsString:= primech;
MainClientsForm.ADOTable5.Post;
idlocation:= MainClientsForm.ADOTable5.FieldByName('IdLocation').AsInteger;
MainClientsForm.ADOTable1.Active:=true;
MainClientsForm.ADOTable3.Active:=true;
MainClientsForm.ADOTable3.Insert;
MainClientsForm.ADOTable3.FieldByName('Izmerenie').AsString :=ed_izm;
MainClientsForm.ADOTable3.FieldByName('zapas').AsInteger :=kolvo;
MainClientsForm.ADOTable3.FieldByName('stoimost').AsFloat :=kolvo*cena;
MainClientsForm.ADOTable3.Post;
idzapas:=MainClientsForm.ADOTable3.FieldByName('idZapas').AsInteger;
MainClientsForm.ADOTable1.Insert;
MainClientsForm.ADOTable1.FieldByName('nameTovar').AsString:= naim;
MainClientsForm.ADOTable1.FieldByName('idLocation').AsInteger:=idlocation;
MainClientsForm.ADOTable1.FieldByName('idAddional').AsInteger:= idaddional;
MainClientsForm.ADOTable1.FieldByName('idPartiya').AsInteger:= id_part;
MainClientsForm.ADOTable1.FieldByName('idZapas').AsInteger:= idzapas;
MainClientsForm.ADOTable1.Post;
end;
end;
procedure TaddForm.Button2Click(Sender: TObject);
var tovar, srtkl,name_poisk,sqlwhere,stroka_SQL :string;
p1:tparameter;
begin
tovar:=Edit24.Text;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery2;
mainclientsform.ADOQuery2.Active:=false;
mainclientsform.ADOQuery2.SQL.Clear;
P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;
P1.Name:='P1';
p1.DataType := ftstring;
if edit24.Text<>'' then begin
srtkl := edit24.Text;
name_poisk:= 'Tovar.nameTovar'
end;
if srtkl<>'' then
begin
srtkl:='%'+ srtkl+'%';
P1.Value:=srtkl;
P1.Size:=Length(srtkl);
end;
stroka_SQL:='select * from tovar where tovar.nametovar like :P1';
mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);
if stroka_SQL<>'' then begin
mainclientsform.ADOQuery2.Active:=true;
mainclientsform.ADOQuery2.ExecSQL;
end;
kol:= mainclientsform.ADOQuery2.RecordCount;
if kol=0 then showmessage('такого товара не существует')
else
begin
idtov:=mainclientsform.ADOQuery2.FieldByName('idtovar').AsInteger;
mainclientsform.ADOTable4.Active:=true;
mainclientsform.ADOTable4.Insert;
mainclientsform.ADOTable4.FieldByName('idTovar').AsInteger:=idtov;
mainclientsform.ADOTable4.FieldByName('kolichestvo').AsInteger:=strtoint(Edit29.Text);
mainclientsform.ADOTable4.FieldByName('lico').AsString:=Edit28.Text;
Ayear:=strtoint(Edit27.Text);
amonth:= strtoint(Edit26.Text);
aday:= strtoint(Edit25.Text);
srok_godnost:=encodedate(Ayear, amonth,aday);
mainclientsform.ADOTable4.FieldByName('kogda').AsDateTime:=srok_godnost;
mainclientsform.ADOTable4.Post;
end;
end;
procedure TaddForm.Button3Click(Sender: TObject);
var tovar, srtkl,name_poisk,sqlwhere,stroka_SQL :string;
p1:tparameter;
begin
tovar:=Edit33.Text;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery2;
mainclientsform.ADOQuery2.Active:=false;
mainclientsform.ADOQuery2.SQL.Clear;
P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;
P1.Name:='P1';
p1.DataType := ftstring;
if edit33.Text<>'' then begin
srtkl := edit33.Text;
name_poisk:= 'Tovar.nameTovar'
end;
if srtkl<>'' then
begin
srtkl:='%'+ srtkl+'%';
P1.Value:=srtkl;
P1.Size:=Length(srtkl);
end;
stroka_SQL:='select * from tovar where tovar.nametovar like :P1';
mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);
if stroka_SQL<>'' then begin
mainclientsform.ADOQuery2.Active:=true;
mainclientsform.ADOQuery2.ExecSQL;
end;
kol:= mainclientsform.ADOQuery2.RecordCount;
if kol=0 then showmessage('такого товара не существует')
else
begin
idtov:=mainclientsform.ADOQuery2.FieldByName('idtovar').AsInteger;
mainclientsform.ADOTable2.Active:=true;
mainclientsform.ADOTable2.Insert;
mainclientsform.ADOTable2.FieldByName('idTovar').AsInteger:=idtov;
mainclientsform.ADOTable2.FieldByName('kolichestvo').AsInteger:=strtoint(Edit35.Text);
mainclientsform.ADOTable2.FieldByName('Lico').AsString:=Edit34.Text;
mainclientsform.ADOTable2.FieldByName('stoimost').AsFloat:=strtofloat(Edit37.Text);
mainclientsform.ADOTable2.FieldByName('otkuda').AsString:=Edit36.Text;
mainclientsform.ADOTable2.FieldByName('kuda').AsString:=Edit38.Text;
mainclientsform.ADOTable2.FieldByName('idPartiya').AsInteger:= strtoint(Edit39.Text);
mainclientsform.ADOTable2.FieldByName('IdZakaz').AsInteger:= strtoint(Edit40.Text);
mainclientsform.ADOTable2.FieldByName('provodka').AsString:='N';
Ayear:=strtoint(Edit32.Text);
amonth:= strtoint(Edit31.Text);
aday:= strtoint(Edit30.Text);
srok_godnost:=encodedate(Ayear, amonth,aday);
mainclientsform.ADOTable2.FieldByName('vremya').AsDateTime:=srok_godnost;
mainclientsform.ADOTable2.post;
end;
end;
end.

Листинг модуля ChildTemplate
unit ChildTemplate;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, Grids, DBGrids, ExtCtrls, Menus, StdCtrls;
type
TChildTemplateForm = class(TForm)
DBGrid1: TDBGrid;
Label1: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure RzToolbarButton2Click(Sender: TObject);
procedure RzToolbarButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.dfm}
uses mainclients;
procedure TChildTemplateForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TChildTemplateForm.RzToolbarButton1Click(Sender: TObject);
begin
dbgrid1.DataSource.DataSet.Insert;
end;
procedure TChildTemplateForm.RzToolbarButton2Click(Sender: TObject);
begin
dbgrid1.DataSource.DataSet.Edit;
end;
end.
Листинг модуля DBDirectoryTemplate;
unit DBDirectoryTemplate;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids;

type
TDBDirectoryTemplateForm = class(TForm)
TableDBGrid: TDBGrid;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DBDirectoryTemplateForm: TDBDirectoryTemplateForm;
implementation
{$R *.dfm}
procedure TDBDirectoryTemplateForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
end.
Листинг модуля parampoisk
unit parampoisk;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,addsorce,
StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls ;
type
Tparampoik = class(TForm)
Button1: TButton;
GroupBox1: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
Label7: TLabel;
Edit2: TEdit;
UpDown1: TUpDown;
Edit3: TEdit;
Edit4: TEdit;
UpDown2: TUpDown;
Edit5: TEdit;
UpDown3: TUpDown;
Edit6: TEdit;
UpDown4: TUpDown;
Edit7: TEdit;
Label2: TLabel;
Label3: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
parampoik: Tparampoik;
ChildTemplateForm1: TChildTemplateForm;
ff:string;
flagpoisk:boolean;
p1,p2:tparameter;
all:boolean;
ahour, aminute, asecond, amillisecond :word;
priznak:string;
stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;
idnakl,idzapas,i,sravn,kolnakl,kolzapas, rezerv_kol:integer;
implementation
uses mainclients;
{$R *.dfm}
procedure Tparampoik.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure Tparampoik.Button1Click(Sender: TObject);
var ChildTemplateForm:TChildTemplateform;
timenach,timekon:tdatetime;
begin
MainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform');
MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm');
ChildTemplateForm:=TChildTemplateform.Create(Owner);

ChildTemplateForm.Left:=0;
ChildTemplateForm.Top:=3;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery2;
mainclientsform.ADOQuery2.Active:=false;
mainclientsform.ADOQuery2.SQL.Clear;
if nomer_poisk=1 then begin
P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;
P1.Name:='P1';
p1.DataType := ftstring;
if edit1.Text<>'' then begin
srtkl := edit1.Text;
name_poisk:= 'Tovar.nameTovar'
end;
if srtkl<>'' then
begin
srtkl:='%'+ srtkl+'%';
P1.Value:=srtkl;
P1.Size:=Length(srtkl);
end;
ChildTemplateForm.Label1.Caption:='Информация о товаре: '+edit1.Text;
sqlwhere:= ' where (zapas.idzapas = ( select tovar.idzapas from tovar where tovar.nametovar like :P1))';
stroka_SQL:='select * from zapas'+sqlwhere ;
mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);
if stroka_SQL<>'' then begin
mainclientsform.ADOQuery2.Active:=true;
mainclientsform.ADOQuery2.ExecSQL;
end;
end;
if nomer_poisk=2 then begin
P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;
P1.Name:='P1';
p1.DataType := ftdatetime;
ayear:= strtoint(Edit4.Text);
amonth:=strtoint(Edit3.Text);
aday:=strtoint(Edit2.Text);
ahour:=0;
aminute:=0;
asecond:=0;
amillisecond:=0;
timenach:=encodedatetime(Ayear, amonth,aday,ahour,aminute,asecond,amillisecond);
if edit1.Text<>'' then begin
srtkl := edit1.Text;
name_poisk:= 'Tovar.nameTovar'
end;
if srtkl<>'' then
begin
srtkl:='%'+ srtkl+'%';
P1.Value := timenach;
end;
sqlwhere:= ' where addional.srok_godnost < :P1';
stroka_SQL:='select tovar.nametovar, addional.srok_godnost from tovar,addional'+ sqlwhere;
mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);
if stroka_SQL<>'' then begin
mainclientsform.ADOQuery2.Active:=true;
mainclientsform.ADOQuery2.ExecSQL;
end;
end;
if nomer_poisk=3 then begin
P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;
P1.Name:='P1';
p1.DataType := ftstring;
if edit1.Text<>'' then begin
srtkl := edit1.Text;
name_poisk:= 'Tovar.nameTovar'
end;
if srtkl<>'' then
begin
srtkl:='%'+ srtkl+'%';
P1.Value:=srtkl;
P1.Size:=Length(srtkl);
end;
sqlwhere:= ' where (location.idlocation = ( select tovar.idlocation from tovar where tovar.nametovar like :P1))';
stroka_SQL:='select * from location '+sqlwhere ;
mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);
if stroka_SQL<>'' then begin
mainclientsform.ADOQuery2.Active:=true;
mainclientsform.ADOQuery2.ExecSQL;
end;
end;
if nomer_poisk=4 then begin
P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;
P1.Name:='P1';
p1.DataType := ftdatetime;
ayear:= strtoint(Edit4.Text);
amonth:=strtoint(Edit3.Text);
aday:=strtoint(Edit2.Text);
ahour:=0;
aminute:=0;
asecond:=0;
amillisecond:=0;
timenach:=encodedatetime(Ayear, amonth,aday,ahour,aminute,asecond,amillisecond);
ayear:= strtoint(Edit7.Text);
amonth:=strtoint(Edit6.Text);
aday:=strtoint(Edit5.Text);
ahour:=0;
aminute:=0;
asecond:=0;
amillisecond:=0;
timekon:=encodedatetime(Ayear, amonth,aday,ahour,aminute,asecond,amillisecond);
P2 :=mainclientsform.ADOQuery2.Parameters.AddParameter;
P2.Name:='P2';
p2.DataType := ftdatetime;
P1.Value := timenach;
P2.Value := timekon;
sqlwhere:= ' where (Nakladnaya.vremya > :P1) and (nakladnaya.vremya < :P2)';
stroka_SQL:='select * from Nakladnaya'+ sqlwhere;
mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);
if stroka_SQL<>'' then begin
mainclientsform.ADOQuery2.Active:=true;
mainclientsform.ADOQuery2.ExecSQL;
end;
end;
if nomer_poisk=5 then begin
P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;
P1.Name:='P1';
p1.DataType := ftinteger;
if edit1.Text<>'' then
begin
idnakl:=strtoint(edit1.Text);
P1.Value :=idnakl;
sqlwhere:= ' where (Nakladnaya.idNakladnaya = :P1)';
stroka_SQL:='select * from Nakladnaya'+ sqlwhere;
mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);
if stroka_SQL<>'' then begin
mainclientsform.ADOQuery2.Active:=true;
mainclientsform.ADOQuery2.ExecSQL;
end;
kol:= mainclientsform.ADOQuery2.RecordCount;
if kol=0 then showmessage('такого товара не существует')
else
begin
idtov:=mainclientsform.ADOQuery2.FieldByName('idtovar').AsInteger;
kolnakl:=(mainclientsform.ADOQuery2.FieldByName('kolichestvo').AsInteger);
priznak:=mainclientsform.ADOQuery2.FieldByName('provodka').AsString;
if priznak='N' then begin
mainclientsform.ADOQuery2.Active:=false;
mainclientsform.ADOQuery2.SQL.Clear;
P2 :=mainclientsform.ADOQuery2.Parameters.AddParameter;
P2.Name:='P2';
p2.DataType := ftinteger;
P2.Value :=idtov;
sqlwhere:= ' where (tovar.idtovar = :P2)';
stroka_SQL:='select * from tovar'+ sqlwhere;
mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);
if stroka_SQL<>'' then begin
mainclientsform.ADOQuery2.Active:=true;
mainclientsform.ADOQuery2.ExecSQL;
end;
kol:= mainclientsform.ADOQuery2.RecordCount;
if kol=0 then showmessage('такого товара не существует')
else
begin
idzapas:=mainclientsform.ADOQuery2.FieldByName('idZapas').AsInteger;
if idzapas=0 then showmessage('товара нет в наличии')
else
begin
mainclientsform.ADOTable3.First;
for i:=1 to mainclientsform.ADOTable3.RecordCount do
begin
sravn:=mainclientsform.ADOTable3.FieldByName('idZapas').AsInteger;
if sravn=idzapas then
begin
kolzapas:=mainclientsform.ADOTable3.FieldByName('Zapas').AsInteger;
if kolnakl>kolzapas then showmessage('такого количества товара нет в наличии')
else
begin
rezerv_kol:=mainclientsform.ADOTable3.FieldByName('rezerv_kol').AsInteger;
if kolnakl>kolzapas- rezerv_kol then
showmessage('проводка не осуществлена - Товар зарезервирован')
else
begin
mainclientsform.ADOTable3.Edit;
mainclientsform.ADOTable3.FieldByName('Zapas').AsInteger:=kolzapas-kolnakl;
showmessage('проводка осуществлена УСПЕШНО!');
mainclientsform.ADOTable2.First;
for i:=1 to mainclientsform.ADOTable2.RecordCount do
begin
if idnakl= mainclientsform.ADOTable2.FieldByName('idNakladnaya').AsInteger
then
begin
mainclientsform.ADOTable2.Edit;
mainclientsform.ADOTable2.FieldByName('provodka').AsString:='Y';
end;
mainclientsform.ADOTable2.Next;
end;
end;
end;
end;
mainclientsform.ADOTable3.Next;
end;
end;
end;
end
else showmessage('проводка накладной не требуется')
end;
end;
end;
end;
end.
7. СОСТАВ БАЗЫ ДАННЫХ

Sklad_data.mdf - файл, содержащий, все таблицы базы данных

Sklad_log.ldf - файл, содержащий, все транзакции к базе данных
8. СОСТАВ ПРОГРАММНОГО КОМПЛЕКСА

mainClients Главный модуль: запуск, создание дочерних форм, организация взаимодействия, управление вычислительным процессом Parampoisk Формирование параметров поиска, организация проводки накладных Childetemplate Отображение результатов поиска в базе данных DBDDirectoryTemplate Просмотр справочных таблиц, организация взаимодействия с базой данных addsource Создание записей, накладных, заказов, отображение содержимое связанных таблиц
Склад товаров

Менеджер

Заказчик
(исполнитель работ)

Поставщики

Снабжение

Проект sklad

Главная форма приложения MainClients

childTemplate.pas

DbdDirectoryTemplate

AddSource.pas

ParamPoisk.pas

Условно постоянные затраты

Затраты на производство

Выручка от реализации

Сумма,
тыс. руб



76654

65

Объемы продаж, шт

ЛИТЕРАТУРА

1.Архангельский А.Я. 100 компонентов общего назначения библиотеки Delphi 5. — М.: Бином, 1999. — 266 с.
2.Архангельский А.Я. Delphi 6. Справочное пособие. — М.: Бином, 2001. — 1024 с.
3.Архангельский А.Я. Программирование в Delphi 6. — М.: Бином, 2001. — 564 с.
4.Архангельский А.Я. Язык SQL в Delphi 5. — М.: Бином, 2000. — 205 с.
5.Базы данных: модели, разработка, реализация / Карпова Т.- СПб.: Пи-тер, 2001. –304с.
6.Белов А.Н. Бухгалтерский учет в учреждениях непроизводственной сферы. – М.: Финансы и статистика, 1995. – 240с.
7.Буч Г. Объектно-ориентированное проектирование с примерами при-менения. М., 1992. - 654с.
8.Волков В. Ф. Экономика предприятия. – М.: Вита-Пресс, 1998. – 380с.
9.Галатенко В. Информационная безопасность // Открытые системы- 1996. – N 1-4.
10.Глушаков С.В., Ломотько Д.В. Базы данных .- Х.: Фолио, 2002. – 504 с.
11.Голубков Е.П. Маркетинг: стратегии, планы, структуры. М., Де¬ло, 1995. – 450с.
12.Голубков Е.П. Маркетинговые исследования: теория, методология и практика. М., Финпресс, 1998. – 280с.
13.Гофман В.Э. Хомоненко А.Д. Delphi 5. - СПб.: - Санки-Петербург, 2000. –800с.
14.Гофман В.Э. Хомоненко А.Д. Delphi 6. - СПб.: - Санки-Петербург, 2001. –1145с.
15.Дайан А. и др. Маркетинг. М., Экономика, 1993.
16.Жидецкий В. Ц. Охрана труда пользователей компьютеров. – К.: «Ос-вгга», 1999.- 186с.
17.Жутова З.У. Бюджетный учет и отчетность. М.: Финансы, 1970.-215с.
18.Ковалев А. И., Войленко В. В. Маркетинговый анализ. М., Центр эко-номики и маркетинга, 1996.
19.Конноли Томас, Бегг Каролин. Базы данных. Проектирование, реализа-ция и сопровождение. Теория и практика. — М.: Вильямс, 2000. – 1111 с.
20.Культин Н.Б. Delphi 6: Программирование на OBJECT PASCAL. — М.: Бином, 2001. — 526 с.
21.Культин Н.Б. Delphi 7: Программирование на OBJECT PASCAL. — М.: Бином, 2003. — 535 с.
22.Магнус Я.Р., Катышев П.К., Пересецкий А.А. Эконометрика. Началь-ный курс. М., Дело, 1997
23.Маклаков С.В. BPwin и ERwin. CASE-средства разработки информаци-онных систем. — М.: Диалог-Мифи, 2001. — 304 с.
24.Матвеева В.О. Бюджетные организации: бухгалтерский учет и налого-облажение. –Харьков: Фактор, 2001. – 566с.
25.Турчин С. Обзор АСУП для малого бизнеса. Функциональные особен-ности // Компьютерное обозрение № 17 (286), 2001. с.22-27. // www.ITC-UA.COM
26.Фатрелл Р., Шафер Д. Шафер Л. Управление программными проекта-ми: достижение оптимального качества при минимуме затрат. М.: «Вильямс», 2003. – 1128с.
27.Черников А. Поздняков В. От бухгалтерии под Windows к открытым Unix-системам // Компьютерное обозрение № 34 (402), 2003. с.22-27. www.ITC-UA.COM
28.Шумаков П.В., Фаронов В.В. Delphi 5. Руководство разработчика баз данных. — М.: Нолидж, 2000. — 635 с.

У нас вы можете заказать