Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
14
Добавлен:
12.06.2015
Размер:
84.9 Кб
Скачать
//Основной модуль приложения
unit Main;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BoldHandle, BoldPersistenceHandle, BoldPersistenceHandleFile,
BoldPersistenceHandleFileXML, BoldAbstractModel, BoldModel, BoldHandles,
BoldRootedHandles, BoldAbstractListHandle, BoldCursorHandle,
BoldListHandle, BoldSubscription, BoldSystemHandle, BoldUMLModelLink,
BoldUMLRose98Link, data, ComCtrls, ToolWin, XPMan, Menus, StdCtrls,
ImgList, BoldEdit, Buttons, ExtCtrls, jpeg, Grids, BoldGrid, Mask,
BoldComboBox, BoldQueue, BoldListBox, BoldMemo, BusinessClasses,
BoldNavigatorDefs, BoldNavigator, NewBase, BoldTreeView, BoldSortingGrid,
Spin, BoldStringControlPack, BoldElements, BoldControlPack,
BoldNumericControlPack, comobj, BoldLabel, ShellAPI;

type
TMainform = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
XPManifest1: TXPManifest;
StatusBar1: TStatusBar;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
N2: TMenuItem;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ImageList1: TImageList;
N8: TMenuItem;
N9: TMenuItem;
TabSheet2: TTabSheet;
GroupBox1: TGroupBox;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Bevel1: TBevel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
GroupBox3: TGroupBox;
BoldEdit4: TBoldEdit;
Label15: TLabel;
BoldListBox2: TBoldListBox;
Label16: TLabel;
BoldGrid2: TBoldGrid;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
TabSheet3: TTabSheet;
GroupBox5: TGroupBox;
BoldListBox1: TBoldListBox;
GroupBox7: TGroupBox;
BoldListBox3: TBoldListBox;
SpeedButton16: TSpeedButton;
SpeedButton17: TSpeedButton;
GroupBox8: TGroupBox;
Label26: TLabel;
BoldEdit6: TBoldEdit;
Label27: TLabel;
BoldEdit7: TBoldEdit;
BoldListBox4: TBoldListBox;
SpeedButton20: TSpeedButton;
GroupBox6: TGroupBox;
Label18: TLabel;
Edit4: TEdit;
GroupBox10: TGroupBox;
Label20: TLabel;
Label21: TLabel;
Label23: TLabel;
Label22: TLabel;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
MaskEdit1: TMaskEdit;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
GroupBox9: TGroupBox;
Label25: TLabel;
SpeedButton18: TSpeedButton;
SpeedButton19: TSpeedButton;
Edit8: TEdit;
Label19: TLabel;
BoldEdit8: TBoldEdit;
SpeedButton21: TSpeedButton;
SpeedButton22: TSpeedButton;
SpeedButton23: TSpeedButton;
N11: TMenuItem;
GroupBox11: TGroupBox;
BoldListBox5: TBoldListBox;
BoldComboBox2: TBoldComboBox;
BoldSortingGrid1: TBoldSortingGrid;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
BoldComboBox3: TBoldComboBox;
N12: TMenuItem;
N13: TMenuItem;
TabSheet4: TTabSheet;
BoldSortingGrid2: TBoldSortingGrid;
TabSheet5: TTabSheet;
GroupBox4: TGroupBox;
Label17: TLabel;
SpeedButton24: TSpeedButton;
SpeedButton25: TSpeedButton;
SpeedButton26: TSpeedButton;
SpeedButton27: TSpeedButton;
SpeedButton28: TSpeedButton;
Label24: TLabel;
BoldGrid3: TBoldGrid;
BoldMemo1: TBoldMemo;
BoldEdit9: TBoldEdit;
N14: TMenuItem;
TabSheet6: TTabSheet;
GroupBox12: TGroupBox;
BoldComboBox4: TBoldComboBox;
GroupBox13: TGroupBox;
Label31: TLabel;
Label32: TLabel;
Edit9: TEdit;
Edit10: TEdit;
Label33: TLabel;
SpinEdit1: TSpinEdit;
Label34: TLabel;
SpinEdit2: TSpinEdit;
GroupBox14: TGroupBox;
BoldSortingGrid3: TBoldSortingGrid;
SpeedButton29: TSpeedButton;
SpeedButton30: TSpeedButton;
SpeedButton31: TSpeedButton;
GroupBox15: TGroupBox;
BoldListBox6: TBoldListBox;
SpeedButton32: TSpeedButton;
TabSheet7: TTabSheet;
SpeedButton33: TSpeedButton;
GroupBox16: TGroupBox;
BoldSortingGrid4: TBoldSortingGrid;
GroupBox17: TGroupBox;
BoldComboBox5: TBoldComboBox;
GroupBox18: TGroupBox;
BoldListBox7: TBoldListBox;
BoldAsStringRenderer1: TBoldAsStringRenderer;
SpeedButton34: TSpeedButton;
SpeedButton35: TSpeedButton;
SpeedButton36: TSpeedButton;
ProgressBar1: TProgressBar;
GroupBox19: TGroupBox;
Edit11: TEdit;
Label35: TLabel;
SpeedButton37: TSpeedButton;
SpeedButton38: TSpeedButton;
SaveExcel: TSaveDialog;
N15: TMenuItem;
GroupBox20: TGroupBox;
Label36: TLabel;
SpeedButton39: TSpeedButton;
Edit12: TEdit;
GroupBox21: TGroupBox;
Label37: TLabel;
SpeedButton40: TSpeedButton;
Edit13: TEdit;
SpeedButton41: TSpeedButton;
SpeedButton42: TSpeedButton;
Prodazha: TPopupMenu;
N16: TMenuItem;
N17: TMenuItem;
SpeedButton43: TSpeedButton;
RenderProdazha: TBoldAsStringRenderer;
SpeedButton44: TSpeedButton;
SpeedButton45: TSpeedButton;
ProgressBar2: TProgressBar;
TabSheet8: TTabSheet;
N18: TMenuItem;
GroupBox22: TGroupBox;
BoldComboBox6: TBoldComboBox;
BoldListBox8: TBoldListBox;
Label38: TLabel;
Label39: TLabel;
GroupBox23: TGroupBox;
GroupBox24: TGroupBox;
GroupBox25: TGroupBox;
Label40: TLabel;
Label41: TLabel;
BoldLabel1: TBoldLabel;
BoldLabel2: TBoldLabel;
Label42: TLabel;
Label43: TLabel;
BoldLabel3: TBoldLabel;
BoldLabel4: TBoldLabel;
Label44: TLabel;
Label45: TLabel;
BoldLabel5: TBoldLabel;
BoldLabel6: TBoldLabel;
BoldLabel7: TBoldLabel;
Label46: TLabel;
Label47: TLabel;
BoldLabel8: TBoldLabel;
Label48: TLabel;
BoldLabel9: TBoldLabel;
GroupBox26: TGroupBox;
Label49: TLabel;
Label50: TLabel;
DateTimePicker1: TDateTimePicker;
Label51: TLabel;
DateTimePicker2: TDateTimePicker;
Label52: TLabel;
Label53: TLabel;
Label54: TLabel;
Label55: TLabel;
Label56: TLabel;
Label57: TLabel;
SpeedButton46: TSpeedButton;
SpeedButton47: TSpeedButton;
TabSheet9: TTabSheet;
GroupBox27: TGroupBox;
Label58: TLabel;
SpeedButton48: TSpeedButton;
Edit14: TEdit;
Label59: TLabel;
Label60: TLabel;
DateTimePicker3: TDateTimePicker;
DateTimePicker4: TDateTimePicker;
SpeedButton49: TSpeedButton;
TabSheet10: TTabSheet;
GroupBox28: TGroupBox;
Label61: TLabel;
SpeedButton50: TSpeedButton;
Label62: TLabel;
Label63: TLabel;
SpeedButton51: TSpeedButton;
Edit15: TEdit;
DateTimePicker5: TDateTimePicker;
DateTimePicker6: TDateTimePicker;
GroupBox29: TGroupBox;
BoldGrid4: TBoldGrid;
Label64: TLabel;
Bevel2: TBevel;
BoldLabel10: TBoldLabel;
BoldLabel11: TBoldLabel;
BoldLabel12: TBoldLabel;
BoldLabel13: TBoldLabel;
GroupBox30: TGroupBox;
BoldGrid5: TBoldGrid;
Label65: TLabel;
BoldLabel14: TBoldLabel;
BoldLabel15: TBoldLabel;
Bevel3: TBevel;
SpeedButton52: TSpeedButton;
SpeedButton53: TSpeedButton;
SpeedButton54: TSpeedButton;
SpeedButton55: TSpeedButton;
Bevel4: TBevel;
Label66: TLabel;
BoldLabel16: TBoldLabel;
BoldLabel17: TBoldLabel;
BoldLabel18: TBoldLabel;
BoldLabel19: TBoldLabel;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
ToolButton13: TToolButton;
ToolButton14: TToolButton;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
ToolButton15: TToolButton;
ToolButton16: TToolButton;
BoldLabel20: TBoldLabel;
BoldLabel21: TBoldLabel;
BoldLabel22: TBoldLabel;
BoldEdit10: TBoldEdit;
BoldEdit11: TBoldEdit;
BoldEdit12: TBoldEdit;
Label4: TLabel;
BoldEdit13: TBoldEdit;
Label5: TLabel;
BoldEdit14: TBoldEdit;
Label6: TLabel;
BoldEdit15: TBoldEdit;
Label67: TLabel;
BoldMemo2: TBoldMemo;
SaveWord: TSaveDialog;
Vremya: TTimer;
N10: TMenuItem;
Timer1: TTimer;
CheckBox4: TCheckBox;
TabSheet11: TTabSheet;
GroupBox2: TGroupBox;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton13: TSpeedButton;
BoldGrid1: TBoldGrid;
BoldComboBox1: TBoldComboBox;
BoldEdit1: TBoldEdit;
BoldEdit2: TBoldEdit;
BoldEdit3: TBoldEdit;
BoldEdit5: TBoldEdit;
N25: TMenuItem;
SpeedButton56: TSpeedButton;
Image1: TImage;
procedure N2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure BoldGrid1DblClick(Sender: TObject);
procedure BoldGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure BoldGrid2SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton15Click(Sender: TObject);
procedure SpeedButton14Click(Sender: TObject);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
procedure MaskEdit1KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton17Click(Sender: TObject);
procedure Edit8KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton20Click(Sender: TObject);
procedure SpeedButton19Click(Sender: TObject);
procedure SpeedButton18Click(Sender: TObject);
procedure TabSheet3Hide(Sender: TObject);
procedure SpeedButton21Click(Sender: TObject);
procedure SpeedButton22Click(Sender: TObject);
procedure SpeedButton23Click(Sender: TObject);
procedure SpeedButton26Click(Sender: TObject);
procedure SpeedButton28Click(Sender: TObject);
procedure SpeedButton27Click(Sender: TObject);
procedure SpeedButton24Click(Sender: TObject);
procedure SpeedButton25Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure SpeedButton29Click(Sender: TObject);
procedure Edit10KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton30Click(Sender: TObject);
procedure Edit9KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton31Click(Sender: TObject);
procedure SpeedButton32Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure BoldAsStringRenderer1SetColor(Element: TBoldElement;
var AColor: TColor; Representation: Integer; Expression: String);
procedure BoldSortingGrid4DblClick(Sender: TObject);
procedure SpeedButton34Click(Sender: TObject);
procedure SpeedButton34MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure Clear_status;
procedure TabSheet7MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton36MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton35MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton35Click(Sender: TObject);
function FindTovarBase(name: string): boolean;
function FindTovarShop(name: string; Gr:string; var tov_index: integer): boolean;
procedure SpeedButton37MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton37Click(Sender: TObject);
procedure SpeedButton38MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton38Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SpeedButton39Click(Sender: TObject);
procedure SpeedButton40Click(Sender: TObject);
procedure SpeedButton16MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton41Click(Sender: TObject);
procedure SpeedButton42Click(Sender: TObject);
procedure SpeedButton42MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton41MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure RenderProdazhaSetColor(Element: TBoldElement;
var AColor: TColor; Representation: Integer; Expression: String);
procedure SpeedButton44MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton44Click(Sender: TObject);
procedure SpeedButton45MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton45Click(Sender: TObject);
procedure SpeedButton16Click(Sender: TObject);
procedure SpeedButton46Click(Sender: TObject);
procedure SpeedButton46MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure GroupBox26MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton47Click(Sender: TObject);
procedure TabSheet8MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton49MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton48MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton48Click(Sender: TObject);
procedure SpeedButton49Click(Sender: TObject);
procedure SpeedButton50Click(Sender: TObject);
procedure SpeedButton51Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure SpeedButton52Click(Sender: TObject);
procedure SpeedButton53Click(Sender: TObject);
procedure SpeedButton54Click(Sender: TObject);
procedure SpeedButton55Click(Sender: TObject);
procedure SpeedButton33Click(Sender: TObject);
procedure SpeedButton29MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton30MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton32MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton31MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton43MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton8MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton9MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton10MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton11MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton12MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton13MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton4MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton5MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton6MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton7MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton14MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton15MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton21MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton22MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton23MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton20MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton18MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SpeedButton19MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure CheckBox2Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure ToolButton1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ToolButton3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ToolButton4MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ToolButton5MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ToolButton6MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ToolButton7MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ToolButton8MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ToolButton9MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ToolButton11MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ToolButton12MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ToolButton14MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton43Click(Sender: TObject);
procedure N24Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure VremyaTimer(Sender: TObject);
procedure ToolBar1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Timer1Timer(Sender: TObject);
procedure ToolButton15MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ToolButton16MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure CheckBox4Click(Sender: TObject);
procedure ToolButton14Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure SpeedButton56Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }

