unit MainSklad;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzStatus, ExtCtrls, RzPanel, RzButton, ComCtrls, RzTreeVw,
RzPrgres, StdCtrls, Mask, RzEdit, RzDBEdit, Grids, DBGrids, RzLabel,
RzTabs, TFlatHintUnit, ImgList, RzGroupBar, RzCmboBx, RzRadChk, RzDBChk,
Menus, DBCtrls, RzDBNav;
type
TfmMainSklad = class(TForm)
RzGroupBar: TRzGroupBar;
RzGroupZayavki: TRzGroup;
RzGroupCreate: TRzGroup;
FlatHint: TFlatHint;
RzPageControl: TRzPageControl;
tsZayavka: TRzTabSheet;
tsZayavkiSnab: TRzTabSheet;
DBGridZayavki: TDBGrid;
tsTovars: TRzTabSheet;
RzLaProgress: TRzLabel;
RzProgressBar: TRzProgressBar;
RzTreeViewTovars: TRzTreeView;
RzBBRefresh: TRzBitBtn;
tsEmpty: TRzTabSheet;
ImageList1: TImageList;
RzCBOtdelNumber: TRzComboBox;
RzLabel13: TRzLabel;
RzBBAddGroup: TRzBitBtn;
RzBBAddTovar: TRzBitBtn;
RzEdFindTovar: TRzEdit;
RzBitBtnFind: TRzBitBtn;
RzLabel16: TRzLabel;
RzLabel17: TRzLabel;
RzLabel18: TRzLabel;
RzEdPrice: TRzEdit;
RzLabel14: TRzLabel;
RzEdCountTovar: TRzEdit;
RzEdCountry: TRzEdit;
RzEdEdIzm: TRzEdit;
RzStatusBar1: TRzStatusBar;
RzClockStatus: TRzClockStatus;
RzStatusDB: TRzStatusPane;
RzLaInfo: TRzLabel;
RzGroup3: TRzGroup;
RzBBDeleteTovar: TRzBitBtn;
RzPanel1: TRzPanel;
RzLabel1: TRzLabel;
RzDBEdit1: TRzDBEdit;
RzDBCheckBox1: TRzDBCheckBox;
RzLabel7: TRzLabel;
RzDBEdit7: TRzDBEdit;
RzDBCheckBox7: TRzDBCheckBox;
RzDBCheckBox8: TRzDBCheckBox;
RzDBEdit8: TRzDBEdit;
RzLabel8: TRzLabel;
RzDBCheckBox2: TRzDBCheckBox;
RzDBEdit2: TRzDBEdit;
RzLabel2: TRzLabel;
RzLabel3: TRzLabel;
RzDBEdit3: TRzDBEdit;
RzDBCheckBox3: TRzDBCheckBox;
RzLabel9: TRzLabel;
RzDBEdit9: TRzDBEdit;
RzDBCheckBox9: TRzDBCheckBox;
RzDBCheckBox10: TRzDBCheckBox;
RzDBEdit10: TRzDBEdit;
RzLabel10: TRzLabel;
RzDBCheckBox4: TRzDBCheckBox;
RzDBEdit4: TRzDBEdit;
RzLabel4: TRzLabel;
RzLabel5: TRzLabel;
RzDBEdit5: TRzDBEdit;
RzDBCheckBox5: TRzDBCheckBox;
RzLabel11: TRzLabel;
RzDBEdit11: TRzDBEdit;
RzDBCheckBox11: TRzDBCheckBox;
RzDBCheckBox12: TRzDBCheckBox;
RzDBEdit12: TRzDBEdit;
RzLabel12: TRzLabel;
RzDBCheckBox6: TRzDBCheckBox;
RzDBEdit6: TRzDBEdit;
RzLabel6: TRzLabel;
RzBBExpand: TRzBitBtn;
RzBBCollapse: TRzBitBtn;
DBGridZayavkiSnab: TDBGrid;
RzPanel2: TRzPanel;
RzLabel15: TRzLabel;
RzLabel19: TRzLabel;
RzLabel20: TRzLabel;
RzLabel21: TRzLabel;
RzLabel22: TRzLabel;
RzLabel23: TRzLabel;
RzLabel24: TRzLabel;
RzLabel25: TRzLabel;
RzLabel26: TRzLabel;
RzLabel27: TRzLabel;
RzLabel28: TRzLabel;
RzLabel29: TRzLabel;
RzDBEdit13: TRzDBEdit;
RzDBCheckBox13: TRzDBCheckBox;
RzDBEdit14: TRzDBEdit;
RzDBCheckBox14: TRzDBCheckBox;
RzDBCheckBox15: TRzDBCheckBox;
RzDBEdit15: TRzDBEdit;
RzDBCheckBox16: TRzDBCheckBox;
RzDBEdit16: TRzDBEdit;
RzDBEdit17: TRzDBEdit;
RzDBCheckBox17: TRzDBCheckBox;
RzDBEdit18: TRzDBEdit;
RzDBCheckBox18: TRzDBCheckBox;
RzDBCheckBox19: TRzDBCheckBox;
RzDBEdit19: TRzDBEdit;
RzDBCheckBox20: TRzDBCheckBox;
RzDBEdit20: TRzDBEdit;
RzDBEdit21: TRzDBEdit;
RzDBCheckBox21: TRzDBCheckBox;
RzDBEdit22: TRzDBEdit;
RzDBCheckBox22: TRzDBCheckBox;
RzDBCheckBox23: TRzDBCheckBox;
RzDBEdit23: TRzDBEdit;
RzDBCheckBox24: TRzDBCheckBox;
RzDBEdit24: TRzDBEdit;
RzDBNavigator1: TRzDBNavigator;
RzDBNavigator2: TRzDBNavigator;
RzLabel30: TRzLabel;
RzEdSchet: TRzEdit;
RzLaBanner: TRzLabel;
PopupMenu: TPopupMenu;
N1: TMenuItem;
RzMBPrint: TRzMenuButton;
RzLabel31: TRzLabel;
RzEdAllCount: TRzEdit;
N2: TMenuItem;
RzBBFindTovar: TRzBitBtn;
procedure RzGroupViewItems0Click(Sender: TObject);
procedure RzGroupViewItems1Click(Sender: TObject);
procedure RzBBRefreshClick(Sender: TObject);
procedure RzPageControlChange(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGridZayavkiDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
procedure RzGroup2Items1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure RzCBOtdelNumberChange(Sender: TObject);
procedure RzBBAddGroupClick(Sender: TObject);
procedure RzEdFindTovarChange(Sender: TObject);
procedure RzBBAddTovarClick(Sender: TObject);
procedure RzTreeViewTovarsClick(Sender: TObject);
procedure SetDefaultValueComponents;
procedure RzTreeViewTovarsDblClick(Sender: TObject);
procedure RzGroup3Items0Click(Sender: TObject);
procedure RzGroup3Items1Click(Sender: TObject);
procedure RzGroup3Items2Click(Sender: TObject);
procedure RzGroup3Items3Click(Sender: TObject);
procedure RzBBCollapseClick(Sender: TObject);
procedure RzBBExpandClick(Sender: TObject);
procedure RzGroup1Items1Click(Sender: TObject);
procedure RzGroup1Items0Click(Sender: TObject);
procedure RzGroupZayavkiItems1Click(Sender: TObject);
procedure DBGridZayavkiSnabDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
procedure RzGroupZayavkiItems2Click(Sender: TObject);
procedure RzGroupCreateItems1Click(Sender: TObject);
procedure RzGroup3Items4Click(Sender: TObject);
procedure RzGroupCreateItems0Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure RzGroupCreateItems6Click(Sender: TObject);
procedure RzMBPrintClick(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure RzBBFindTovarClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmMainSklad: TfmMainSklad;
implementation
uses Store, SQLConst, KartochkaTovara, NewTovarGroup, NewTovar, DB, EdIzm,
Otdels, Sotrudniki, Country, TrebovanieOut, KnigaOut, ZayavkaSnab,
OrderIn, Postavshiki, KnigaIn, ReportInvent, ReportZayavkaF2;
{$R *.
procedure TfmMainSklad.RzGroupViewItems0Click(Sender: TObject);
begin
RzCBOtdelNumber.ClearSelection;
with dmStore do
begin
RzCBOtdelNumber.Text:='';
IBQZayavki.SQL.Clear;
IBQZayavki.SQL.Add(Get_List_Zayavka_With_TovarInfo);
IBQZayavki.SQL.Add('ORDER BY USERS.NAMEOTD, ZAYAVKAF1.DATEZAYAVKA');
IBQZayavki.Open;
RzPageControl.ActivePage:=tsZayavka;
DBGridZayavki.SetFocus;
end;
end;
procedure TfmMainSklad.RzGroupViewItems1Click(Sender: TObject);
var
ParentNode, ChildNode:TTreeNode;
i:integer;
ShowBanner:boolean;
begin
if not ListTovarLoaded then
with dmStore do
begin
ListTovarLoaded:=true;
ListDetailTovar.Clear;
RzPageControl.ActivePage:=tsTovars;
RzTreeViewTovars.Visible:=false;
RzBBRefresh.Visible:=false;
RzBBExpand.Visible:=false;
RzBBCollapse.Visible:=false;
RzLaProgress.Visible:=true;
RzProgressBar.Visible:=true;
Application.ProcessMessages;
RzTreeViewTovars.Items.Clear;
IBQTovar.SQL.Clear;
IBQTovar.SQL.Add('SELECT COUNT( TOVAR.IDTOVAR ) COUNT_OF_IDTOVAR FROM TOVAR');
IBQTovar.Open;
RzProgressBar.TotalParts:=IBQTovar.FieldByName('COUNT_OF_IDTOVAR').AsInteger;
RzProgressBar.PartsComplete:=0;
IBQGroupTovar.SQL.Clear;
IBQGroupTovar.SQL.Add(Get_List_GroupTovar);
IBQGroupTovar.SQL.Add('ORDER BY GROUPTOVAR.IDGROUP');
IBQGroupTovar.Open;
IBQGroupTovar.First;
while not IBQGroupTovar.Eof do
begin
IBQTovar.SQL.Clear;
IBQTovar.SQL.Add(Get_List_Tovar_small);
IBQTovar.SQL.Add('WHERE TOVAR.IDGROUP = '+IntToStr(IBQGroupTovar.FieldByName('IDGROUP').AsInteger));
IBQTovar.Open;
ParentNode:=RzTreeViewTovars.Items.Add(nil,Trim(IBQGroupTovar.FieldByName('NAMEGROUP').AsString));
ParentNode.StateIndex:=4;
IBQTovar.First;
while not IBQTovar.Eof do
begin
New(DetailTovarInfo);
DetailTovarInfo.ID:=IBQTovar.FieldByName('IDTOVAR').AsInteger;
DetailTovarInfo.NameTovar:=IBQTovar.FieldByName('NAMETOVAR').AsString;
DetailTovarInfo.Country:=Trim(IBQTovar.FieldByName('NAMECOUNTRY').AsString);
DetailTovarInfo.EdIzm:=Trim(IBQTovar.FieldByName('NAMEEDIZM').AsString);
DetailTovarInfo.Price:=IBQTovar.FieldByName('PRICE').AsFloat;
DetailTovarInfo.Ostatok:=IBQTovar.FieldByName('COUNTTOV').AsFloat;
DetailTovarInfo.Schet:=IBQTovar.FieldByName('SCHET').AsInteger;
DetailTovarInfo.ClientsAdd:=IBQTovar.FieldByName('CLIENTSADD').AsInteger;
ChildNode:=RzTreeViewTovars.Items.AddChild(ParentNode,Trim(IBQTovar.FieldByName('NAMETOVAR').AsString));
ChildNode.StateIndex:=5;
ChildNode.Data:=DetailTovarInfo;
ListDetailTovar.Add(DetailTovarInfo);
RzProgressBar.IncPartsByOne;
IBQTovar.Next;
end;
IBQGroupTovar.Next;
end;
ShowBanner:=false;
for i:=0 to ListDetailTovar.Count-1 do
if PDetailTovarInfo(ListDetailTovar.Items[i]).ClientsAdd=1 then ShowBanner:=true;
RzLaBanner.Visible:=ShowBanner;
RzBBFindTovar.Visible:=ShowBanner;
RzTreeViewTovars.Visible:=true;
RzBBRefresh.Visible:=true;
RzBBExpand.Visible:=true;
RzBBCollapse.Visible:=true;
RzLaProgress.Visible:=false;
RzProgressBar.Visible:=false;
end;
if RzPageControl.ActivePage<>tsTovars then RzPageControl.ActivePage:=tsTovars;
RzTreeViewTovars.SortType:=stNone;
RzTreeViewTovars.SortType:=stText;
RzTreeViewTovars.SetFocus;
end;
procedure TfmMainSklad.RzBBRefreshClick(Sender: TObject);
begin
ListTovarLoaded:=false;
RzGroupViewItems1Click(Sender);
SetDefaultValueComponents;
end;
procedure TfmMainSklad.RzPageControlChange(Sender: TObject);
begin
RzCBOtdelNumber.ClearSelection;
if RzPageControl.ActivePage=tsZayavka then RzGroupViewItems0Click(Sender);
if RzPageControl.ActivePage=tsTovars then RzGroupViewItems1Click(Sender);
if RzPageControl.ActivePage=tsZayavkiSnab then RzGroupZayavkiItems1Click(Sender);
end;
procedure TfmMainSklad.FormResize(Sender: TObject);
begin
DBGridZayavki.Columns.Items[3].Width:=fmMainSklad.Width-620;
DBGridZayavkiSnab.Columns.Items[2].Width:=fmMainSklad.Width-508;
end;
procedure TfmMainSklad.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if NameOtdela<>'' then
begin
if not dmStore.IBQUsers.Transaction.InTransaction then
dmStore.IBQUsers.Transaction.StartTransaction;
dmStore.IBQUsers.SQL.Clear;
dmStore.IBQUsers.SQL.Add('UPDATE USERS SET STATEOTDELA=0 WHERE NAMEOTD='+NameOtdela);
dmStore.IBQUsers.ExecSQL;
dmStore.IBQUsers.Active:=false;
dmStore.IBQUsers.Transaction.Commit;
end;
end;
procedure TfmMainSklad.DBGridZayavkiDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
Pos:TPoint;
i:integer;
Res:array [1..12] of boolean;
MayDraw:boolean;
begin
if (dmStore.IBQZayavki.FieldByName('COUNTTOV').AsFloat<dmStore.IBQZayavki.FieldByName('COUNTTOVAR').AsFloat) and not (gdSelected in State) then
begin
DBGridZayavki.Canvas.Brush.Color:=$00B5AEFF;
DBGridZayavki.Canvas.FillRect(Rect);
DBGridZayavki.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
if DataCol=0 then
begin
Pos.X:=Rect.Left+Trunc((Rect.Right-Rect.Left-DBGridZayavki.Canvas.TextWidth(IntToStr(dmStore.IBQZayavki.RecNo)))/2);
Pos.Y:=Rect.Top+Trunc((Rect.Bottom-Rect.Top-DBGridZayavki.Canvas.TextHeight(IntToStr(dmStore.IBQZayavki.RecNo)))/2);
if dmStore.IBQZayavki.RecordCount>0 then
DBGridZayavki.Canvas.TextOut(Pos.X,Pos.Y,IntToStr(dmStore.IBQZayavki.RecNo))
end;
if DataCol=6 then
begin
Pos.X:=Rect.Left+Trunc((Rect.Right-Rect.Left-16)/2);
Pos.Y:=Rect.Top+Trunc((Rect.Bottom-Rect.Top-16)/2);
for i:=1 to 12 do Res[i]:=false;
for i:=1 to 12 do
begin
if ((dmStore.IBQZayavki.FieldByName('M'+IntToStr(i)+'STATE').AsInteger=1)
and (dmStore.IBQZayavki.FieldByName('M'+IntToStr(i)).AsInteger<>0)) then Res[i]:=true;
if ((dmStore.IBQZayavki.FieldByName('M'+IntToStr(i)+'STATE').AsInteger=0)
and (dmStore.IBQZayavki.FieldByName('M'+IntToStr(i)).AsInteger=0)) then Res[i]:=true;
end;
MayDraw:=True;
for i:=1 to 12 do if Res[i]=false then MayDraw:=false;
if MayDraw then
ImageList1.Draw(DBGridZayavki.Canvas,Pos.X,Pos.Y,3);
end;
end;
procedure TfmMainSklad.RzGroup2Items1Click(Sender: TObject);
begin
fmKartochka.Show;
end;
procedure TfmMainSklad.FormShow(Sender: TObject);
begin
with dmStore do
begin
RzCBOtdelNumber.ClearItems;
IBQUsers.SQL.Clear;
IBQUsers.SQL.Add('SELECT USERS.IDOTDELA, USERS.NAMEOTD FROM USERS');
IBQUsers.SQL.Add('ORDER BY USERS.NAMEOTD');
IBQUsers.Open;
IBQUsers.First;
RzCBOtdelNumber.Items.Add('Всеотделы');
while not IBQUsers.Eof do
begin
RzCBOtdelNumber.Items.Add(Trim(IBQUsers.FieldByName('NAMEOTD').AsString));
IBQUsers.Next;
end;
end;
end;
procedure TfmMainSklad.RzCBOtdelNumberChange(Sender: TObject);
var
IDOtdela:integer;
begin
if RzCBOtdelNumber.Text<>'' then
begin
if RzCBOtdelNumber.Text<>'Всеотделы' then
with dmStore do
begin
IBQUsers.SQL.Clear;
IBQUsers.SQL.Add('SELECT USERS.IDOTDELA, USERS.NAMEOTD FROM USERS');
IBQUsers.SQL.Add('WHERE USERS.NAMEOTD = '''+RzCBOtdelNumber.Text+'''');
IBQUsers.Open;
IDOtdela:=IBQUsers.FieldByName('IDOTDELA').AsInteger;
IBQZayavki.SQL.Clear;
IBQZayavki.SQL.Add(Get_List_Zayavka_With_TovarInfo);
IBQZayavki.SQL.Add('WHERE ZAYAVKAF1.IDUSER = '''+IntToStr(IDOtdela)+'''');
IBQZayavki.SQL.Add('ORDER BY ZAYAVKAF1.DATEZAYAVKA');
IBQZayavki.Open;
end
else
RzGroupViewItems0Click(Sender);
end;
end;
procedure TfmMainSklad.RzBBAddGroupClick(Sender: TObject);
begin
fmNewTovarGroup.Show;
end;
procedure TfmMainSklad.RzEdFindTovarChange(Sender: TObject);
var
i:integer;
begin
if RzTreeViewTovars.Items.Count>0 then
for i:=0 to RzTreeViewTovars.Items.Count-1 do
begin
if Pos(AnsiUpperCase(RzEdFindTovar.Text),AnsiUpperCase(RzTreeViewTovars.Items.Item[i].Text))>0 then
begin
RzTreeViewTovars.Select(RzTreeViewTovars.Items.Item[i], [ssLeft]);
RzTreeViewTovarsClick(Sender);
Exit;
end;
end;
end;
procedure TfmMainSklad.RzBBAddTovarClick(Sender: TObject);
begin
KindAction:=kaNewTovar;
fmNewTovar.Caption:='Созданиеновоготовара';
fmNewTovar.RzCBCountryTovar.Style:=csDropDownList;
fmNewTovar.RzCBEdIzm.Style:=csDropDownList;
fmNewTovar.RzCBGroupTovar.Style:=csDropDownList;
fmNewTovar.RzCBGroupTovar.Enabled:=true;
fmNewTovar.RzBBAddNewGroupTovar.Enabled:=true;
fmNewTovar.RzCBEdIzm.Enabled:=true;
fmNewTovar.Show;
end;
procedure TfmMainSklad.RzTreeViewTovarsClick(Sender: TObject);
var
SelectedNode:TTreeNode;
begin
RzLaInfo.Visible:=false;
SelectedNode:=RzTreeViewTovars.Selected;
if SelectedNode<>nil then
begin
if SelectedNode.Parent<>nil then
begin
DetailTovarInfo:=SelectedNode.Data;
RzEdSchet.Text:=IntToStr(DetailTovarInfo.Schet);
RzEdCountTovar.Text:=FloatToStr(DetailTovarInfo.Ostatok);
RzEdEdIzm.Text:=DetailTovarInfo.EdIzm;
RzEdCountry.Text:=DetailTovarInfo.Country;
RzEdPrice.Text:=FloatToStr(DetailTovarInfo.Price);
if DetailTovarInfo.ClientsAdd=1 then RzLaInfo.Visible:=true;
end
else
SetDefaultValueComponents;
end;
end;
procedure TfmMainSklad.SetDefaultValueComponents;
begin
RzEdCountry.Text:='';
RzEdEdIzm.Text:='';
RzEdPrice.Text:='';
RzEdCountTovar.Text:='';
RzEdSchet.Text:='';
end;
procedure TfmMainSklad.RzTreeViewTovarsDblClick(Sender: TObject);
var
SelectedNode:TTreeNode;
begin
RzLaInfo.Visible:=false;
SelectedNode:=RzTreeViewTovars.Selected;
if SelectedNode<>nil then
begin
if SelectedNode.Parent<>nil then
begin
KindAction:=kaEditTovar;
DetailTovarInfo:=SelectedNode.Data;
fmNewTovar.RzCBCountryTovar.Style:=csDropDown;
fmNewTovar.RzCBEdIzm.Style:=csDropDown;
fmNewTovar.RzCBGroupTovar.Style:=csDropDown;
fmNewTovar.RzCBGroupTovar.Enabled:=false;
fmNewTovar.RzBBAddNewGroupTovar.Enabled:=false;
fmNewTovar.RzCBGroupTovar.Text:=SelectedNode.Parent.Text;
fmNewTovar.RzCBEdIzm.Text:=DetailTovarInfo.EdIzm;
fmNewTovar.RzCBEdIzm.Enabled:=false;
fmNewTovar.RzEdNameTovar.Text:=SelectedNode.Text;
fmNewTovar.Tag:=DetailTovarInfo.ID;
fmNewTovar.RzEdSchet.Text:=IntToStr(DetailTovarInfo.Schet);
fmNewTovar.RzEdCount.Text:=FloatToStr(DetailTovarInfo.Ostatok);
if DetailTovarInfo.Country<>'' then fmNewTovar.RzCBCountryTovar.Text:=DetailTovarInfo.Country;
if DetailTovarInfo.Price<>0 then fmNewTovar.RzEdPrice.Text:=FloatToStr(DetailTovarInfo.Price);
fmNewTovar.Caption:='Редактирование свойств товара';
fmNewTovar.Show;
//RzEdCountTovar.Text:=FloatToStr(DetailTovarInfo.Ostatok);
RzEdEdIzm.Text:=DetailTovarInfo.EdIzm;
RzEdCountry.Text:=DetailTovarInfo.Country;
RzEdPrice.Text:=FloatToStr(DetailTovarInfo.Price);
if DetailTovarInfo.ClientsAdd=1 then RzLaInfo.Visible:=true;
end
else
SetDefaultValueComponents;
end;
end;
procedure TfmMainSklad.RzGroup3Items0Click(Sender: TObject);
begin
fmEdIzm.Show;
end;
procedure TfmMainSklad.RzGroup3Items1Click(Sender: TObject);
begin
fmOtdels.Show;
end;
procedure TfmMainSklad.RzGroup3Items2Click(Sender: TObject);
begin
fmSotrudniki.Show;
end;
procedure TfmMainSklad.RzGroup3Items3Click(Sender: TObject);
begin
fmCountry.Show;
end;
procedure TfmMainSklad.RzBBCollapseClick(Sender: TObject);
begin
RzTreeViewTovars.FullCollapse;
SetDefaultValueComponents;
end;
procedure TfmMainSklad.RzBBExpandClick(Sender: TObject);
begin
RzTreeViewTovars.FullExpand;
SetDefaultValueComponents;
end;
procedure TfmMainSklad.RzGroup1Items1Click(Sender: TObject);
begin
TrebovanieAction:=taNew;
fmTrebovanieOut.Show;
end;
procedure TfmMainSklad.RzGroup1Items0Click(Sender: TObject);
begin
fmKnigaOut.Show;
end;
procedure TfmMainSklad.RzGroupZayavkiItems1Click(Sender: TObject);
begin
with dmStore do
begin
IBQZayavkiF2.SQL.Clear;
IBQZayavkiF2.SQL.Add(Get_List_ZayavkaF2_With_TovarInfo);
IBQZayavkiF2.SQL.Add('ORDER BY ZAYAVKAF2.DATEZAYAVKAF2');
IBQZayavkiF2.Open;
RzPageControl.ActivePage:=tsZayavkiSnab;
DBGridZayavkiSnab.SetFocus;
end;
end;
procedure TfmMainSklad.DBGridZayavkiSnabDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
Pos:TPoint;
i:integer;
Res:array [1..12] of boolean;
MayDraw:boolean;
begin
if DataCol=0 then
begin
Pos.X:=Rect.Left+Trunc((Rect.Right-Rect.Left-DBGridZayavkiSnab.Canvas.TextWidth(IntToStr(dmStore.IBQZayavkiF2.RecNo)))/2);
Pos.Y:=Rect.Top+Trunc((Rect.Bottom-Rect.Top-DBGridZayavkiSnab.Canvas.TextHeight(IntToStr(dmStore.IBQZayavkiF2.RecNo)))/2);
if dmStore.IBQZayavkiF2.RecordCount>0 then
DBGridZayavkiSnab.Canvas.TextOut(Pos.X,Pos.Y,IntToStr(dmStore.IBQZayavkiF2.RecNo))
end;
if DataCol=5 then
begin
Pos.X:=Rect.Left+Trunc((Rect.Right-Rect.Left-16)/2);
Pos.Y:=Rect.Top+Trunc((Rect.Bottom-Rect.Top-16)/2);
for i:=1 to 12 do Res[i]:=false;
for i:=1 to 12 do
begin
if ((dmStore.IBQZayavkiF2.FieldByName('M'+IntToStr(i)+'STATE').AsInteger=1)
and (dmStore.IBQZayavkiF2.FieldByName('M'+IntToStr(i)).AsInteger<>0)) then Res[i]:=true;
if ((dmStore.IBQZayavkiF2.FieldByName('M'+IntToStr(i)+'STATE').AsInteger=0)
and (dmStore.IBQZayavkiF2.FieldByName('M'+IntToStr(i)).AsInteger=0)) then Res[i]:=true;
end;
MayDraw:=True;
for i:=1 to 12 do if Res[i]=false then MayDraw:=false;
if MayDraw then
ImageList1.Draw(DBGridZayavkiSnab.Canvas,Pos.X,Pos.Y,3);
end;
end;
procedure TfmMainSklad.RzGroupZayavkiItems2Click(Sender: TObject);
var
i:integer;
begin
ListZayavkaSnab.Clear;
fmZayavkaSnab.Show;
for i:=1 to 12 do
if fmZayavkaSnab.FindComponent('RzEdM'+IntToStr(i))<>nil then
(fmZayavkaSnab.FindComponent('RzEdM'+IntToStr(i)) as TRzEdit).Text:='0';
fmZayavkaSnab.RzPnMonthes.Enabled:=false;
end;
procedure TfmMainSklad.RzGroupCreateItems1Click(Sender: TObject);
begin
OrderAction:=oaNew;
fmOrderIn.Show;
end;
procedure TfmMainSklad.RzGroup3Items4Click(Sender: TObject);
begin
fmPostavshiki.Show;
end;
procedure TfmMainSklad.RzGroupCreateItems0Click(Sender: TObject);
begin
fmKnigaIn.Show;
end;
procedure TfmMainSklad.N1Click(Sender: TObject);
var
IDSvodnZayavka:integer;
begin
if Application.MessageBox('Выдействительнохотитеудалитьвыбраннуюзапись?', PChar(StrSB),MB_YESNO+MB_ICONQUESTION)=IDYES then
begin
IDSvodnZayavka:=dmStore.IBQZayavkiF2.FieldByName('IDZAYAVKAF2').AsInteger;
if not dmStore.IBQZayavkiF2.Transaction.InTransaction then
dmStore.IBQZayavkiF2.Transaction.StartTransaction;
dmStore.IBQZayavkiF2.SQL.Clear;
dmStore.IBQZayavkiF2.SQL.Add('DELETE FROM ZAYAVKAF2 '+
'WHERE (ZAYAVKAF2.IDZAYAVKAF2 = '''+IntToStr(IDSvodnZayavka)+''')');
dmStore.IBQZayavkiF2.ExecSQL;
dmStore.IBQZayavkiF2.Active:=false;
dmStore.IBQZayavkiF2.Transaction.Commit;
RzGroupZayavkiItems1Click(Self);
end;
end;
procedure TfmMainSklad.RzGroupCreateItems6Click(Sender: TObject);
begin
with dmStore do
begin
IBQTemp.SQL.Clear;
IBQTemp.SQL.Add('SELECT TOVAR.IDTOVAR, TOVAR.NAMETOVAR, TOVAR.COUNTTOV, EDIZM.IDEDIZM, EDIZM.NAMEEDIZM, TOVAR.SCHET');
IBQTemp.SQL.Add('FROM TOVAR');
IBQTemp.SQL.Add('INNER JOIN EDIZM ON (TOVAR.IDEDIZM = EDIZM.IDEDIZM)');
IBQTemp.SQL.Add('ORDER BY TOVAR.SCHET');
IBQTemp.Open;
fmReportInvent.QuickRep1.PreviewModal;
end;
end;
procedure TfmMainSklad.RzMBPrintClick(Sender: TObject);
begin
fmReportZayavkaF2.QuickRep1.PreviewModal;
end;
procedure TfmMainSklad.N2Click(Sender: TObject);
begin
if Application.MessageBox('Выдействительнохотитеудалитьвсезаписи?', PChar(StrSB),MB_YESNO+MB_ICONQUESTION)=IDYES then
with dmStore do
begin
if not IBQZayavkiF2.Transaction.InTransaction then
IBQZayavkiF2.Transaction.StartTransaction;
IBQZayavkiF2.SQL.Clear;
IBQZayavkiF2.SQL.Add('DELETE FROM ZAYAVKAF2');
IBQZayavkiF2.ExecSQL;
IBQZayavkiF2.Active:=false;
IBQZayavkiF2.Transaction.Commit;
RzGroupZayavkiItems1Click(Self);
end;
end;
procedure TfmMainSklad.RzBBFindTovarClick(Sender: TObject);
var
i:integer;
ID:integer;
begin
ID:=-1;
for i:=0 to ListDetailTovar.Count-1 do
if PDetailTovarInfo(ListDetailTovar.Items[i]).ClientsAdd=1 then
begin
ID:=i;
Break;
end;
if ID>-1 then
for i:=0 to RzTreeViewTovars.Items.Count-1 do
begin
if Pos(AnsiUpperCase(Trim(PDetailTovarInfo(ListDetailTovar.Items[ID]).NameTovar)),AnsiUpperCase(RzTreeViewTovars.Items.Item[i].Text))>0 then
begin
RzTreeViewTovars.Select(RzTreeViewTovars.Items.Item[i], [ssLeft]);
RzTreeViewTovarsClick(Sender);
Exit;
end;
end;
end;
Похожие вопросы |