Автоматизация ресторанного бизнеса

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Delphi
  • 115115 страниц
  • 27 + 27 источников
  • Добавлена 01.06.2010
3 000 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Содержание
ВВЕДЕНИЕ
1 ПРОБЛЕМА АВТОМАТИЗИРОВАННОГО УЧЕТА РЕСТОРАННОГО БИЗНЕСА
1.1 Проблема автоматизированного учета ресторанного бизнеса
1.1.1 Краткая характеристика ресторана
1.1.2 Характеристика организации процессов учета в ресторане
1.1.3 Цели создания системы автоматизированной системы.
1.2 Проблемы и тенденции развития информационных систем в области учета движения материальных средств
1.2.1 Проблемы развития информационных систем в рассматриваемой предметной
области
1.2.2 Тенденции развития информационных систем в области автоматизированного
учета
1.3 Постановка задач, решаемых в дипломном проекте
2 СИСТЕМНЫЙ АНАЛИЗ ПРОЦЕССА АВТОМАТИЗИРОВАННОГО УЧЕТА РЕСТОРАННОГО БИЗНЕСА
2.1 Концептуальная модель процесса автоматизированного учета
2.2 Формирование требований к автоматизированной системе ресторана
2.3 Функциональная модель автоматизированной системы ресторана
3.1 Характеристика информационных потоков
3.2 Построение информационно-логической модели
3.3 Проектирование пользовательского интерфейса
4 ЭКОНОМИЧЕСКАЯ ЭФФЕКТИВНОСТЬ ПРОЕКТИРУЕМОЙ СИСТЕМЫ И БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ
4.1 Анализ источников экономической эффективности АИС
4.2 Оценка экономической эффективности системы
4.3 Безопасность жизнедеятельности
ЗАКЛЮЧЕНИЕ
ЛИТЕРАТУРА
ПРИЛОЖЕНИЕ
Листинг разработанной программы

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

В., Ломотько Д.В. Базы данных .- Х.: Фолио, 2002. – 504 с.
Голубков Е.П. Маркетинг: стратегии, планы, структуры. М., Дело, 1995. – 450с.
Голубков Е.П. Маркетинговые исследования: теория, методология и практика. М., Финпресс, 1998. – 280с.
Гофман В.Э. Хомоненко А.Д. Delphi 5. - СПб.: - Санки-Петербург, 2000. –800с.
Гофман В.Э. Хомоненко А.Д. Delphi 6. - СПб.: - Санки-Петербург, 2001. –1145с.
Дайан А. и др. Маркетинг. М., Экономика, 1993.
Жидецкий В. Ц. Охрана труда пользователей компьютеров. – К.: «Освгга», 1999.- 186с.
Жутова З.У. Бюджетный учет и отчетность. М.: Финансы, 1970.-215с.
Ковалев А. И., Войленко В. В. Маркетинговый анализ. М., Центр экономики и маркетинга, 1996.
Конноли Томас, Бегг Каролин. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. — М.: Вильямс, 2000. – 1111 с.
Культин Н.Б. Delphi 6: Программирование на Object Pascal. — М.: Бином, 2001. — 526 с.
Культин Н.Б. Delphi 7: Программирование на Object Pascal. — М.: Бином, 2003. — 535 с.
Магнус Я.Р., Катышев П.К., Пересецкий А.А. Эконометрика. Начальный курс. М., Дело, 1997
Маклаков С.В. BPwin и ERwin. CASE-средства разработки информационных систем. — М.: Диалог-Мифи, 2001. — 304 с.
Матвеева В.О. Бюджетные организации: бухгалтерский учет и налогооблажение. –Харьков: Фактор, 2001. – 566с.
Турчин С. Обзор АСУП для малого бизнеса. Функциональные особенности // Компьютерное обозрение № 17 (286), 2001. с.22-27. // www.ITC-UA.COM
Фатрелл Р., Шафер Д. Шафер Л. Управление программными проектами: достижение оптимального качества при минимуме затрат. М.: «Вильямс», 2003. – 1128с.
Черников А. Поздняков В. От бухгалтерии под Windows к открытым Unix-системам // Компьютерное обозрение № 34 (402), 2003. с.22-27. www.ITC-UA.COM
ПРИЛОЖЕНИЕ
Листинг разработанной программы