end;

var Mainform: TMainform;
TekOtdel: TOtdel;
TekGroup: TGroup;
TekBase: TBase;
TekBTov: TTov_base;
TekZTov, NewZTov: TZakaz;
TekMTov: TTov_mag;
ProdTov: TProdazha;
FlagZakaz: Boolean;
TekShop: TShop;
Kol: integer;
E, W: Variant;
DirApplication: string;
procedure NewTovar(name: string; price: real; Garant, Col: integer;
Zakaz: boolean; Zakazcount: integer; Hranitsya: TBase; Prinadlezhit: TGroup;
var NewTov: TTov_base);
procedure NewMagTovar(name: string; price: real; Garant, Col: integer;
Prinadlezhit: TGroup; var NewMTov: TTov_mag);
function PoiskTovarBase(name: String; nach: boolean; var index: integer): boolean;

implementation

uses BoldSystem, EditTovarBase, ZakazTov, About, Ad_change_pass, Ad_reg,
Sc_trial;

{$R *.dfm}

//*****************************************************************************
//***************************Мои процедуры и функции***************************
//*****************************************************************************
//Расчет экономических показателей
procedure rasschet(begindate, enddate: TDate);
var i,n: integer;
ksum, prib, viruch: real;
d: TDate;

begin
n:=DataShop.ListProdazha.Count;
ksum:=0;
prib:=0;
viruch:=0;
for i:=0 to n-1 do
begin
ProdTov:=DataShop.ListProdazha.ObjectList.Elements[i] as TProdazha;
d:=ProdTov.Pdate;
if (d<=trunc(enddate))and(d>=trunc(begindate)) then
begin
viruch:=viruch+ProdTov.PRprice*ProdTov.Pcount;
prib:=prib+ProdTov.Pprice*ProdTov.Pcount;
ksum:=ksum+ProdTov.Pcount;
end;
end;
prib:=viruch-prib;
Mainform.Label55.Caption:=FloatToStr(ksum);
Mainform.Label56.Caption:=FloatToStr(viruch);
Mainform.Label57.Caption:=FloatToStr(prib);
end;

//Добавлнение нового товара в базу
procedure NewTovar(name: string; price: real; Garant, Col: integer;
Zakaz: boolean; Zakazcount: integer; Hranitsya: TBase; Prinadlezhit: TGroup;
var NewTov: TTov_base);
begin
NewTov:=TTov_base.Create(nil);
NewTov.Tname:=name;
NewTov.Tprice:=price;
NewTov.Tgarant:=Garant;
NewTov.TBcount:=Col;
NewTov.ZakazCount:=Zakazcount;
NewTov.Hranitsya:=Hranitsya;
NewTov.BPrinadlezhit:=Prinadlezhit;
end;

