Читайте также: |
|
МОДУЛЬ ГЛАВНОЙ ФОРМЫ (Uvelir)
unit Uvelir;
implementation
uses DM, UnitKlient, UnitModel, UnitIzdel, UnitSkupkaMetall,
UnitKVITANCE, UnitKamni, Unit2DragKamni, UnitRezervMetall,
UnitLIGATURA, UnitPRIPOI, UnitOSTATKI, UnitMetall, UnitCHEK;
{$R *.dfm}
//Просмотр каталога клиентов
procedure TForm1.SpButKlientClick(Sender: TObject);
begin
FormKlient.Show;
UnitKlient.FormKlient.SpButAddModelZAKAZ.Visible:=True;
UnitKlient.FormKlient.SpButAddKlientZakaz.Visible:=False;
end;
//Просмотр каталога моделей
procedure TForm1.SpButModelClick(Sender: TObject);
begin
FormModel.Show;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
FormSkupkaMet.Show;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
FormKamni.Show;
end;
//Активация формы
procedure TForm1.FormActivate(Sender: TObject);
var
i: Integer;
begin
If start=0 then
Begin
start:=1;
dn:=DayOfWeek(Date);
For i:=0 to 6 do
begin
If dn=2 Then
begin
EditDateS.Text:=DateToStr(Date-i);
break;
end;
If dn=1 Then
begin
EditDateS.Text:=DateToStr(Date-6);
break;
end;
If dn>2 Then
dn:=dn-1;
end;
EditDatePo.Text:=DateToStr(Date);
IF DBEditModel.Text<>'' Then
begin
DM.DataModuleUvelir.ADOQueryKAMNIizdel.Close; DM.DataModuleUvelir.ADOQueryKAMNIizdel.Parameters.ParamByName('ART').Value:=DBEditModel.Text;
DM.DataModuleUvelir.ADOQueryKAMNIizdel.Open;
end;
DM.DataModuleUvelir.ADOQueryZAKAZI.Close; DM.DataModuleUvelir.ADOQueryZAKAZI.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZAKAZI.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZAKAZI.Open;
DM.DataModuleUvelir.ADOQueryZakazIzd.Close; DM.DataModuleUvelir.ADOQueryZakazIzd.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZakazIzd.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZakazIzd.Open;
End;
end;
procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryKam.Close;
DM.DataModuleUvelir.ADOQueryKam.Parameters.ParamByName('KAM').Value:=''; DM.DataModuleUvelir.ADOQueryKam.Parameters.ParamByName('FORMA').Value:='';
DM.DataModuleUvelir.ADOQueryKam.Parameters.ParamByName('CVET').Value:='';
DM.DataModuleUvelir.ADOQueryKam.Parameters.ParamByName('RAZ').Value:='';
DM.DataModuleUvelir.ADOQueryKam.Open;
FormDragKamni.Show;
end;
//Добавляем клиента к новому заказу
procedure TForm1.SpButNewZakazClick(Sender: TObject);
begin
DBNavigatorZakaz.BtnClick(nbInsert);
DBEditDateZ.Text:=DateToStr(Date);
FormKlient.Show;
UnitKlient.FormKlient.SpButAddKlientZakaz.Visible:=True;
UnitKlient.FormKlient.SpButAddModelZakaz.Visible:=False;
ShowMessage('Выберите клиента и нажмите кнопку "ЗАКАЗ-ДОБАВИТЬ"!');
end;
//Добавляем модель к новому заказу
procedure TForm1.SpButAddModelZAKAZClick(Sender: TObject);
begin
DBNavigatorZakazIzd.BtnClick(nbInsert);
DBEditZakzzIzd.Text:=DBEditZakaz.Text;
FormModel.Show;
UnitModel.FormModel.SpButAddModelZakaz.Visible:=True;
ShowMessage('Выберите модель и нажмите кнопку "ЗАКАЗ-ДОБАВИТЬ"!');
end;
//Отображение изделий текущего заказа
procedure TForm1.DBEditZakazChange(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryZakazIzdAdd.Close; DM.DataModuleUvelir.ADOQueryZakazIzdAdd.Parameters.ParamByName('KOD').Value:=DBEditZakaz.Text;
DM.DataModuleUvelir.ADOQueryZakazIzdAdd.Open;
If DBEditZakaz.Text<>'' Then
begin
DM.DataModuleUvelir.ADOQuerySUMzakaz.Close; DM.DataModuleUvelir.ADOQuerySUMzakaz.Parameters.ParamByName('Z').Value:=DBEditZakaz.Text;
DM.DataModuleUvelir.ADOQuerySUMzakaz.Open;
end;
end;
//Отображение камней текущей модели
procedure TForm1.DBEditModelChange(Sender: TObject);
var
k: single;
begin
DM.DataModuleUvelir.ADOQueryZAKAZIzdModel.Close; DM.DataModuleUvelir.ADOQueryZAKAZIzdModel.Parameters.ParamByName('ART').Value:=DBEditModel.Text;
DM.DataModuleUvelir.ADOQueryZAKAZIzdModel.Open;
If DBEditModel.Text<>'' Then
begin
DM.DataModuleUvelir.ADOQueryUGAR.Close; DM.DataModuleUvelir.ADOQueryUGAR.Parameters.ParamByName('ART').Value:=DBEditModel.Text;
DM.DataModuleUvelir.ADOQueryUGAR.Open;
DM.DataModuleUvelir.ADOQueryMETALL.Close; DM.DataModuleUvelir.ADOQueryMETALL.Parameters.ParamByName('M').Value:=DBEditMet.Text; DM.DataModuleUvelir.ADOQueryMETALL.Parameters.ParamByName('P').Value:=DBEditProba.Text;
DM.DataModuleUvelir.ADOQueryMETALL.Open;
end;
DM.DataModuleUvelir.ADOQueryZakazKamni.Close;
DM.DataModuleUvelir.ADOQueryZakazKamni.Parameters.ParamByName('ART').Value:=DBEditModel.Text;
DM.DataModuleUvelir.ADOQueryZakazKamni.Open;
DBGridZakazKamni.Columns[9].Color:=clWindow;
DBGridZakazKamni.Columns[9].Visible:=False;
IF DBEditModel.Text<>'' Then
begin
DM.DataModuleUvelir.ADOQueryKAMNIizdel.Close; DM.DataModuleUvelir.ADOQueryKAMNIizdel.Parameters.ParamByName('ART').Value:=DBEditModel.Text;
DM.DataModuleUvelir.ADOQueryKAMNIizdel.Open;
end;
IF (DBTextCenaKam.Caption<>'') and (DBEditKol.Text<>'') Then LabelITOGOkam.Caption:=FloatToStr(StrToInt(DBEditKol.Text)*StrToFloat(DBTextCenaKam.Caption));
IF DBTextCenaKam.Caption='' Then
LabelITOGOkam.Caption:='0';
end;
//Отображение имени, адреса и телефонов текущего клиента
procedure TForm1.DBEditKodKlientaChange(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryTelKlient.Close;
DM.DataModuleUvelir.ADOQueryTelKlient.Parameters.ParamByName('TEL').Value:=DBEditKodKlienta.Text;
DM.DataModuleUvelir.ADOQueryTelKlient.Open;
DM.DataModuleUvelir.ADOQueryFIOKlient.Close; DM.DataModuleUvelir.ADOQueryFIOKlient.Parameters.ParamByName('KOD').Value:=DBEditKodKlienta.Text;
DM.DataModuleUvelir.ADOQueryFIOKlient.Open;
end;
//Резервирование металла
procedure TForm1.SpButRezMetClick(Sender: TObject);
var
kl: integer;
begin
If DBEditVip.Text<>'' Then
begin
ShowMessage('Заказ уже выполнен!!!!');
exit;
end;
If DBEditCena.Text='' Then
begin
ShowMessage('Введите цену за грамм работы!');
exit;
end;
If SpButAddModelZAKAZ.Visible=False Then
begin
SpButAddModelZAKAZ.Visible:=True;
//DBNavigatorZakazIzd.BtnClick(nbPost);
end;
try
kl:=StrToInt(DBEditKol.Text);
except
on EConvertError do
begin
ShowMessage('Введите колличество изделий!');
DBEditKol.SetFocus;
exit;
end;
end;
FormRezervMet.Show;
end;
//Резервирование камней
procedure TForm1.DBGridZakazKamniEditButtonClick(Sender: TObject);
var
kl,kn,rez:integer;
begin
DM.DataModuleUvelir.ADOQueryKam.Close; DM.DataModuleUvelir.ADOQueryKam.Parameters.ParamByName('KAM').Value:=DBGridZakazKamni.DataSource.DataSet.FieldValues['Камень']; DM.DataModuleUvelir.ADOQueryKam.Parameters.ParamByName('FORMA').Value:=DBGridZakazKamni.DataSource.DataSet.FieldValues['Форма']; DM.DataModuleUvelir.ADOQueryKam.Parameters.ParamByName('CVET').Value:=DBGridZakazKamni.DataSource.DataSet.FieldValues['Цвет']; DM.DataModuleUvelir.ADOQueryKam.Parameters.ParamByName('RAZ').Value:=DBGridZakazKamni.DataSource.DataSet.FieldValues['Размер'];
DM.DataModuleUvelir.ADOQueryKam.Open;
DBNavigator1.BtnClick(nbEdit);
FormDragKamni.Show; DBGridZakazKamni.DataSource.DataSet.FieldValues['РЕЗЕРВ']:=Unit2DragKamni.FormDragKamni.EditOSTREZ.Text;
FormDragKamni.Close;
try rez:=StrToInt(DBGridZakazKamni.DataSource.DataSet.FieldValues['РЕЗЕРВ']);
except
on EConvertError do
begin
ShowMessage('В поле остатков ничего не введено!');
exit;
end;
end;
try
kl:=StrToInt(DBEditKol.Text);
except
on EConvertError do
begin
ShowMessage('Введите колличество изделий!');
DBEditKol.SetFocus;
exit;
end;
end;
DBGridZakazKamni.Columns[9].Width:=95;
DBGridZakazKamni.Columns[9].Visible:=True;
DBGridZakazKamni.DataSource.DataSet.FieldValues['НЕОБХОДИМО']:= IntToStr(StrToInt(DBEditKol.Text)*StrToInt(DBGridZakazKamni.DataSource.DataSet.FieldValues['Количество'])); kn:=StrToInt(DBGridZakazKamni.DataSource.DataSet.FieldValues['НЕОБХОДИМО']);
If (rez-kn)<0 then
begin
DBGridZakazKamni.Columns[9].Color:=$00ADAFFA;
ShowMessage('Для создания заказа необходимо '+DBGridZakazKamni.DataSource.DataSet.FieldValues['НЕОБХОДИМО']+
' камня '+DBGridZakazKamni.DataSource.DataSet.FieldValues['Камень']+
' Так как на остатках '+DBGridZakazKamni.DataSource.DataSet.FieldValues['РЕЗЕРВ']+' камней, то продолжение создания заказа НЕВОЗМОЖНО!!!');
DBNavigatorZakazIzd.BtnClick(nbCancel);
SpButRezMet.Visible:=False;
SpButAddModelZAKAZ.Visible:=True;
Form1.SpButNewZakaz.Visible:=True;
DBGridZakazKamni.Columns[8].Visible:=True;
end;
end;
//Калькулятор ЛИГАТУРА
procedure TForm1.SpButLigaturaClick(Sender: TObject);
begin
FormLIGATURA.Show;
end;
//Калькулятор ПРИПОЙ
procedure TForm1.SpButPRIPOIClick(Sender: TObject);
begin
FormPRIPOI.Show;
end;
//Выполнить заказ
procedure TForm1.SpButVIPClick(Sender: TObject);
begin
IF DBGridZakaz.DataSource.DataSet.FieldValues['Анулировать']=True Then
begin
ShowMessage('Заказ анулирован!');
exit;
end;
IF DBEditVip.Text<>'' Then
begin
ShowMessage('Заказ уже выполнен!');
exit;
end;
DBNavigatorZakaz.BtnClick(nbEdit);
DBEditVip.Text:=DateToStr(Date);
DBGridZakaz.DataSource.DataSet.FieldValues['Выполнен']:=1;
DBNavigatorZakaz.BtnClick(nbPost);
end;
//Выдать заказ
procedure TForm1.SpButVIDClick(Sender: TObject);
begin
IF DBGridZakaz.DataSource.DataSet.FieldValues['Анулировать']=True Then
begin
ShowMessage('Заказ анулирован!');
exit;
end;
IF DBEditVip.Text='' Then
begin
ShowMessage('Заказ еще не выполнен!');
exit;
end;
If DBEditVid.Text<>'' Then
begin
ShowMessage('Заказ уже выдан!');
exit;
end;
DBNavigatorZakaz.BtnClick(nbEdit);
DBGridZakaz.DataSource.DataSet.FieldValues['Выдан']:=1;
DBEditVid.Text:=DateToStr(Date);
DBNavigatorZakaz.BtnClick(nbPost);
end;
procedure TForm1.SpButRaschetClick(Sender: TObject);
var k: single;
begin
if DBEditCena.Text='' Then
begin
ShowMessage('Для рассчета цены изделия введите цену за грамм работы!');
DBEditCena.SetFocus;
exit;
end;
IF DBEditModel.Text<>'' Then
BEGIN
DM.DataModuleUvelir.ADOQueryVesMetMASTER.Close; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('N').Value:=DBEditZakzzIzd.Text; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('ART').Value:=DBEditModel.Text; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('R').Value:=DBEditRazmer.Text;
DM.DataModuleUvelir.ADOQueryVesMetMASTER.Open;
If DBEditVesmaster.Text='' Then
EditVesMaster.Text:='0'
Else
begin
k:=StrToFloat(DBEditVesmaster.Text);
EditVesMaster.Text:=Format('%f',[k]);
end;
DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Close; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('N').Value:=DBEditZakzzIzd.Text; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('ART').Value:=DBEditModel.Text; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('R').Value:=DBEditRazmer.Text;
DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Open;
If DBEditVesKlient.Text='' Then
EditVesKlientUgar.Text:='0'
Else
begin
k:=StrToFloat(DBEditVesKlient.Text)-StrToFloat(DBEditVesKlient.Text)*StrToInt(DBEditUGAR.Text)/100;
EditVesKlientUgar.Text:=Format('%f',[k]);
end; k:=(StrToFloat(EditVesKlientUgar.Text)+StrToFloat(EditVesMaster.Text))*StrToFloat(DBEditCena.Text);
EditCenaRab.Text:=Format('%f',[k]);
k:=StrToFloat(EditVesMaster.Text)*StrToFloat(DBEditCenaMET.Text);
EditCeneDobMET.Text:= Format('%f',[k]);
DBNavigatorZakazIzd.BtnClick(nbEdit); k:=StrToFloat(EditCenaRab.Text)+StrToFloat(EditCeneDobMET.Text)+StrToFloat(LabelITOGOkam.Caption);
DBTextCenaIZD.Caption:=Format('%f',[k]);
DBEditCenaIZD.Text:=DBTextCenaIZD.Caption;
DBNavigatorZakazIzd.BtnClick(nbPost);
END;
end;
//Каталог металлов
procedure TForm1.SpButMETALLClick(Sender: TObject);
begin
FormMetall.Show;
end;
//Напечатать чек
procedure TForm1.SpButCHEKClick(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryZakazIzdAdd.Close;
DM.DataModuleUvelir.ADOQueryZakazIzdAdd.Parameters.ParamByName('KOD').Value:=DBEditZakaz.Text;
DM.DataModuleUvelir.ADOQueryZakazIzdAdd.Open;
DM.DataModuleUvelir.ADOQueryFIOKlient.Close;
DM.DataModuleUvelir.ADOQueryFIOKlient.Parameters.ParamByName('KOD').Value:=DBEditKodKlienta.Text;
DM.DataModuleUvelir.ADOQueryFIOKlient.Open;
DM.DataModuleUvelir.ADOQuerySUMzakaz.Close;
DM.DataModuleUvelir.ADOQuerySUMzakaz.Parameters.ParamByName('Z').Value:=DBEditZakaz.Text;
DM.DataModuleUvelir.ADOQuerySUMzakaz.Open;
UnitCHEK.FormCHEK.QuickRepCHEK.Preview;
end;
//Анулировать заказ
procedure TForm1.SpButAnulClick(Sender: TObject);
begin
if DBEditVid.Text<>'' Then
begin
ShowMessage('Заказ уже выдан!');
exit;
end;
DBNavigatorZakaz.BtnClick(nbEdit);
DBGridZakaz.DataSource.DataSet.FieldValues['Анулировать']:=1;
DBNavigatorZakaz.BtnClick(nbPost);
end;
//Вставить период С
procedure TForm1.BitBtnSClick(Sender: TObject);
begin
EditDateS.Text:=DateToStr(MonCal.Date);
DM.DataModuleUvelir.ADOQueryZAKAZI.Close; DM.DataModuleUvelir.ADOQueryZAKAZI.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZAKAZI.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZAKAZI.Open;
DM.DataModuleUvelir.ADOQueryZakazIzd.Close; DM.DataModuleUvelir.ADOQueryZakazIzd.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZakazIzd.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZakazIzd.Open;
end;
//Вставить период ПО
procedure TForm1.BitBtnPoClick(Sender: TObject);
begin
EditDatePo.Text:=DateToStr(MonCal.Date);
DM.DataModuleUvelir.ADOQueryZAKAZI.Close; DM.DataModuleUvelir.ADOQueryZAKAZI.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZAKAZI.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZAKAZI.Open;
DM.DataModuleUvelir.ADOQueryZakazIzd.Close; DM.DataModuleUvelir.ADOQueryZakazIzd.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZakazIzd.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZakazIzd.Open;
end;
//При выходе из программы обнуляем счетчик
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
start:=0;
end;
//Фильтр по заказам
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
If RadioGroup1.ItemIndex=0 Then
begin
DM.DataModuleUvelir.ADOQueryZAKAZI.Close; DM.DataModuleUvelir.ADOQueryZAKAZI.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZAKAZI.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZAKAZI.Open;
DM.DataModuleUvelir.ADOQueryZakazIzd.Close; DM.DataModuleUvelir.ADOQueryZakazIzd.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZakazIzd.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZakazIzd.Open;
DBGridZakaz.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryZAKAZI; DBGridIzdelieZakaz.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryZakazIzd;
end;
If RadioGroup1.ItemIndex=1 Then
begin
DM.DataModuleUvelir.ADOQueryZO.Close; DM.DataModuleUvelir.ADOQueryZO.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZO.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZO.Open; DM.DataModuleUvelir.ADOQueryZIO.Close; DM.DataModuleUvelir.ADOQueryZIO.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZIO.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZIO.Open;
DBGridZakaz.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryZO;
DBGridIzdelieZakaz.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryZIO;
end;
If RadioGroup1.ItemIndex=2 Then
begin
DM.DataModuleUvelir.ADOQueryZVIP.Close; DM.DataModuleUvelir.ADOQueryZVIP.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZVIP.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZVIP.Open;
DM.DataModuleUvelir.ADOQueryZIVIP.Close; DM.DataModuleUvelir.ADOQueryZIVIP.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZIVIP.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZIVIP.Open;
DBGridZakaz.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryZVIP; DBGridIzdelieZakaz.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryZIVIP;
end;
If RadioGroup1.ItemIndex=3 Then
begin
DM.DataModuleUvelir.ADOQueryZVIPNVID.Close; DM.DataModuleUvelir.ADOQueryZVIPNVID.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZVIPNVID.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZVIPNVID.Open;
DM.DataModuleUvelir.ADOQueryZIVIPNVID.Close; DM.DataModuleUvelir.ADOQueryZIVIPNVID.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZIVIPNVID.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZIVIPNVID.Open;
DBGridZakaz.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryZVIPNVID; DBGridIzdelieZakaz.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryZIVIPNVID;
end;
If RadioGroup1.ItemIndex=4 Then
begin
DM.DataModuleUvelir.ADOQueryZVIPVID.Close; DM.DataModuleUvelir.ADOQueryZVIPVID.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZVIPVID.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZVIPVID.Open;
DM.DataModuleUvelir.ADOQueryZIVIPVID.Close; DM.DataModuleUvelir.ADOQueryZIVIPVID.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZIVIPVID.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZIVIPVID.Open;
DBGridZakaz.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryZVIPVID; DBGridIzdelieZakaz.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryZIVIPVID;
end;
If RadioGroup1.ItemIndex=5 Then
begin
DM.DataModuleUvelir.ADOQueryZA.Close; DM.DataModuleUvelir.ADOQueryZA.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZA.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZA.Open;
DM.DataModuleUvelir.ADOQueryZIA.Close; DM.DataModuleUvelir.ADOQueryZIA.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZIA.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZIA.Open;
DBGridZakaz.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryZA;
DBGridIzdelieZakaz.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryZIA;
end;
end;
//Отчет о прибыли
procedure TForm1.SpButOtchetClick(Sender: TObject);
var
FileName, FileNameSave, a, b: OleVariant;
T, TT: integer;
S: string;
SUM, SUM1: single;
begin
T:=1;
SUM1:=0;
DM.DataModuleUvelir.ADOQueryZVIP.Close; DM.DataModuleUvelir.ADOQueryZVIP.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZVIP.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZVIP.Open;
DM.DataModuleUvelir.ADOQueryZVIPVID.Close; DM.DataModuleUvelir.ADOQueryZVIPVID.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZVIPVID.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZVIPVID.Open;
DM.DataModuleUvelir.ADOQueryZVIPNVID.Close; DM.DataModuleUvelir.ADOQueryZVIPNVID.Parameters.ParamByName('D1').Value:=EditDateS.Text; DM.DataModuleUvelir.ADOQueryZVIPNVID.Parameters.ParamByName('D2').Value:=EditDatePo.Text;
DM.DataModuleUvelir.ADOQueryZVIPNVID.Open;
FileName:='C:\Ювелирная мастерская\ОТЧЕТЫ\ОТЧЕТ О ПРИБЫЛИ.doc';
FileNameSave:='C:\Ювелирная мастерская\ОТЧЕТЫ\ОТЧЕТ О ПРИБЫЛИ_от '+
DateToStr(Date)+'.doc';
DM.DataModuleUvelir.WordApplication1.Connect;
If DM.DataModuleUvelir.ADOQueryZVIP.FieldValues['НомерЗаказа']=Null Then
begin
ShowMessage('За данный период не было выполненно ни одного заказа');
exit;
end
Else
begin
Try
DM.DataModuleUvelir.WordApplication1.Documents.Open(FileName,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam); DM.DataModuleUvelir.WordDocument1.ConnectTo(DM.DataModuleUvelir.WordApplication1.ActiveDocument);
DM.DataModuleUvelir.WordDocument1.SaveAs(FileNameSave);
a:=41; DM.DataModuleUvelir.WordDocument1.Range(a).InsertBefore(EditDateS.Text);
a:=65;
DM.DataModuleUvelir.WordDocument1.Range(a).InsertBefore(' '+EditDatePo.Text);
//Вывод всех выполненных заказов
With DM.DataModuleUvelir.ADOQueryZVIP do
begin
First;
while not EOF do
begin
S:=IntToStr(T); DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+1,1).Range.InsertBefore(S);
S:=DM.DataModuleUvelir.ADOQueryZVIP.FieldValues['НомерЗаказа']; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+1,2).Range.InsertBefore(S);
S:=DM.DataModuleUvelir.ADOQueryZVIP.FieldValues['ФИОклиента']; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+1,3).Range.InsertBefore(S);
DM.DataModuleUvelir.ADOQuerySUMZOT.Close; DM.DataModuleUvelir.ADOQuerySUMZOT.Parameters.ParamByName('Z').Value:=DM.DataModuleUvelir.ADOQueryZVIP.FieldValues['НомерЗаказа'];
DM.DataModuleUvelir.ADOQuerySUMZOT.Open;
S:=DBEdit1.Text;
if DBEdit1.Text<>'' Then
begin
SUM:=StrToFloat(DBEdit1.Text);
SUM1:=SUM1+SUM;
end; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+1,4).Range.InsertBefore(S);
DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Rows.Add(EmptyParam);
inc(T);
Next;
end;
end;
DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+1,3).Select;
DM.DataModuleUvelir.WordApplication1.Selection.Font.Color:=clRed;
DM.DataModuleUvelir.WordApplication1.Selection.Font.Italic:=1;
DM.DataModuleUvelir.WordApplication1.Selection.Font.Size:=14; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+1,3).Range.InsertBefore('ИТОГО НА СУММУ:');
DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+1,4).Select;
DM.DataModuleUvelir.WordApplication1.Selection.Font.Color:=clRed;
DM.DataModuleUvelir.WordApplication1.Selection.Font.Italic:=1;
DM.DataModuleUvelir.WordApplication1.Selection.Font.Size:=14;
S:=FloatToStr(SUM1); DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+1,4).Range.InsertBefore(S);
T:=1;
SUM1:=0;
//Вывод всех выданных заказов
With DM.DataModuleUvelir.ADOQueryZVIPVID do
begin
First;
while not EOF do
begin
S:=IntToStr(T); DM.DataModuleUvelir.WordDocument1.Tables.Item(2).Cell(T+1,1).Range.InsertBefore(S);
S:=DM.DataModuleUvelir.ADOQueryZVIPVID.FieldValues['НомерЗаказа']; DM.DataModuleUvelir.WordDocument1.Tables.Item(2).Cell(T+1,2).Range.InsertBefore(S);
S:=DM.DataModuleUvelir.ADOQueryZVIPVID.FieldValues['ФИОклиента']; DM.DataModuleUvelir.WordDocument1.Tables.Item(2).Cell(T+1,3).Range.InsertBefore(S);
DM.DataModuleUvelir.ADOQuerySUMZOT.Close; DM.DataModuleUvelir.ADOQuerySUMZOT.Parameters.ParamByName('Z').Value:=DM.DataModuleUvelir.ADOQueryZVIPVID.FieldValues['НомерЗаказа'];
DM.DataModuleUvelir.ADOQuerySUMZOT.Open;
S:=DBEdit1.Text;
if DBEdit1.Text<>'' Then
begin
SUM:=StrToFloat(DBEdit1.Text);
SUM1:=SUM1+SUM;
end; DM.DataModuleUvelir.WordDocument1.Tables.Item(2).Cell(T+1,4).Range.InsertBefore(S);
DM.DataModuleUvelir.WordDocument1.Tables.Item(2).Rows.Add(EmptyParam);
inc(T);
Next;
end;
end;
DM.DataModuleUvelir.WordDocument1.Tables.Item(2).Cell(T+1,3).Select;
DM.DataModuleUvelir.WordApplication1.Selection.Font.Color:=clRed;
DM.DataModuleUvelir.WordApplication1.Selection.Font.Italic:=1;
DM.DataModuleUvelir.WordApplication1.Selection.Font.Size:=14; DM.DataModuleUvelir.WordDocument1.Tables.Item(2).Cell(T+1,3).Range.InsertBefore('ИТОГО НА СУММУ:');
DM.DataModuleUvelir.WordDocument1.Tables.Item(2).Cell(T+1,4).Select;
DM.DataModuleUvelir.WordApplication1.Selection.Font.Color:=clRed;
DM.DataModuleUvelir.WordApplication1.Selection.Font.Italic:=1;
DM.DataModuleUvelir.WordApplication1.Selection.Font.Size:=14;
S:=FloatToStr(SUM1); DM.DataModuleUvelir.WordDocument1.Tables.Item(2).Cell(T+1,4).Range.InsertBefore(S);
T:=1;
SUM1:=0;
//Вывод всех невыданных заказов
With DM.DataModuleUvelir.ADOQueryZVIPNVID do
begin
First;
while not EOF do
begin
S:=IntToStr(T); DM.DataModuleUvelir.WordDocument1.Tables.Item(3).Cell(T+1,1).Range.InsertBefore(S);
S:=DM.DataModuleUvelir.ADOQueryZVIPNVID.FieldValues['НомерЗаказа']; DM.DataModuleUvelir.WordDocument1.Tables.Item(3).Cell(T+1,2).Range.InsertBefore(S);
S:=DM.DataModuleUvelir.ADOQueryZVIPNVID.FieldValues['ФИОклиента']; DM.DataModuleUvelir.WordDocument1.Tables.Item(3).Cell(T+1,3).Range.InsertBefore(S);
DM.DataModuleUvelir.ADOQuerySUMZOT.Close; DM.DataModuleUvelir.ADOQuerySUMZOT.Parameters.ParamByName('Z').Value:=DM.DataModuleUvelir.ADOQueryZVIPNVID.FieldValues['НомерЗаказа'];
DM.DataModuleUvelir.ADOQuerySUMZOT.Open;
S:=DBEdit1.Text;
if DBEdit1.Text<>'' Then
begin
SUM:=StrToFloat(DBEdit1.Text);
SUM1:=SUM1+SUM;
end; DM.DataModuleUvelir.WordDocument1.Tables.Item(3).Cell(T+1,4).Range.InsertBefore(S);
DM.DataModuleUvelir.WordDocument1.Tables.Item(3).Rows.Add(EmptyParam);
inc(T);
Next;
end;
end;
DM.DataModuleUvelir.WordDocument1.Tables.Item(3).Cell(T+1,3).Select;
Дата добавления: 2015-09-04; просмотров: 33 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ПРИЛОЖЕНИЕ Г | | | ПРИЛОЖЕНИЕ К. Листинг программного кода 2 страница |