Главный модуль приложения
unit MainClients;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, DB, ADODB, IniFiles, Grids, DBGrids,DBDirectoryTemplate,
addsorce, DateUtils,parampoisk, jpeg, ExtCtrls;

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;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: 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;
Image1: TImage;
ADOTable8: TADOTable;
ADOTable9: TADOTable;
N18: TMenuItem;
N23: TMenuItem;
N11: TMenuItem;
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);
procedure N18Click(Sender: TObject);
procedure N23Click(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;
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:='ИД Повар';
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:=' стоимость';
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:='дата пост.';
DirectoryForm.TableDBGrid.Fields[5].DisplayLabel:='количество';
DirectoryForm.TableDBGrid.Fields[6].DisplayLabel:='цена продукта';
DirectoryForm.TableDBGrid.Fields[7].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:='Тип блюда';

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:='просмотр записей';

prosmForm.DBNavigator1.Visible:=true;
mainflag:=true;
prosmForm.Show;
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.GroupBox3.Visible:=false;
dobForm.GroupBox4.Visible:=false;
dobForm.Image2.Visible:=false;
end;


procedure TMainClientsForm.DataSource1DataChange(Sender: TObject;
Field: TField);
var
sql_str,rez:string;
P11:Tparameter;
rezdate:tdatetime;
rezint:integer;
rezfloat,stoimost:real;
Ayear, amonth,aday,ahour,aminute,asecond,amillisecond:word;
id_menu,id_bluda, id_stoimost,id_povar:integer;
id_type_bluda:integer;
status,bluda,povar,type_bluda:string;
begin
if mainflag then
begin

prosmForm.edit1.text:='';
prosmForm.edit2.text:='';
prosmForm.edit3.text:='';
prosmForm.edit20.text:='';
prosmForm.edit21.text:='';
prosmForm.edit22.text:='';
prosmForm.edit23.text:='';}
prosmForm.Edit2.Text:=inttostr(MainClientsForm.DataSource1.DataSet.FieldByName('id_menu').Asinteger);
id_bluda:=MainClientsForm.DataSource1.DataSet.FieldByName('id_bluda').Asinteger;
id_stoimost:=MainClientsForm.DataSource1.DataSet.FieldByName('id_stoimast').Asinteger;
id_povar:=MainClientsForm.DataSource1.DataSet.FieldByName('id_povar').Asinteger;
status:=MainClientsForm.DataSource1.DataSet.FieldByName('status').AsString;

if id_bluda<>0 then begin
MainClientsForm.ADOTable2.Active:=true;
if MainClientsForm.ADOTable2.Locate('id_bluda',id_bluda,[]) then
begin
bluda:= MainClientsForm.adotable2.FieldByName('bluda').asstring;
prosmForm.Edit1.Text:=bluda;
id_type_bluda:=MainClientsForm.adotable2.FieldByName('id_type_bluda').AsInteger;
id_povar:=MainClientsForm.adotable2.FieldByName('id_povar').AsInteger;
end;
MainClientsForm.ADOTable7.Active:=true;
if MainClientsForm.ADOTable7.Locate('id_type_bluda',id_type_bluda,[]) then
begin
type_bluda:=MainClientsForm.adotable7.FieldByName('type_bluda').AsString;
prosmForm.Edit3.Text:=type_bluda;
end;

MainClientsForm.ADOTable9.Active:=true;
if MainClientsForm.ADOTable9.Locate('id_povar',id_povar,[]) then
begin
povar:=MainClientsForm.adotable9.FieldByName('fio').AsString;
prosmForm.Edit27.Text:=povar;
end;

MainClientsForm.ADOTable5.Active:=true;
if MainClientsForm.ADOTable5.Locate('id_stoimost',id_stoimost,[]) then
begin
stoimost:=MainClientsForm.adotable5.FieldByName('stoimost').asfloat;
prosmForm.Edit17.Text:=floattostr(stoimost);
end;


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.GroupBox2.Visible:=false;
zakForm.GroupBox4.Visible:=false;
zakForm.GroupBox3.Left:=2;
zakForm.GroupBox3.Top:=2;
zakForm.Image2.Visible:=true;