//Добавление нового товара в магазин
procedure NewMagTovar(name: string; price: real; Garant, Col: integer;
Prinadlezhit: TGroup; var NewMTov: TTov_mag);
var flag: boolean;
s: String;
pricereal: real;
begin
flag:=true;
S:='';
while flag do
begin
s:=InputBox('Цена реализации','Укажите цену реализации (руб. за ед.) товара "'+
name+'" с закупочной ценой:'+floattostr(price),'0');
if s<>'' then
begin
try
pricereal:=StrToFloat(s);
except
ShowMessage('Неверно указана цена реализации товара!'+#13+'Повторите ввод цены!');
end;
if pricereal>price then
flag:=false
else
ShowMessage('Цена реализации товара должна быть выше закупочной!'+#13+
'Повторите ввод цены реализации');
end
else
ShowMessage('Укажите цену реализации товара (руб. за ед.)!');
end; // while
NewMTov:=TTov_mag.Create(nil);
NewMTov.Tname:=name;
NewMTov.Tprice:=price;
NewMTov.Tgarant:=Garant;
NewMTov.TMcount:=Col;
NewMTov.Prodcount:=0;
NewMTov.TMprice:=pricereal;
NewMTov.Prinadlezhit:=Prinadlezhit;
end;

//Добавление записи в журнал продаж
procedure NewProdazha(Np: integer; Pname: string; Kol: integer; Zprisce, Rprice: real; var New: TProdazha);
begin
New:=TProdazha.Create(nil);
New.Pdate:=now;
New.PZtov_name:=Pname;
New.Pcount:=Kol;
New.Pprice:=Zprisce;
New.PRprice:=Rprice;
New.Pnumber:=Np;
end;

//Поиск товара по закупочным базам для добавление
function TMainform.FindTovarBase(name: string): boolean;
var ExTov: TTov_base;
fi,n: integer;
begin
result:=false;
n:=DataShop.ListBaseGroupTovar.Count-1;
for fi:=0 to n do
begin
ExTov:=DataShop.ListBaseGroupTovar.ObjectList.Elements[fi] as TTov_base;
if name=ExTov.Tname then
result:=true;
end;
end;

//Поиск товара по закупочным базам для отображения
function PoiskTovarBase(name: String; nach: boolean; var index: integer): boolean;
var ExTov: TTov_base;
fi,n, p: integer;
begin
result:=false;
if nach then
fi:=0
else
fi:=DataShop.ListBaseGroupTovar.CurrentIndex+1;
n:=DataShop.ListBaseGroupTovar.Count;
while fi<>n do
begin
ExTov:=DataShop.ListBaseGroupTovar.ObjectList.Elements[fi] as TTov_base;
p:=pos(name,ExTov.Tname);
if p<>0 then
begin
index:=fi;
fi:=n;
Result:=true;
end
else
inc(fi)
end;
end;

//Поиск товара по журналу продаж
function PoiskTovarProd(name: String; nach: boolean; var index: integer): boolean;
var ExTov: TProdazha;
fi,n, p1,p2: integer;
begin
result:=false;
if nach then
fi:=0
else
fi:=DataShop.ListProdazha.CurrentIndex+1;
n:=DataShop.ListProdazha.Count;
while fi<>n do
begin
ExTov:=DataShop.ListProdazha.ObjectList.Elements[fi] as TProdazha;
p1:=pos(name,ExTov.PZtov_name);
p2:=pos(name,inttostr(ExTov.Pnumber));
if (p1<>0)or(p2<>0) then
begin
index:=fi;
fi:=n;
Result:=true;
end
else
inc(fi)
end;
end;

//Поиск товара по журналу закупок
function PoiskTovarZakaz(name: String; nach: boolean; var index: integer): boolean;
var ExTov: TZakaz;
fi,n, p1: integer;
begin
result:=false;
if nach then
fi:=0
else
fi:=DataShop.ListZakupka.CurrentIndex+1;
n:=DataShop.ListZakupka.Count;
while fi<>n do
begin
ExTov:=DataShop.ListZakupka.ObjectList.Elements[fi] as TZakaz;
p1:=pos(name,ExTov.Zname);
if (p1<>0) then
begin
index:=fi;
fi:=n;
Result:=true;
end
else
inc(fi)
end;
end;

//Поиск товара по магазину
function PoiskTovarShop(name: String; nach: boolean; var index: integer): boolean;
var ExTov: TTov_mag;
fi,n, p: integer;
begin
result:=false;
if nach then
fi:=0
else
fi:=DataShop.ListTovar.CurrentIndex+1;
n:=DataShop.ListTovar.Count;
while fi<>n do
begin
ExTov:=DataShop.ListTovar.ObjectList.Elements[fi] as TTov_mag;
p:=pos(name,ExTov.Tname);
if p<>0 then
begin
index:=fi;
fi:=n;
Result:=true;
end
else
inc(fi)
end;
end;

//Поиск товара по магазину для добавления с учетом группы
function PoiskTovarShopGroup(name: String; nach: boolean; var index: integer): boolean;
var ExTov: TTov_mag;
fi,n, p: integer;
begin
result:=false;
if nach then
fi:=0
else
fi:=DataShop.ListOtdelsGroupTovar.CurrentIndex+1;
n:=DataShop.ListOtdelsGroupTovar.Count;
while fi<>n do
begin
ExTov:=DataShop.ListOtdelsGroupTovar.ObjectList.Elements[fi] as TTov_mag;
p:=pos(name,ExTov.Tname);
if p<>0 then
begin
index:=fi;
fi:=n;
Result:=true;
end
else
inc(fi)
end;
end;

//Поиск товара по магазину для добавления
function TMainform.FindTovarShop(name: string; Gr: String; var tov_index: integer): boolean;
var ExTov: TTov_mag;
fi: integer;
begin
result:=false;
for fi:=0 to DataShop.ListTovar.Count-1 do
begin
ExTov:=DataShop.ListTovar.ObjectList.Elements[fi] as TTov_mag;
if (name=ExTov.Tname)and(ExTov.Prinadlezhit.Gname=Gr) then
begin
result:=true;
tov_index:=fi;
exit;
end;
end;
end;

//Отмена заказа
procedure OtmenaZakaza;
var i,n: integer;
begin
n:=DataShop.ListBaseTovar.Count;
for i:=0 to n-1 do
begin
TekBTov:=DataShop.ListBaseTovar.ObjectList.Elements[i] as TTov_base;
if TekBTov.ZakazCount>0 then
begin
TekBTov.ZakazCount:=0;
Mainform.BoldSortingGrid4.Repaint;
Mainform.SpeedButton35.Enabled:=false;
end;
end;
end;

//Отмена продажи
procedure OtmenaProdazhi;
var i, n: integer;
begin
n:=DataShop.ListTovar.Count;
for i:=0 to n-1 do
begin
TekMTov:=DataShop.ListTovar.ObjectList.Elements[i] as TTov_mag;
if TekMTov.Prodcount>0 then
begin
TekMTov.Prodcount:=0;
Mainform.BoldSortingGrid1.Repaint;
Mainform.SpeedButton45.Enabled:=false;
Kol:=0;
end;
end;
end;

//Экспорт в Excel остатков товара в магазине
procedure ExportOstatki(FileName: string);
var Wbook, Sheet, MySh, Range, Border: variant;
i, j, n, m, r, col: integer;
begin
E:=CreateOleObject('Excel.Application');
E.Workbooks.Add;
Wbook:=E.Workbooks.Item[E.Workbooks.Count];
Sheet:=Wbook.Sheets;
Sheet.Item[2].delete;
Sheet.Item[2].delete;
MySh:=Sheet.Item[1];
MySh.name:='Остатки товара в магазине';
Range:=MySh.Range['A1:E1'];
Range.MergeCells:=true;
Range.Font.Bold:=true;
Range.Font.Italic:=true;
Range.Font.UnderLine:=true;
Range.Font.Size:=16;
Range.Font.Color:=clRed;

Range.value:='Остатки товара в магазине';
Range:=MySh.Range['A1'];
Range.ColumnWidth:=37;
Range:=MySh.Range['B1']; Range.ColumnWidth:=10.5;
Range:=MySh.Range['C1']; Range.ColumnWidth:=8;
Range:=MySh.Range['D1']; Range.ColumnWidth:=12.15;
Range:=MySh.Range['E1']; Range.ColumnWidth:=15.86;

MySh.Range['A3'].value:='Точка актуальности остатков: '+ datetostr(now);
MySh.Range['A5'].value:='Наименование товара';
MySh.Range['B5'].value:='Количество';
MySh.Range['C5'].value:='Гарантия';
MySh.Range['D5'].value:='Цена закупки';
MySh.Range['E5'].value:='Цена реализации';
Range:=MySh.Range['A5:E5'];

Range.Font.Bold:=true;
Border:=Range.Borders;
Border.Color:=clBlack;
Border.Weight:=2;

n:=DataShop.ListGroups.Count;
r:=6;
Col:=0;
for i:=0 to n-1 do
begin
TekGroup:=DataShop.ListGroups.ObjectList.Elements[i] as TGroup;
DataShop.ListGroups.CurrentIndex:=i;
m:=DataShop.ListGroupTovar.Count;
if m<>0 then
begin
MySh.Cells[r,1]:=TekGroup.Gname;
Range:=MySh.Range['A'+inttostr(r)+':E'+inttostr(r)];
Range.Font.Italic:=true;
Range.Font.Size:=14;
Range.Interior.color:=$77FFFF{clYellow};
r:=r+1;
Range:=MySh.Range['A'+inttostr(r)+':E'+inttostr(r+m-1)];
Border:=Range.Borders;
Border.Color:=clBlack;
Border.Weight:=2;
for j:=0 to m-1 do
begin
TekMTov:=DataShop.ListGroupTovar.ObjectList.Elements[j] as TTov_mag;
MySh.Cells[r,1]:=TekMTov.Tname;
MySh.Cells[r,2]:=TekMTov.TMcount;
MySh.Cells[r,3]:=TekMTov.Tgarant;
MySh.Cells[r,4]:=TekMTov.Tprice;
MySh.Cells[r,5]:=TekMTov.TMprice;
r:=r+1;
col:=col+TekMTov.TMcount;
end;
end;
end;
MySh.Cells[r,1]:='Итого: ';
MySh.Cells[r,2]:=col;
MySh.cells[r,1].font.bold:=true;
MySh.cells[r,1].font.size:=16;
MySh.cells[r,2].font.bold:=true;
MySh.cells[r,2].font.size:=16;
Wbook.SaveAs(FileName,1);
E.visible:=true;
end;

//Экспорт в Excel остатков товара на базах
procedure ExportOstatkiBase(FileName: string);
var Wbook, Sheet, MySh, Range, Border: variant;
i, j, n, m, l, k, r, col: integer;
begin
E:=CreateOleObject('Excel.Application');
E.Workbooks.Add;
Wbook:=E.Workbooks.Item[E.Workbooks.Count];
Sheet:=Wbook.Sheets;
Sheet.Item[2].delete;
Sheet.Item[2].delete;
MySh:=Sheet.Item[1];
MySh.name:='Остатки товара на базах';
Range:=MySh.Range['A1:D1'];
Range.MergeCells:=true;
Range.Font.Bold:=true;
Range.Font.Italic:=true;
Range.Font.UnderLine:=true;
Range.Font.Size:=16;
Range.Font.Color:=clRed;

Range.value:='Остатки товара на базах';
Range:=MySh.Range['A1'];
Range.ColumnWidth:=37;
Range:=MySh.Range['B1']; Range.ColumnWidth:=10.5;
Range:=MySh.Range['C1']; Range.ColumnWidth:=8;
Range:=MySh.Range['D1']; Range.ColumnWidth:=12.15;

MySh.Range['A3'].value:='Точка актуальности остатков: '+ datetostr(now);
MySh.Range['A5'].value:='Наименование товара';
MySh.Range['B5'].value:='Количество';
MySh.Range['C5'].value:='Гарантия';
MySh.Range['D5'].value:='Цена закупки';

Range:=MySh.Range['A5:D5'];
Range.Font.Bold:=true;
Border:=Range.Borders;
Border.Color:=clBlack;
Border.Weight:=2;

n:=DataShop.ListBases.Count;
r:=6;
Col:=0;
for i:=0 to n-1 do
begin
TekBase:=DataShop.ListBases.ObjectList.Elements[i] as TBase;
DataShop.ListBases.CurrentIndex:=i;
m:=DataShop.ListBaseGroup.Count;
if (m<>0) then
begin
MySh.Cells[r,1]:=' '+TekBase.Bname;
Range:=MySh.Range['A'+inttostr(r)+':D'+inttostr(r)];
Range.Font.Italic:=true;
Range.Font.Size:=14;
Range.Interior.color:=$FFFF99;
r:=r+1;
for j:=0 to m-1 do
begin
TekGroup:=DataShop.ListBaseGroup.ObjectList.Elements[j] as TGroup;
DataShop.ListBaseGroup.CurrentIndex:=j;
l:=DataShop.ListBaseGroupTovar.Count;
if l<>0 then
begin
MySh.Cells[r,1]:=TekGroup.Gname;
Range:=MySh.Range['A'+inttostr(r)+':D'+inttostr(r)];
Range.Font.Italic:=true;
Range.Font.Size:=14;
Range.Interior.color:=$77FFFF;
r:=r+1;
Range:=MySh.Range['A'+inttostr(r)+':D'+inttostr(r+l-1)];

Border:=Range.Borders;
Border.Color:=clBlack;
Border.Weight:=2;
for k:=0 to l-1 do
begin
TekBTov:=DataShop.ListBaseGroupTovar.ObjectList.Elements[k] as TTov_base;
MySh.Cells[r,1]:=TekBTov.Tname;
MySh.Cells[r,2]:=TekBTov.TBcount;
MySh.Cells[r,3]:=TekBTov.Tgarant;
MySh.Cells[r,4]:=TekBTov.Tprice;
r:=r+1;
col:=col+TekBTov.TBcount;
end; //for k
end; //if l<>0
end; //for j
end; //if m<>0
end; //for i
MySh.Cells[r,1]:='Итого: ';
MySh.Cells[r,2]:=col;
MySh.cells[r,1].font.bold:=true;
MySh.cells[r,1].font.size:=16;
MySh.cells[r,2].font.bold:=true;
MySh.cells[r,2].font.size:=16;
Wbook.SaveAs(FileName,1);
E.visible:=true;
end;

//Поиск в Word-документе текста и замена на другой текст
function FindAndInsert(FindText, ReplacementText: string): boolean;
const dwReplaceAll=2;
begin
W.Selection.Find.Text:=FindText;
W.Selection.Find.Replacement.Text:=ReplacementText;
FindAndInsert:=W.Selection.Find.Execute(Replace:=dwReplaceAll);
end;

//Создание накладной продажи
procedure NakladnayaProdazha(FileName: string; Np: integer);
var Doc, Tabl: variant;
i,n: integer;
sum: real;
begin
if FileExists(ExtractFileDir(Application.ExeName)+'\Накладная продажи.dot') then
begin
W:=CreateOleObject('Word.Application');
W.Documents.Add(ExtractFileDir(Application.ExeName)+'\Накладная продажи.dot');
Doc:=W.ActiveDocument;
TekShop:=DataShop.ListShop.ObjectList.Elements[0] as TShop;
FindAndInsert('###номер магазина&',TekShop.Shnumber);
FindAndInsert('###название магазина&',TekShop.Shname);
FindAndInsert('###адрес магазина&',TekShop.ShAddress);
FindAndInsert('###инн&',TekShop.ShINN);
FindAndInsert('###телефон&',TekShop.ShPhone);
FindAndInsert('###мыло&',TekShop.ShMail);
FindAndInsert('###номер продажи&',inttostr(Np));
DataShop.ListProdazhaOtchet.Expression:='Prodazha.allInstances->Select(pnumber='+inttostr(Np)+')';
ProdTov:=DataShop.ListProdazhaOtchet.ObjectList.Elements[0] as TProdazha;
FindAndInsert('###дата продажи&',DateToStr(ProdTov.Pdate));
FindAndInsert('###дата оплаты&',DateToStr(ProdTov.Pdate)+' 20:00');

i:=Doc.Tables.Count;
Tabl:=Doc.Tables.Item(i);
n:=DataShop.ListProdazhaOtchet.Count;
sum:=0;
for i:=0 to n-1 do
begin
ProdTov:=DataShop.ListProdazhaOtchet.ObjectList.Elements[i] as TProdazha;
Tabl.Cell(i+2,1).Range.Text:=inttostr(i+1);
Tabl.Cell(i+2,2).Range.Text:=ProdTov.PZtov_name;
Tabl.Cell(i+2,2).Range.ParagraphFormat.Alignment:=0;
Tabl.Cell(i+2,3).Range.Text:=inttostr(ProdTov.Pcount);
Tabl.Cell(i+2,4).Range.Text:=floattostr(ProdTov.PRprice);
Tabl.Cell(i+2,5).Range.Text:=floattostr(ProdTov.PRprice*ProdTov.Pcount);
sum:=sum+ProdTov.PRprice*ProdTov.Pcount;
if i<>n-1 then
Tabl.Rows.Add;
end;
FindAndInsert('###сумма&',FloatToStr(sum)+' руб.');
DataShop.ListProdazhaOtchet.Expression:='Prodazha.allInstances';
Doc.SaveAs(FileName+'.doc',1);
W.visible:=true;
end; //if
end;

//Создание накладной заказа
procedure NakladnayaZakaz(FileName: string; zak: integer);
var Doc, Tabl: variant;
i,n: integer;
sum: real;
begin
if FileExists(ExtractFileDir(Application.ExeName)+'\Накладная заявки.dot') then
begin
W:=CreateOleObject('Word.Application');
W.Documents.Add(ExtractFileDir(Application.ExeName)+'\Накладная заявки.dot');
Doc:=W.ActiveDocument;
TekShop:=DataShop.ListShop.ObjectList.Elements[0] as TShop;
FindAndInsert('###номер магазина&',TekShop.Shnumber);
FindAndInsert('###название магазина&',TekShop.Shname);
FindAndInsert('###адрес магазина&',TekShop.ShAddress);
FindAndInsert('###инн&',TekShop.ShINN);
FindAndInsert('###телефон&',TekShop.ShPhone);
FindAndInsert('###мыло&',TekShop.ShMail);
DataShop.ListZakupkaOtchet.Expression:='Zakaz.allInstances->select(znumber='+inttostr(zak)+')';
TekZTov:=DataShop.ListZakupkaOtchet.ObjectList.Elements[0] as TZakaz;
FindAndInsert('###номер заказа&',inttostr(Zak));
FindAndInsert('###дата заказа&',DateToStr(TekZTov.Zdate));

i:=Doc.Tables.Count;
Tabl:=Doc.Tables.Item(i);
n:=DataShop.ListZakupkaOtchet.Count;
sum:=0;
for i:=0 to n-1 do
begin
TekZTov:=DataShop.ListZakupkaOtchet.ObjectList.Elements[i] as TZakaz;
Tabl.Cell(i+2,1).Range.Text:=inttostr(i+1);
Tabl.Cell(i+2,2).Range.Text:=TekZTov.Zname;
Tabl.Cell(i+2,2).Range.ParagraphFormat.Alignment:=0;
Tabl.Cell(i+2,3).Range.Text:=inttostr(TekZTov.Zcount);
Tabl.Cell(i+2,4).Range.Text:=floattostr(TekZTov.Zprice);
Tabl.Cell(i+2,5).Range.Text:=floattostr(TekZTov.Zprice*TekZTov.Zcount);
sum:=sum+TekZTov.Zprice*TekZTov.Zcount;
if i<>n-1 then
Tabl.Rows.Add;
end;
FindAndInsert('###сумма&',FloatToStr(sum)+' руб.');
DataShop.ListZakupkaOtchet.Expression:='Zakaz.allInstances';
Doc.SaveAs(FileName+'.doc',1);
W.visible:=true;
end; //if
end;

//*****************************************************************************
//*****************************************************************************
//*****************************************************************************

//Закрытие формы
procedure TMainform.N2Click(Sender: TObject);
begin
Mainform.Close;
end;

//Активизация формы
procedure TMainform.FormActivate(Sender: TObject);
begin
PageControl1.Width:=Mainform.Width-8;
PageControl1.Height:=Mainform.Height-167;
PageControl1.Top:=96;
PageControl1.Left:=0;
DirApplication:=ExtractFileDir(Application.ExeName)+'\shop.xml';
Application.HelpFile:=ExtractFileDir(Application.ExeName)+'\help\help.hlp';
DataShop.BoldPersistenceHandleFileXMLShop.FileName:=DirApplication;
DataShop.BoldSystemHandleShop.Active:=true;
DateTimePicker2.Date:=now;
DateTimePicker4.Date:=now;
DateTimePicker6.Date:=now;
StatusBar1.Panels[1].Text:='Сегодня: '+DateTimeToStr(now);
StatusBar1.Panels[2].Text:='© ALEXX "Магазин бытовой техники" 2009';
end;

//Изменение размера
procedure TMainform.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
begin
PageControl1.Width:=Mainform.Width-8;
PageControl1.Height:=Mainform.Height-167;
end;

//При закрытии формы
procedure TMainform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if SpeedButton45.Enabled then
OtmenaProdazhi;
if SpeedButton35.Enabled then
OtmenaZakaza;
DataShop.BoldPersistenceHandleFileXMLShop.FileName:=DirApplication;
DataShop.BoldSystemHandleShop.UpdateDatabase;
registr.Close;
main_sc.Close;
Vremya.Enabled:=false;
Application.Terminate;
end;

procedure TMainform.N9Click(Sender: TObject);
begin
TabSheet2.TabVisible:=true;
TabSheet2.PageIndex:=0;
PageControl1.ActivePage:=TabSheet2;
SpeedButton8.Enabled:=true;
SpeedButton9.Enabled:=false;
SpeedButton10.Enabled:=false;
end;

//Вызов формы смены пароля
procedure TMainform.N10Click(Sender: TObject);
begin
ChangePass.ShowModal;
end;


procedure TMainform.SpeedButton2Click(Sender: TObject);
begin
TabSheet2.TabVisible:=false;
SpeedButton10Click(nil);
SpeedButton13Click(nil);
SpeedButton7Click(nil);
SpeedButton28Click(nil);
end;

procedure TMainform.BoldGrid1DblClick(Sender: TObject);
begin
BoldEdit1.Enabled:=true;
BoldEdit2.Enabled:=true;
BoldEdit3.Enabled:=true;
BoldEdit5.Enabled:=true;
SpeedButton11.Enabled:=false;
SpeedButton12.Enabled:=true;
SpeedButton13.Enabled:=true;
BoldComboBox1.Enabled:=true;
end;

procedure TMainform.BoldGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
SpeedButton13Click(Mainform);
end;

procedure TMainform.SpeedButton8Click(Sender: TObject);
begin
BoldEdit10.Enabled:=true;
BoldEdit11.Enabled:=true;
BoldEdit12.Enabled:=true;
BoldEdit13.Enabled:=true;
BoldEdit14.Enabled:=true;
BoldEdit15.Enabled:=true;
BoldMemo2.Enabled:=true;;
SpeedButton9.Enabled:=true;
SpeedButton10.Enabled:=true;
SpeedButton8.Enabled:=false;
end;

//Возврат в исходное состояние
procedure TMainform.SpeedButton9Click(Sender: TObject);
begin
if (messagedlg('Подтвердите сохранение изменений!',mtConfirmation,[mbYes,mbNo],0)=mrYes) then
TBoldQueueable.ApplyAll;
SpeedButton8.Enabled:=true;
SpeedButton9.Enabled:=false;
SpeedButton10.Enabled:=false;
BoldEdit10.Enabled:=false;
BoldEdit11.Enabled:=false;
BoldEdit12.Enabled:=false;
BoldEdit13.Enabled:=false;
BoldEdit14.Enabled:=false;
BoldEdit15.Enabled:=false;
BoldMemo2.Enabled:=false;;

end;

//Возврат в исходное состояние
procedure TMainform.SpeedButton10Click(Sender: TObject);
begin
SpeedButton8.Enabled:=true;
SpeedButton9.Enabled:=false;
SpeedButton10.Enabled:=false;
BoldEdit10.Enabled:=false;
BoldEdit11.Enabled:=false;
BoldEdit12.Enabled:=false;
BoldEdit13.Enabled:=false;
BoldEdit14.Enabled:=false;
BoldEdit15.Enabled:=false;
BoldMemo2.Enabled:=false;;
end;

//Возврат в исходное состояние
procedure TMainform.SpeedButton12Click(Sender: TObject);
begin
if (messagedlg('Подтвердите сохранение изменений!',mtConfirmation,[mbYes,mbNo],0)=mrYes) then
TBoldQueueable.ApplyAll;
SpeedButton11.Enabled:=true;
SpeedButton12.Enabled:=false;
SpeedButton13.Enabled:=false;
BoldEdit1.Enabled:=false;
BoldEdit2.Enabled:=false;
BoldEdit3.Enabled:=false;
BoldEdit5.Enabled:=false;
BoldComboBox1.Enabled:=false;
end;

//Возврат в исходное состояние
procedure TMainform.SpeedButton13Click(Sender: TObject);
begin
SpeedButton11.Enabled:=true;
SpeedButton12.Enabled:=false;
SpeedButton13.Enabled:=false;
BoldEdit1.Enabled:=false;
BoldEdit2.Enabled:=false;
BoldEdit3.Enabled:=false;
BoldEdit5.Enabled:=false;
BoldComboBox1.Enabled:=false;
end;

//Возврат в исходное состояние
procedure TMainform.SpeedButton5Click(Sender: TObject);
begin
BoldEdit4.Enabled:=true;
SpeedButton6.Enabled:=true;
SpeedButton7.Enabled:=true;
SpeedButton3.Enabled:=false;
SpeedButton4.Enabled:=false;
SpeedButton5.Enabled:=false;
end;

//Возврат в исходное состояние
procedure TMainform.SpeedButton6Click(Sender: TObject);
begin
if (messagedlg('Подтвердите сохранение изменений!',mtConfirmation,[mbYes,mbNo],0)=mrYes) then
TBoldQueueable.ApplyAll;
SpeedButton6.Enabled:=false;
SpeedButton7.Enabled:=false;
SpeedButton3.Enabled:=true;
SpeedButton4.Enabled:=true;
SpeedButton5.Enabled:=true;
BoldEdit4.Enabled:=false;
end;

//Возврат в исходное состояние
procedure TMainform.SpeedButton7Click(Sender: TObject);
begin
SpeedButton6.Enabled:=false;
SpeedButton7.Enabled:=false;
SpeedButton3.Enabled:=true;
SpeedButton4.Enabled:=true;
SpeedButton5.Enabled:=true;
BoldEdit4.Enabled:=false;
end;

procedure TMainform.BoldGrid2SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
SpeedButton7Click(Mainform);
end;

//Удаление отдела
procedure TMainform.SpeedButton4Click(Sender: TObject);
var i:integer;
begin
i:= DataShop.ListOtdels.CurrentIndex;
if i<>-1 then
begin
tekOtdel:=DataShop.ListOtdels.ObjectList.Elements[i] as TOtdel;
if (messagedlg('Подтвердите удаление отдела "'+tekOtdel.Oname+'"'+
#13+'Вместе с отделом будет удален администратор и все группы товара!',mtConfirmation,[mbYes,mbNo],0)=mrYes) then
tekOtdel.Delete;
end;
end;


procedure TMainform.SpeedButton3Click(Sender: TObject);
begin
TabSheet3.TabVisible:=true;
TabSheet2.PageIndex:=0;
PageControl1.ActivePage:=TabSheet2;
TabSheet3.Show;
end;

procedure TMainform.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['A'..'я','0'..'9',#8,' ']) then
key:=#0;
if (key=#8)and (Length(Edit4.Text)<=1) then
begin
SpeedButton14.Enabled:=false;
SpeedButton15.Enabled:=false;
Edit5.Enabled:=false;
Edit6.Enabled:=false;
Edit7.Enabled:=false;
MaskEdit1.Enabled:=false;
end;
if (key in ['A'..'я','0'..'9']) then
begin
SpeedButton14.Enabled:=true;
SpeedButton15.Enabled:=true;
Edit5.Enabled:=true;
Edit6.Enabled:=true;
Edit7.Enabled:=true;
MaskEdit1.Enabled:=true;
end;
end;

procedure TMainform.SpeedButton15Click(Sender: TObject);
begin
SpeedButton14.Enabled:=false;
SpeedButton15.Enabled:=false;
Edit5.Enabled:=false;
Edit6.Enabled:=false;
Edit7.Enabled:=false;
MaskEdit1.Enabled:=false;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
MaskEdit1.Clear;
end;

//Создание нового отдела
procedure TMainform.SpeedButton14Click(Sender: TObject);
var NewOtdel, ExOtdel: TOtdel;
i: integer;
dr: TDate;
ExAdmin, NewAdmin: TAdmin;
botdelexist, badminexsist, flag: Boolean;
begin
if (Edit5.Text<>'')and(Edit6.Text<>'')and(Edit7.Text<>'')and(MaskEdit1.Text<>' . . ') then
begin
botdelexist:=false;
badminexsist:=false;
flag:=False;
for i:=0 to DataShop.ListOtdels.Count-1 do
begin
ExOtdel:=DataShop.ListOtdels.ObjectList.Elements[i] as TOtdel;
if ExOtdel.Oname=Edit4.Text then
botdelexist:=true
end;
if not botdelexist then
begin
for i:=0 to DataShop.ListAdmin.Count-1 do
begin
ExAdmin:=DataShop.ListAdmin.ObjectList.Elements[i] as TAdmin;
if (ExAdmin.Afam=Edit5.Text)and(ExAdmin.Aname=Edit6.Text)and
(ExAdmin.Asname=Edit7.Text)and(ExAdmin.Adr=StrToDate(MaskEdit1.Text)) then
badminexsist:=true;
end;
if not(badminexsist) then
begin
if (messagedlg('Подтвердите добавление отдела "'+Edit4.Text+'"',mtConfirmation,[mbYes,mbNo],0)=mrYes) then
begin
try
dr:=StrToDate(MaskEdit1.Text);
Except
MessageDlg('Неверно введена дата рождения!'+#13+'Попробуйте еще раз!',mtError,[mbOK],0);
MaskEdit1.Clear;
flag:=true;
end;
if not(flag) then
begin
NewOtdel:=TOtdel.Create(nil);
NewOtdel.Oname:=Edit4.Text;
NewAdmin:=TAdmin.Create(nil);
NewAdmin.Afam:=Edit5.Text;
NewAdmin.Aname:=Edit6.Text;
NewAdmin.Asname:=Edit7.Text;
NewAdmin.Adr:=dr;
NewAdmin.Zaveduet:=NewOtdel;
NewOtdel.Prinadlezhit:=DataShop.BoldSystemHandleShop.System.ClassByExpressionName['Shop'].BoldObjects[0] as TShop;
DataShop.ListOtdels.Last;
SpeedButton15Click(Mainform);
end;
end;
end
else
ShowMessage('Администратор с такими данными уже существует!');
end
else
ShowMessage('Отдел '+Edit4.Text+ ' уже существует!');
end;
end;

procedure TMainform.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['A'..'я',#8]) then
key:=#0;
end;

procedure TMainform.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['0'..'9',#8]) then
key:=#0;
end;

procedure TMainform.SpeedButton17Click(Sender: TObject);
begin
TabSheet3.TabVisible:=false;
SpeedButton15Click(nil);
SpeedButton19Click(nil);
end;

procedure TMainform.Edit8KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['A'..'я','0'..'9',#8,' ']) then
key:=#0;
if (key=#8)and (Length(Edit8.Text)<=1) then
begin
SpeedButton18.Enabled:=false;
SpeedButton19.Enabled:=false;
BoldComboBox3.Enabled:=false;
end;
if (key in ['A'..'я','0'..'9']) then
begin
SpeedButton18.Enabled:=true;
SpeedButton19.Enabled:=true;
BoldComboBox3.Enabled:=true;
end;

end;

//Удаление группы
procedure TMainform.SpeedButton20Click(Sender: TObject);
var i,j:integer;
begin
i:= DataShop.ListOtdelGroups.CurrentIndex;
j:= DataShop.ListOtdels.CurrentIndex;
if (i<>-1)and(j<>-1) then
begin
TekGroup:=DataShop.ListOtdelGroups.ObjectList.Elements[i] as TGroup;
TekOtdel:=DataShop.ListOtdels.ObjectList.Elements[j] as TOtdel;
if (messagedlg('Подтвердите удаление группы "'+TekGroup.Gname+'" '+'из отдела "'+tekOtdel.Oname+'"!'+
#13+'Вместе с отделом будут удалены все товары данного отдела!',mtConfirmation,[mbYes,mbNo],0)=mrYes) then
TekGroup.Delete;
end;
end;

procedure TMainform.SpeedButton19Click(Sender: TObject);
begin
Edit8.Clear;
SpeedButton18.Enabled:=false;
SpeedButton19.Enabled:=false;
end;

//Создание новой группы
procedure TMainform.SpeedButton18Click(Sender: TObject);
var NewGroup, ExGropup: TGroup;
i: integer;
Bgroupexsist: Boolean;
begin
Bgroupexsist:=false;
TekOtdel:=DataShop.ListOtdels.ObjectList.Elements[DataShop.ListOtdels.CurrentIndex] as TOtdel;
for i:=0 to DataShop.ListGroups.Count-1 do
begin
ExGropup:=DataShop.ListGroups.ObjectList.Elements[i] as TGroup;
if Edit8.Text=ExGropup.Gname then
Bgroupexsist:=true;
end;
if not(Bgroupexsist) then
begin
if (messagedlg('Подтвердите добавление группы "'+Edit8.Text+'" в отдел '+TekOtdel.Oname,mtConfirmation,[mbYes,mbNo],0)=mrYes) then
begin
NewGroup:=TGroup.Create(nil);
NewGroup.Gname:=Edit8.Text;
NewGroup.Prinadlezhit:=TekOtdel;
NewGroup.Zakupaetsya:=DataShop.ListBases.ObjectList.Elements[DataShop.ListBases.CurrentIndex] as TBase;
Edit8.Clear;
SpeedButton18.Enabled:=false;
SpeedButton19.Enabled:=false;
end;
end
else
begin
ShowMessage('Группа с таким названием уже существует!'+#13+
'Введите другое название группы!');
Edit8.Clear;
end;
end;

procedure TMainform.TabSheet3Hide(Sender: TObject);
begin
SpeedButton15Click(Mainform);
Edit8.Clear;
end;

procedure TMainform.SpeedButton21Click(Sender: TObject);
begin
SpeedButton21.Enabled:=false;
SpeedButton22.Enabled:=true;
SpeedButton23.Enabled:=true;
SpeedButton20.Enabled:=false;
BoldEdit8.Enabled:=true;
end;

procedure TMainform.SpeedButton22Click(Sender: TObject);
begin
if (messagedlg('Подтвердите сохранение изменений!',mtConfirmation,[mbYes,mbNo],0)=mrYes) then
TBoldQueueable.ApplyAll;
SpeedButton23Click(Mainform);
end;

procedure TMainform.SpeedButton23Click(Sender: TObject);
begin
SpeedButton23.Enabled:=false;
SpeedButton22.Enabled:=false;
SpeedButton20.Enabled:=true;
SpeedButton21.Enabled:=true;
BoldEdit8.Enabled:=false;
end;

procedure TMainform.SpeedButton26Click(Sender: TObject);
begin
BoldEdit9.Enabled:=true;
BoldMemo1.Enabled:=true;
SpeedButton24.Enabled:=false;
SpeedButton25.Enabled:=false;
SpeedButton26.Enabled:=false;
SpeedButton27.Enabled:=true;
SpeedButton28.Enabled:=true;

end;

procedure TMainform.SpeedButton28Click(Sender: TObject);
begin
BoldEdit9.Enabled:=false;
BoldMemo1.Enabled:=false;
SpeedButton24.Enabled:=true;
SpeedButton25.Enabled:=true;
SpeedButton26.Enabled:=true;
SpeedButton27.Enabled:=false;
SpeedButton28.Enabled:=false;
end;

procedure TMainform.SpeedButton27Click(Sender: TObject);
begin
if (messagedlg('Подтвердите сохранение изменений!',mtConfirmation,[mbYes,mbNo],0)=mrYes) then
TBoldQueueable.ApplyAll;
SpeedButton28Click(Mainform);
end;

procedure TMainform.SpeedButton24Click(Sender: TObject);
begin
AddBase.Showmodal;
end;

//Удаление товарной базы
procedure TMainform.SpeedButton25Click(Sender: TObject);
var i: integer;
begin
i:=DataShop.ListBases.CurrentIndex;
if i<>-1 then
begin
TekBase:=DataShop.ListBases.ObjectList.Elements[i] as TBase;
if (messagedlg('Подтвердите удаление товарной базы "'+TekBase.Bname+'"'+
#13+'Вместе с базой будут удалены все товары, хранящиеся на ней!',mtConfirmation,[mbYes,mbNo],0)=mrYes) then
TekBase.Delete;
end;
end;

procedure TMainform.N11Click(Sender: TObject);
begin
TabSheet1.TabVisible:=true;
PageControl1.ActivePage:=TabSheet1;
end;

//Добавление нового товара
procedure TMainform.SpeedButton29Click(Sender: TObject);
var i, j: integer;
flag: Boolean;
ExTov, NewTov: TTov_base;
Price: real;
begin
if (Edit9.Text<>'')and(Edit10.Text<>'') then
begin

i:=DataShop.ListBases.CurrentIndex;
j:=DataShop.ListBaseGroup.CurrentIndex;
TekBase:=DataShop.ListBases.ObjectList.Elements[i] as TBase;
TekGroup:=DataShop.ListBaseGroup.ObjectList.Elements[j] as TGroup;
flag:=false;
if not(FindTovarBase(Edit9.Text)) then
begin
if (messagedlg('Подтвердите добавление товара "'+Edit9.Text+'" в группу "'+TekGroup.Gname+'" '+
'базы "'+TekBase.Bname+'"',mtConfirmation,[mbYes,mbNo],0)=mrYes) then
begin
try
Price:=StrToFloat(Edit10.Text);
Except
flag:=true;
ShowMessage('Неверно указана цена!'+#13+'Проверьте правильность ввода!');
Edit10.Clear;
end;
if not flag then
begin
NewTovar(Edit9.Text, Price, SpinEdit1.Value, SpinEdit2.Value,
false, 0, TekBase, TekGroup, NewTov);
SpeedButton30Click(nil);
end;
end;
end
else
begin
ShowMessage('Данный товар уже существует!'+#13+
'Введите другое название товара!');
Edit8.Clear;
end;
end
else
ShowMessage('Введены не все данные!');
end;

procedure TMainform.Edit10KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['0'..'9',#8,',']) then
key:=#0;
end;

procedure TMainform.SpeedButton30Click(Sender: TObject);
begin
Edit9.Clear;
Edit10.Clear;
SpinEdit1.Value:=0;
SpinEdit2.Value:=1;
SpeedButton29.Enabled:=false;
SpeedButton30.Enabled:=false;
SpeedButton31.Enabled:=true;
SpeedButton32.Enabled:=true;
end;

procedure TMainform.Edit9KeyPress(Sender: TObject; var Key: Char);
begin
if (key=#8)and (Length(Edit9.Text)<=1) then
begin
SpeedButton29.Enabled:=false;
SpeedButton30.Enabled:=false;
SpeedButton31.Enabled:=true;
SpeedButton32.Enabled:=true;
end
else
begin
SpeedButton29.Enabled:=true;
SpeedButton30.Enabled:=true;
SpeedButton31.Enabled:=false;
SpeedButton32.Enabled:=false;
end
end;

//Удаление товара
procedure TMainform.SpeedButton31Click(Sender: TObject);
var i: integer;
begin
i:=DataShop.ListBaseGroupTovar.CurrentIndex;
if i<>-1 then
begin
TekBTov:=DataShop.ListBaseGroupTovar.ObjectList.Elements[i] as TTov_base;
if (messagedlg('Подтвердите удаление товара "'+TekBTov.Tname+'"',mtConfirmation,[mbYes,mbNo],0)=mrYes) then
TekBTov.Delete;
end;
end;

procedure TMainform.SpeedButton32Click(Sender: TObject);
begin
EditTovBase.showmodal;
end;

procedure TMainform.N14Click(Sender: TObject);
begin
TabSheet6.TabVisible:=true;
PageControl1.ActivePage:=TabSheet6;
end;

//Пометка на заказ товара
procedure TMainform.BoldAsStringRenderer1SetColor(Element: TBoldElement;
var AColor: TColor; Representation: Integer; Expression: String);
var st: string;
begin
st:=Element.EvaluateExpressionAsString('zakazCount.asString',1);
if st<>'0' then AColor:=$77FFFF{clLime};
end;

//Заказ товара
procedure TMainform.BoldSortingGrid4DblClick(Sender: TObject);
begin
TekBTov:=DataShop.ListBaseGroupTovar.ObjectList.Elements[DataShop.ListBaseGroupTovar.CurrentIndex] as TTov_base;
if TekBTov.TBcount>0 then
if TekBTov.TBcount<>1 then
ZakazForm.ShowModal
else
begin
if (messagedlg('Заказать товар "'+TekBTov.Tname+'"'+#13+
'в количестве 1 единицы?',mtConfirmation,[mbYes,mbNo],0)=mrYes) then
begin
TekBTov.ZakazCount:=1;
SpeedButton35.Enabled:=true;
FlagZakaz:=true;
BoldSortingGrid4.Repaint;
end;
end
else
MessageDlg('Невозможно заказать товар с нулевым остатком!',mtError,[mbOK],0);
end;

//Отмена заказа
procedure TMainform.SpeedButton34Click(Sender: TObject);
begin
if MessageDlg('Отменить заказ товара?',mtInformation,[mbYes, mbNo],0)=mrYes then
OtmenaZakaza;
end;

procedure TMainform.SpeedButton34MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Отменить заказ товара';
end;

procedure Tmainform.Clear_status;
begin
StatusBar1.Panels[0].Text:='';
end;

procedure TMainform.TabSheet7MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
Clear_status;
end;

procedure TMainform.SpeedButton36MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Пометить товар на заказ';
end;

procedure TMainform.SpeedButton35MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Заказать в магазин выбранный товар';
end;

//Заказ товара
procedure TMainform.SpeedButton35Click(Sender: TObject);
var i,j,n,step, t_index, zak, number,gr: integer;
NewMTovar: TTov_mag;
begin
n:=DataShop.ListBaseTovar.Count-1;
j:=0;
for i:=0 to n do
begin
TekBTov:=DataShop.ListBaseTovar.ObjectList.Elements[i] as TTov_base;
if TekBTov.ZakazCount>0 then
inc(j);
end;
step:=ProgressBar1.Max div j;
DataShop.ListZakupkaOtchet.Last;
i:=DataShop.ListZakupkaOtchet.CurrentIndex;
if i<>-1 then
begin
TekZTov:=DataShop.ListZakupkaOtchet.ObjectList.Elements[i] as TZakaz;
number:=TekZTov.Znumber;
end;
if i<>-1 then
zak:=number+1
else
zak:=1;
for i:=0 to n do
begin
TekBTov:=DataShop.ListBaseTovar.ObjectList.Elements[i] as TTov_base;
if TekBTov.ZakazCount>0 then
begin
NewZTov:=TZakaz.Create(nil);
NewZTov.Znumber:=zak;
NewZTov.Zdate:=Now;
NewZTov.Zname:=TekBTov.Tname;
NewZTov.Zprice:=TekBTov.Tprice;
NewZTov.Zcount:=TekBTov.ZakazCount;
TekGroup:=TekBTov.BPrinadlezhit;
if FindTovarShop(NewZTov.Zname,TekGroup.gname,t_index) then
begin
TekMTov:=DataShop.ListTovar.ObjectList.Elements[t_index] as TTov_mag;
TekMTov.TMcount:=TekMTov.TMcount+NewZTov.Zcount;
end
else
begin
NewMagTovar(TekBTov.Tname,TekBTov.Tprice,TekBTov.Tgarant,TekBTov.ZakazCount,TekBTov.BPrinadlezhit,NewMTovar);
end;
TekBTov.TBcount:=TekBTov.TBcount-TekBTov.ZakazCount;
TekBTov.ZakazCount:=0;
BoldSortingGrid4.Repaint;
if i<>j then
ProgressBar1.Position:=ProgressBar1.Position+step
else
ProgressBar1.Position:=ProgressBar1.Max;
end;
end;
if ProgressBar1.Position=ProgressBar1.Max then
begin
MessageDlg('Заказ товара успешно завершен!',mtInformation,[mbOK],0);
if MessageDlg('Создать накладную заказа?',mtInformation,[mbYes, mbNo],0)=mrYes then
if SaveWord.Execute then
begin
DataShop.BoldSystemHandleShop.UpdateDatabase;
DataShop.BoldSystemHandleShop.Active:=false;
DataShop.BoldPersistenceHandleFileXMLShop.FileName:=DirApplication;
DataShop.BoldSystemHandleShop.Active:=true;
if not FileExists(SaveWord.FileName) then
begin
NakladnayaZakaz(SaveWord.FileName,zak);
end
else
MessageDlg('Файл с таким именем уже существует!'+#13+'Введите другое имя файла!',mtError,[mbOK],0);
end;
end
else
MessageDlg('При заказе товара произошла ошибка!',mtError,[mbOK],0);
ProgressBar1.Position:=ProgressBar1.Min;
SpeedButton35.Enabled:=false;
FlagZakaz:=false;
end;

procedure TMainform.SpeedButton37MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Найти товар';
end;

procedure TMainform.SpeedButton37Click(Sender: TObject);
var p: integer;
begin
if Edit11.Text<>'' then
if PoiskTovarBase(Edit11.Text,False,p) then
DataShop.ListBaseGroupTovar.CurrentIndex:=p
else
if (MessageDlg('Просмотр данных завершен! Повторить поиск сначала?',mtInformation,[mbYes,mbNo],0)=mrYes) then
if PoiskTovarBase(Edit11.Text,true,p) then
DataShop.ListBaseGroupTovar.CurrentIndex:=p;
end;

procedure TMainform.SpeedButton38MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Закрыть окно';
end;

procedure TMainform.SpeedButton38Click(Sender: TObject);
begin
if SpeedButton35.Enabled then
begin
if (MessageDlg('Заказанный товар не проведен. Если закрыть окно, заказ пропадет'+#13+
'Хотите закрыть окно?',mtInformation,[mbYes,mbNo],0)=mrYes) then
begin
SpeedButton34Click(nil);
Edit11.Clear;
SpeedButton35.Enabled:=false;
SpeedButton34.Enabled:=true;
SpeedButton36.Enabled:=true;
TabSheet7.TabVisible:=False;
CheckBox3.Checked:=false;
DataShop.ListBaseGroupTovar.Expression:='bHranit';
end;
end
else
begin
Edit11.Clear;
SpeedButton35.Enabled:=false;
SpeedButton34.Enabled:=true;
SpeedButton36.Enabled:=true;
TabSheet7.TabVisible:=False;
CheckBox3.Checked:=false;
DataShop.ListBaseGroupTovar.Expression:='bHranit';
end;
end;

procedure TMainform.FormCreate(Sender: TObject);
begin
FlagZakaz:=false;
end;

procedure TMainform.SpeedButton39Click(Sender: TObject);
var p: integer;
begin
if Edit12.Text<>'' then
if PoiskTovarShop(Edit12.Text,False,p) then
DataShop.ListTovar.CurrentIndex:=p
else
if (MessageDlg('Просмотр данных завершен! Повторить поиск сначала?',mtInformation,[mbYes,mbNo],0)=mrYes) then
if PoiskTovarShop(Edit12.Text,true,p) then
DataShop.ListTovar.CurrentIndex:=p;
end;

procedure TMainform.SpeedButton40Click(Sender: TObject);
var p: integer;
begin
if Edit13.Text<>'' then
if PoiskTovarShopGroup(Edit13.Text,False,p) then
DataShop.ListOtdelsGroupTovar.CurrentIndex:=p
else
if (MessageDlg('Просмотр данных завершен! Повторить поиск сначала?',mtInformation,[mbYes,mbNo],0)=mrYes) then
if PoiskTovarShopGroup(Edit13.Text,true,p) then
DataShop.ListOtdelsGroupTovar.CurrentIndex:=p;
end;

procedure TMainform.SpeedButton16MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Закрыть окно';
end;

procedure TMainform.SpeedButton41Click(Sender: TObject);
var s: string;
flag: boolean;
begin
flag:=true;
S:='';
TekMTov:=DataShop.ListOtdelsGroupTovar.ObjectList.Elements[DataShop.ListOtdelsGroupTovar.CurrentIndex] as TTov_mag;
if MessageDlg('Продать товар "'+TekMTov.Tname+'"',mtInformation,[mbYes, mbNo],0)=mrYes then
while flag do
begin
s:=InputBox('Продажа товара','Укажите количество продаваемого товара "'+
TekMTov.Tname+'" с ценой реализации:'+floattostr(TekMTov.TMprice)+
#13+'Количество товара в магазине: '+inttostr(TekMTov.TMcount)+' (ед.)','0');
if s<>'' then
begin
try
Kol:=StrToInt(s);
except
ShowMessage('Неверно указано количество продаваемого товара!'+#13+'Повторите ввод количества товара!');
end;
if ((kol>0)and(kol<=TekMTov.TMcount))or(kol=0) then
flag:=false
else
ShowMessage('Количество товара должно быть больше нуля, но не больше общего количества!'+#13+
'Повторите ввод цены реализации');
end
else
ShowMessage('Укажите количество продаваемого товара (ед.)!');
end; // while
if kol<>0 then
begin
TekMTov.Prodcount:=TekMTov.Prodcount+kol;
BoldSortingGrid1.Repaint;
SpeedButton45.Enabled:=true;
end;
end;

procedure TMainform.SpeedButton42Click(Sender: TObject);
var flag: boolean;
s: String;
pricereal: real;
begin
flag:=true;
S:='';
TekMTov:=DataShop.ListOtdelsGroupTovar.ObjectList.Elements[DataShop.ListOtdelsGroupTovar.CurrentIndex] as TTov_mag;
if MessageDlg('Редактировать цену реализации товара "'+TekMTov.Tname+'"',mtInformation,[mbYes, mbNo],0)=mrYes then
begin
while flag do
begin
s:=InputBox('Редактирование цены реализации','Укажите цену реализации (руб. за ед.) товара "'+
TekMTov.Tname+'" с закупочной ценой:'+floattostr(TekMTov.Tprice),floattostr(TekMTov.Tprice));
if s<>'' then
begin
try
pricereal:=StrToFloat(s);
except
ShowMessage('Неверно указана цена реализации товара!'+#13+'Повторите ввод цены!');
end;
if (pricereal>=TekMTov.Tprice)or(pricereal=0) then
flag:=false
else
ShowMessage('Цена реализации товара должна быть выше закупочной!'+#13+
'Повторите ввод цены реализации');
end
else
ShowMessage('Укажите цену реализации товара (руб. за ед.)!');
end; // while
if pricereal<>0 then
TekMTov.TMprice:=pricereal;
end;
end;

procedure TMainform.SpeedButton42MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton42.Hint;
end;

procedure TMainform.SpeedButton41MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton41.Hint;
end;

procedure TMainform.RenderProdazhaSetColor(Element: TBoldElement;
var AColor: TColor; Representation: Integer; Expression: String);

var st: string;
begin
st:=Element.EvaluateExpressionAsString('prodcount.asString',1);
if st<>'0' then AColor:=$77FFFF{clLime};

end;

procedure TMainform.SpeedButton44MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton44.Hint;
end;

procedure TMainform.SpeedButton44Click(Sender: TObject);
begin
if MessageDlg('Отменить продажу товара?',mtInformation,[mbYes, mbNo],0)=mrYes then
OtmenaProdazhi;
end;

procedure TMainform.SpeedButton45MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton45.Hint;
end;

//Провод продажи
procedure TMainform.SpeedButton45Click(Sender: TObject);
var i, j, n, step, prod, number: integer;
begin
if MessageDlg('Провести продажу помеченного товара?',mtInformation,[mbYes, mbNo],0)=mrYes then
begin
n:=DataShop.ListTovar.Count-1;
j:=0;
for i:=0 to n do
begin
TekMTov:=DataShop.ListTovar.ObjectList.Elements[i] as TTov_mag;
if TekMTov.Prodcount>0 then
inc(j);
end;
step:=ProgressBar2.Max div j;
DataShop.ListProdazhaOtchet.Last;
i:=DataShop.ListProdazhaOtchet.CurrentIndex;
if i<>-1 then
begin
ProdTov:=DataShop.ListProdazhaOtchet.ObjectList.Elements[i] as TProdazha;
number:=ProdTov.Pnumber;
end;
if i<>-1 then
prod:=number+1
else
prod:=1;
for i:=0 to n do
begin
TekMTov:=DataShop.ListTovar.ObjectList.Elements[i] as TTov_mag;
if TekMTov.Prodcount>0 then
begin
NewProdazha(prod, TekMTov.Tname, TekMTov.Prodcount, TekMTov.Tprice, TekMTov.TMprice, ProdTov);
TekMTov.TMcount:=TekMTov.TMcount-kol;
TekMTov.Prodcount:=0;
BoldSortingGrid1.Repaint;
if i<>j then
ProgressBar2.Position:=ProgressBar2.Position+step
else
ProgressBar2.Position:=ProgressBar2.Max;
end;
end;
if MessageDlg('Создать накладную продажи?',mtInformation,[mbYes, mbNo],0)=mrYes then
if SaveWord.Execute then
begin
DataShop.BoldSystemHandleShop.UpdateDatabase;
DataShop.BoldSystemHandleShop.Active:=false;
DataShop.BoldPersistenceHandleFileXMLShop.FileName:=DirApplication;
DataShop.BoldSystemHandleShop.Active:=true;
if not FileExists(SaveWord.FileName) then
begin
NakladnayaProdazha(SaveWord.FileName,prod);
end
else
MessageDlg('Файл с таким именем уже существует!'+#13+'Введите другое имя файла!',mtError,[mbOK],0);
end;
if ProgressBar2.Position=ProgressBar2.Max then
MessageDlg('Продажа товара прошла успешно!',mtInformation,[mbOK],0);
ProgressBar2.Position:=ProgressBar2.Min;
SpeedButton45.Enabled:=false;
Kol:=0;
end;
end;

procedure TMainform.SpeedButton16Click(Sender: TObject);
begin
if SpeedButton45.Enabled then
begin
if (MessageDlg('Проданный товар не проведен. Если закрыть окно, продажа пропадет'+#13+
'Хотите закрыть окно?',mtInformation,[mbYes,mbNo],0)=mrYes) then
begin
OtmenaProdazhi;
SpeedButton45.Enabled:=false;
TabSheet1.TabVisible:=False;
CheckBox2.Checked:=false;
DataShop.ListOtdelsGroupTovar.Expression:='soderzhit->select(tMcount<>0)';
end;
end
else
TabSheet1.TabVisible:=False;
CheckBox2.Checked:=false;
DataShop.ListOtdelsGroupTovar.Expression:='soderzhit->select(tMcount<>0)';
end;

procedure TMainform.SpeedButton46Click(Sender: TObject);
begin
if DateTimePicker1.Date<=DateTimePicker2.Date then
rasschet(DateTimePicker1.Date, DateTimePicker2.Date)
else
begin
MessageDlg('Неверно указан диапазон дат!'+#13+'Попробуйте еще раз!',mtError,[mbOK],0);
Label55.Caption:='0';
Label56.Caption:='0';
Label57.Caption:='0';
end;
end;

procedure TMainform.SpeedButton46MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton46.Hint;
end;

procedure TMainform.GroupBox26MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='';
end;

procedure TMainform.SpeedButton47Click(Sender: TObject);
begin
TabSheet8.TabVisible:=false;
Label55.Caption:='0';
Label56.Caption:='0';
Label57.Caption:='0';
end;
procedure TMainform.TabSheet8MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='';
end;

procedure TMainform.SpeedButton49MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton49.Hint;
end;

procedure TMainform.SpeedButton48MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton48.Hint;
end;

procedure TMainform.SpeedButton48Click(Sender: TObject);
var p: integer;
begin
if Edit14.Text<>'' then
if PoiskTovarProd(Edit14.Text,False,p) then
DataShop.ListProdazha.CurrentIndex:=p
else
if (MessageDlg('Просмотр данных завершен! Повторить поиск сначала?',mtInformation,[mbYes,mbNo],0)=mrYes) then
if PoiskTovarProd(Edit14.Text,true,p) then
DataShop.ListProdazha.CurrentIndex:=p;
end;

//Фильтрация по дате
procedure TMainform.SpeedButton49Click(Sender: TObject);
var bdate,edate: TDate;
BYear, BMonth, BDay, EYear, EMonth, EDay: Word;
Bs, Es, BMs, EMs, BDs, EDs: string;
begin
bdate:=trunc(DateTimePicker3.Date);
edate:=trunc(DateTimePicker4.Date);
DecodeDate(bdate,BYear, BMonth, BDay);
DecodeDate(edate,EYear, EMonth, EDay);
if BMonth in [1..9] then
BMs:='0'+inttostr(BMonth)
else
BMs:=inttostr(BMonth);

if EMonth in [1..9] then
EMs:='0'+inttostr(EMonth)
else
EMs:=inttostr(EMonth);

if BDay in [1..9] then
BDs:='0'+inttostr(BDay)
else
BDs:=inttostr(BDay);

if EDay in [1..9] then
EDs:='0'+inttostr(EDay)
else
EDs:=inttostr(EDay);
Bs:='#'+inttostr(BYear)+'-'+BMs+'-'+BDs;
Es:='#'+inttostr(EYear)+'-'+EMs+'-'+EDs;
if bdate<=edate then
DataShop.ListProdazha.Expression:='Prodazha.allInstances->select((pdate>='+Bs+') and (pdate<='+Es+'))';
end;

procedure TMainform.SpeedButton50Click(Sender: TObject);
var p: integer;
begin
if Edit15.Text<>'' then
if PoiskTovarZakaz(Edit15.Text,False,p) then
DataShop.ListZakupka.CurrentIndex:=p
else
if (MessageDlg('Просмотр данных завершен! Повторить поиск сначала?',mtInformation,[mbYes,mbNo],0)=mrYes) then
if PoiskTovarZakaz(Edit15.Text,true,p) then
DataShop.ListZakupka.CurrentIndex:=p;
end;

procedure TMainform.SpeedButton51Click(Sender: TObject);
var bdate,edate: TDate;
BYear, BMonth, BDay, EYear, EMonth, EDay: Word;
Bs, Es, BMs, EMs, BDs, EDs: string;
begin
bdate:=trunc(DateTimePicker5.Date);
edate:=trunc(DateTimePicker6.Date);
DecodeDate(bdate,BYear, BMonth, BDay);
DecodeDate(edate,EYear, EMonth, EDay);
if BMonth in [1..9] then
BMs:='0'+inttostr(BMonth)
else
BMs:=inttostr(BMonth);

if EMonth in [1..9] then
EMs:='0'+inttostr(EMonth)
else
EMs:=inttostr(EMonth);

if BDay in [1..9] then
BDs:='0'+inttostr(BDay)
else
BDs:=inttostr(BDay);

if EDay in [1..9] then
EDs:='0'+inttostr(EDay)
else
EDs:=inttostr(EDay);
Bs:='#'+inttostr(BYear)+'-'+BMs+'-'+BDs;
Es:='#'+inttostr(EYear)+'-'+EMs+'-'+EDs;
if bdate<=edate then
DataShop.ListZakupka.Expression:='Zakaz.allInstances->select((zdate>='+Bs+') and (zdate<='+Es+'))';
end;

procedure TMainform.N7Click(Sender: TObject);
begin
my.ShowModal;
end;

procedure TMainform.SpeedButton52Click(Sender: TObject);
begin
Edit14.Clear;
TabSheet9.TabVisible:=false;
end;

procedure TMainform.SpeedButton53Click(Sender: TObject);
begin
Edit15.Clear;
TabSheet10.TabVisible:=false;
end;

procedure TMainform.SpeedButton54Click(Sender: TObject);
begin
Edit12.Clear;
CheckBox1.Checked:=false;
DataShop.ListTovar.Expression:='Tov_mag.allInstances->select(tMcount<>0)';
TabSheet4.TabVisible:=false;
end;

procedure TMainform.SpeedButton55Click(Sender: TObject);
begin
SpeedButton28Click(nil);
TabSheet5.TabVisible:=false;
end;

procedure TMainform.SpeedButton33Click(Sender: TObject);
begin
SpeedButton30Click(nil);
TabSheet6.TabVisible:=false;
end;

procedure TMainform.SpeedButton29MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton29.Hint;
end;

procedure TMainform.SpeedButton30MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton30.Hint;
end;

procedure TMainform.SpeedButton32MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton32.Hint;
end;

procedure TMainform.SpeedButton31MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton31.Hint;
end;

procedure TMainform.SpeedButton43MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton43.Hint;
end;

procedure TMainform.SpeedButton8MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton8.Hint;
end;

procedure TMainform.SpeedButton9MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton9.Hint;
end;

procedure TMainform.SpeedButton10MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton10.Hint;
end;

procedure TMainform.SpeedButton11MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton11.Hint;
end;

procedure TMainform.SpeedButton12MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton12.Hint;
end;

procedure TMainform.SpeedButton13MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton13.Hint;
end;

procedure TMainform.SpeedButton3MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton3.Hint;
end;

procedure TMainform.SpeedButton4MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton4.Hint;
end;

procedure TMainform.SpeedButton5MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton5.Hint;
end;

procedure TMainform.SpeedButton6MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton6.Hint;
end;

procedure TMainform.SpeedButton7MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton7.Hint;
end;

procedure TMainform.SpeedButton14MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton14.Hint;
end;

procedure TMainform.SpeedButton15MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton15.Hint;
end;

procedure TMainform.SpeedButton21MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton21.Hint;
end;

procedure TMainform.SpeedButton22MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton22.Hint;
end;

procedure TMainform.SpeedButton23MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton23.Hint;
end;

procedure TMainform.SpeedButton20MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton20.Hint;
end;

procedure TMainform.SpeedButton18MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton18.Hint;
end;

procedure TMainform.SpeedButton19MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=SpeedButton19.Hint;
end;

procedure TMainform.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
DataShop.ListTovar.Expression:='Tov_mag.allInstances'
else
DataShop.ListTovar.Expression:='Tov_mag.allInstances->select(tMcount<>0)';
end;

procedure TMainform.CheckBox1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
StatusBar1.Panels[0].Text:=CheckBox1.Hint;
end;

procedure TMainform.CheckBox2Click(Sender: TObject);
begin
if CheckBox2.Checked then
DataShop.ListOtdelsGroupTovar.Expression:='soderzhit'
else
DataShop.ListOtdelsGroupTovar.Expression:='soderzhit->select(tMcount<>0)';
end;

procedure TMainform.CheckBox3Click(Sender: TObject);
begin
if CheckBox3.Checked then
DataShop.ListBaseGroupTovar.Expression:='bHranit'
else
DataShop.ListBaseGroupTovar.Expression:='bHranit->select(tBcount<>0)';
end;

procedure TMainform.N12Click(Sender: TObject);
begin
TabSheet4.TabVisible:=true;
PageControl1.ActivePage:=TabSheet4;
end;

procedure TMainform.N15Click(Sender: TObject);
begin
TabSheet5.TabVisible:=true;
PageControl1.ActivePage:=TabSheet5;
end;

procedure TMainform.N19Click(Sender: TObject);
begin
TabSheet7.TabVisible:=true;
PageControl1.ActivePage:=TabSheet7;
end;

procedure TMainform.N18Click(Sender: TObject);
begin
TabSheet8.TabVisible:=true;
PageControl1.ActivePage:=TabSheet8;
end;

procedure TMainform.N20Click(Sender: TObject);
begin
TabSheet9.TabVisible:=true;
PageControl1.ActivePage:=TabSheet9;
end;

procedure TMainform.N21Click(Sender: TObject);
begin
TabSheet10.TabVisible:=true;
PageControl1.ActivePage:=TabSheet10;
end;

procedure TMainform.ToolButton1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Просмотр основных сведений о магазине';
end;

procedure TMainform.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
StatusBar1.Panels[0].Text:='';
end;

procedure TMainform.ToolButton3MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Просмотр статистических данных по магазину';
end;

procedure TMainform.ToolButton4MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Добавление в магазин нового отдела или группы в одел';
end;

procedure TMainform.ToolButton5MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Добавить новую закупочную базу';
end;

procedure TMainform.ToolButton6MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Выполнение различных оперций с товаром (продажа, редактирование...)';
end;

procedure TMainform.ToolButton7MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Посмотреть все остатки товара магазина';
end;

procedure TMainform.ToolButton8MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Добавление товара в закупочные базы';
end;

procedure TMainform.ToolButton9MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Заказ товара в магазин';
end;

procedure TMainform.ToolButton11MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Просмотр всех продаж магазина';
end;

procedure TMainform.ToolButton12MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Просмотр всех закупок магазина';
end;

procedure TMainform.ToolButton14MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Руководство пользователя';
end;

procedure TMainform.SpeedButton43Click(Sender: TObject);
begin
if SaveExcel.Execute then
begin
DataShop.BoldSystemHandleShop.UpdateDatabase;
DataShop.BoldSystemHandleShop.Active:=false;
DataShop.BoldPersistenceHandleFileXMLShop.FileName:=DirApplication;
DataShop.BoldSystemHandleShop.Active:=true;
if not(FileExists(SaveExcel.FileName)) then
ExportOstatki(SaveExcel.FileName)
else
MessageDlg('Файл с таким именем уже существует!'+#13+'Введите другое имя файла!',mtError,[mbOK],0);
end;
end;

procedure TMainform.N24Click(Sender: TObject);
begin
if SaveExcel.Execute then
begin
DataShop.BoldSystemHandleShop.UpdateDatabase;
DataShop.BoldSystemHandleShop.Active:=false;
DataShop.BoldPersistenceHandleFileXMLShop.FileName:=DirApplication;
DataShop.BoldSystemHandleShop.Active:=true;
if not(FileExists(SaveExcel.FileName)) then
ExportOstatkiBase(SaveExcel.FileName)
else
MessageDlg('Файл с таким именем уже существует!'+#13+'Введите другое имя файла!',mtError,[mbOK],0);
end;
end;

procedure TMainform.BitBtn1Click(Sender: TObject);
begin
NakladnayaProdazha('primer.doc',9);
end;

procedure TMainform.VremyaTimer(Sender: TObject);
begin
StatusBar1.Panels[1].Text:='Сегодня: '+DateTimeToStr(now);
end;

procedure TMainform.ToolBar1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='';
end;

procedure TMainform.Timer1Timer(Sender: TObject);
begin
if Mainform.AlphaBlendValue>250 then
begin
Timer1.Enabled:=false;
MainForm.AlphaBlend:=false;
end
else
Mainform.AlphaBlendValue:=Mainform.AlphaBlendValue+5
end;

procedure TMainform.ToolButton15MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Экспорт остатков товара в магазине в Excel';
end;

procedure TMainform.ToolButton16MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar1.Panels[0].Text:='Экспорт остатков товара на базах в Excel';
end;

procedure TMainform.CheckBox4Click(Sender: TObject);
begin
if CheckBox4.Checked then
DataShop.ListBaseGroupTovar.Expression:='bHranit'
else
DataShop.ListBaseGroupTovar.Expression:='bHranit->select(tBcount<>0)';
end;

procedure TMainform.ToolButton14Click(Sender: TObject);
begin
Application.HelpCommand(HelpContext,1);
end;

procedure TMainform.N6Click(Sender: TObject);
begin
Application.HelpCommand(HelpContext,1);
end;

procedure TMainform.N25Click(Sender: TObject);
begin
TabSheet11.TabVisible:=True;
PageControl1.ActivePage:=TabSheet11;
end;

procedure TMainform.SpeedButton56Click(Sender: TObject);
begin
SpeedButton13Click(nil);
TabSheet11.TabVisible:=false;
end;

end.

Соседние файлы в папке Магазин бытовой техники
  • #
    12.06.201541.42 Кб14EditTovarBase.dfm
  • #
    12.06.20152.54 Кб14EditTovarBase.pas
  • #
    12.06.201593.65 Кб14Main.dcu
  • #
    12.06.201551 б14Main.ddp
  • #
    12.06.20153.04 Mб14Main.dfm
  • #
    12.06.201584.9 Кб14Main.pas
  • #
    12.06.20156.51 Кб15NewBase.dcu
  • #
    12.06.201551 б14NewBase.ddp
  • #
    12.06.201560.7 Кб14NewBase.dfm
  • #
    12.06.20152.5 Кб14NewBase.pas
  • #
    12.06.20157 б14password.psw