// show;
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;
poisk.Label1.Caption:='№ Блюда'
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.GroupBox2.Visible:=false;
naklForm.GroupBox3.Visible:=false;
naklForm.GroupBox4.Left:=2;
naklForm.GroupBox4.Top:=2;
naklForm.Image2.Visible:=false;
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;

procedure TMainClientsForm.N18Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable8;
mainclientsform.ADOTable6.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Единицы измерения продуктов', mainclientsform.DataSource1);
DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='ИД';
DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='Единица измерения';

end;

procedure TMainClientsForm.N23Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable9;
mainclientsform.ADOTable6.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Повара ресторана', mainclientsform.DataSource1);
DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='ИД';
DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='ФИО';
DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='работает';
end;

end.
.

модуль Addform
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, jpeg ;

type
TaddForm = class(TForm)
Panel1: TPanel;
GroupBox3: TGroupBox;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Edit24: TEdit;
Edit25: TEdit;
Edit28: TEdit;
Edit29: TEdit;
Label22: TLabel;
Button2: TButton;
GroupBox4: TGroupBox;
Label23: TLabel;
Edit30: TEdit;
Label24: TLabel;
Edit33: TEdit;
Label25: TLabel;
Edit34: TEdit;
Label26: TLabel;
Edit35: TEdit;
Label27: TLabel;
Label28: TLabel;
Edit36: TEdit;
Edit37: TEdit;
Label29: TLabel;
Edit38: TEdit;
Button3: TButton;
Image1: TImage;
Image2: TImage;
Label30: TLabel;
Edit26: TEdit;
GroupBox2: TGroupBox;
Label2: TLabel;
Label1: TLabel;
Label14: TLabel;
Label4: TLabel;
Label3: TLabel;
DBNavigator1: TDBNavigator;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit17: TEdit;
Edit27: TEdit;
Image3: TImage;
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;
kolvo:=strtoint(Edit2.Text);
cena:=strtofloat(Edit3.Text);
srok_godnost:=encodedate(Ayear, amonth,aday);
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;
id_bluda,id_povar,id_stoimost,id_prigotovl:integer;
bluda,povar,type_bluda:string;
id_type_bluda:integer;
stoimost,stoimost_prig:real;
begin

bluda:=edit24.Text;
povar:=edit25.Text;
type_bluda:=edit28.Text;
stoimost:=strtofloat(edit29.Text);
stoimost_prig:=strtofloat(edit26.Text);

mainclientsform.ADOTable7.Active:=true;
mainclientsform.ADOTable7.Insert;
mainclientsform.ADOTable7.FieldByName('type_bluda').AsString:=type_bluda;
mainclientsform.ADOTable7.Post;
id_type_bluda:=mainclientsform.ADOTable7.FieldByName('id_type_bluda').AsInteger;

mainclientsform.ADOTable9.Active:=true;
mainclientsform.ADOTable9.Insert;
mainclientsform.ADOTable9.FieldByName('fio').AsString:=povar;
mainclientsform.ADOTable9.Post;
id_povar:=mainclientsform.ADOTable9.FieldByName('id_povar').AsInteger;

mainclientsform.ADOTable2.Active:=true;
mainclientsform.ADOTable2.Insert;
mainclientsform.ADOTable2.FieldByName('bluda').AsString:=bluda;
mainclientsform.ADOTable2.FieldByName('id_type_bluda').AsInteger:=id_type_bluda;
mainclientsform.ADOTable2.FieldByName('id_povar').AsInteger:=id_povar;

mainclientsform.ADOTable2.Post;
id_bluda:=mainclientsform.ADOTable2.FieldByName('id_bluda').AsInteger;

mainclientsform.ADOTable6.Active:=true;
mainclientsform.ADOTable6.Insert;
mainclientsform.ADOTable6.FieldByName('id_bluda').AsInteger:=id_bluda;
mainclientsform.ADOTable6.FieldByName('stoimost').AsFloat:= stoimost_prig;
mainclientsform.ADOTable6.Post;
id_prigotovl:=mainclientsform.ADOTable6.FieldByName('id_prigotovl').AsInteger;

mainclientsform.ADOTable5.Active:=true;
mainclientsform.ADOTable5.Insert;
mainclientsform.ADOTable5.FieldByName('id_bluda').AsInteger:=id_bluda;
mainclientsform.ADOTable5.FieldByName('id_prigotovl').AsInteger:=id_prigotovl;
mainclientsform.ADOTable5.FieldByName('stoimost').AsFloat:= stoimost;
mainclientsform.ADOTable5.Post;
id_stoimost:=mainclientsform.ADOTable5.FieldByName('id_stoimost').AsInteger;


{ 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';
// stroka_SQL:='select * from tovar,location where '
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;

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;
it_edinica:integer;
edinica,name,gruppa:string;
id_produkt, id_edinica:integer;
data_postupl,srok_godnosty:tdatetime;
kolvo,cena_produkt:real;
begin

edinica:=edit38.Text;
name:=edit33.Text;
gruppa:=edit34.Text;
data_postupl:=now;
srok_godnosty:=strtodate(edit30.Text);
kolvo:=strtofloat(edit35.Text);
cena_produkt:=strtofloat(edit37.Text);



mainclientsform.ADOTable8.Active:=true;
mainclientsform.ADOTable8.Insert;
mainclientsform.ADOTable8.FieldByName('edinica').AsString:=edinica;
mainclientsform.ADOTable8.Post;
id_edinica:=mainclientsform.ADOTable8.FieldByName('id_edinica').AsInteger;

mainclientsform.ADOTable4.Active:=true;
mainclientsform.ADOTable4.Insert;
mainclientsform.ADOTable4.FieldByName('name').AsString:=name;
mainclientsform.ADOTable4.FieldByName('gruppa').AsString:=gruppa;
mainclientsform.ADOTable4.FieldByName('id_edinica').AsInteger:=id_edinica;
mainclientsform.ADOTable4.FieldByName('data_postupl').AsDateTime:=data_postupl;
mainclientsform.ADOTable4.FieldByName('kolvo').AsFloat:=kolvo;
mainclientsform.ADOTable4.FieldByName('cena_produkt').AsFloat:=cena_produkt;
mainclientsform.ADOTable4.FieldByName('srok_godnosty').AsDateTime:=srok_godnosty;
mainclientsform.ADOTable4.Post;
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 RzBitBtn4Click(Sender: TObject);
procedure RzBitBtn3Click(Sender: TObject);
procedure RzBitBtn2Click(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
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.RzBitBtn1Click(Sender: TObject);
begin
{CheckBox1.Checked:=true;
CheckBox2.Checked:=true;
CheckBox3.Checked:=true;
CheckBox4.Checked:=true;
//RzCheckBox5.Checked:=true;
CheckBox6.Checked:=true;
CheckBox7.Checked:=true;
//RzCheckBox8.Checked:=true;
CheckBox9.Checked:=true;
CheckBox10.Checked:=true;
//RzCheckBox11.Checked:=true;
RzCheckBox12.Checked:=true;
RzCheckBox13.Checked:=true;
RzCheckBox14.Checked:=true;
RzCheckBox15.Checked:=true;
RzCheckBox16.Checked:=true;
RzCheckBox17.Checked:=true;
RzCheckBox18.Checked:=true;
RzCheckBox19.Checked:=true;}
end;

procedure Tparampoik.RzBitBtn3Click(Sender: TObject);
var ChildTemplateForm:TChildTemplateform;
all:boolean;

stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;
fl_book, fl_avtor, fl_izdat, fl_location, fl_vid, fl_category:boolean;
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.ADOQuery1;
//mainclientsform.ADOQuery1.Active :=true;
mainclientsform.ADOQuery1.Active:=false;
mainclientsform.ADOQuery1.SQL.Clear;

P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter;
P1.Name:='P1';
p1.DataType := ftstring;

// mainclientsform.ADOQuery1.First;



end;

procedure Tparampoik.RzBitBtn4Click(Sender: TObject);
begin
flagpoisk:=false;
MainClientsForm.IsMDIChildOpen(MainClientsForm,'parampoik');
end;

procedure Tparampoik.Button1Click(Sender: TObject);
var ChildTemplateForm:TChildTemplateform;


timenach,timekon:tdatetime;
strint:integer;

begin
{flagsort:=false;}
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.ADOQuery1.Active :=true;
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;
// P1.Direction := ptInput;

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 (bluda.bluda like :P1)';


stroka_SQL:='select * from bluda '+sqlwhere ;
// stroka_SQL:='select * from tovar,location where '
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;
// P1.Direction := ptInput;
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;
sqlwhere:= ' where produkt.srok_godnosty < :P1';


stroka_SQL:='select * from produkt '+ sqlwhere;
// stroka_SQL:='select * from tovar,location where '
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 := ftinteger;
//strint
{if edit1.Text<>'' then begin
srtkl := edit1.Text;
name_poisk:= 'Tovar.nameTovar'
end;
if srtkl<>'' then}
begin
srtkl:='%'+ srtkl+'%';
strint:= strtoint(edit1.Text);
P1.Value:=strint;
//P1.Size:=Length(srtkl);

end;

sqlwhere:= ' where (produkt.id_produkt = ( select sp_pr_bl.id_produkt from sp_pr_bl where sp_pr_bl.id_bluda = :P1))';


stroka_SQL:='select * from produkt '+sqlwhere ;
// stroka_SQL:='select * from produkt where '
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;
// P1.Direction := ptInput;
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;
{ if edit1.Text<>'' then begin
srtkl := edit1.Text;
name_poisk:= 'Tovar.nameTovar'
end;
if srtkl<>'' then
begin
srtkl:='%'+ srtkl+'%';


end;}
P1.Value := timenach;
P2.Value := timekon;

sqlwhere:= ' where (Produkt.data_postupl > :P1) and (Produkt.data_postupl < :P2)';


stroka_SQL:='select * from Produkt'+ sqlwhere;
// stroka_SQL:='select * from tovar,location where '
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;
// P1.Direction := ptInput;

if edit1.Text<>'' then

begin
idnakl:=strtoint(edit1.Text);

P1.Value :=idnakl;


sqlwhere:= ' where (Nakladnaya.idNakladnaya = :P1)';


stroka_SQL:='select * from Nakladnaya'+ sqlwhere;
// stroka_SQL:='select * from tovar,location where '
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;
// stroka_SQL:='select * from tovar,location where '
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.


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.
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.











12

ЛИТЕРАТУРА

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

Вопрос-ответ:

Какие проблемы могут возникнуть при автоматизации учета в ресторанном бизнесе?

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

Какие цели преследуются при создании системы автоматизированного учета в ресторанном бизнесе?

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

Какие проблемы связаны с развитием информационных систем в учете движения материальных средств в ресторанном бизнесе?

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

Какие тенденции можно наблюдать в развитии информационных систем в области учета движения материальных средств в ресторанном бизнесе?

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

Какова характеристика ресторана, в котором возникают проблемы с автоматизированным учетом?

Детальная характеристика ресторана, в котором возникают проблемы с автоматизированным учетом, не была указана в статье.

Какие проблемы возникают при автоматизации учета в ресторанном бизнесе?

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

Какие проблемы возникают при развитии информационных систем для учета в ресторанном бизнесе?

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

Какие цели преследуются при создании автоматизированной системы учета в ресторанном бизнесе?

Основные цели создания автоматизированной системы учета в ресторанном бизнесе - это повышение эффективности учета и контроля, ускорение обработки информации, минимизация ошибок и снижение затрат. Автоматизированная система позволяет в режиме реального времени отслеживать движение материальных средств, контролировать остатки продуктов, анализировать финансовые показатели и принимать оперативные управленческие решения.

Какие проблемы существуют при разработке информационных систем для учета движения материальных средств в ресторанном бизнесе?

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

Какие проблемы возникают при автоматизации учета в ресторанном бизнесе?

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

Какие цели преследуются при создании автоматизированной системы учета в ресторанном бизнесе?

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