Читайте также: |
|
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(3).Cell(T+1,3).Range.InsertBefore('ИТОГО НА СУММУ:');
DM.DataModuleUvelir.WordDocument1.Tables.Item(3).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(3).Cell(T+1,4).Range.InsertBefore(S);
T:=1;
SUM1:=0;
Except
begin
ShowMessage('Документа с именем "ОТЧЕТ О ПРИБЫЛИ"'+
' на диске С в папке Ювелирная мастерская\ОТЧЕТЫ не существует! '+
' Либо у него другое расширение! Либо он удален! Создайте новый документ Word на диске С '+
' в папке Ювелирная мастерская\ОТЧЕТЫ с именем '+
'"ОТЧЕТ О ПРИБЫЛИ" и расширением.doc');
exit;
end; DM.DataModuleUvelir.WordDocument1.ConnectTo(DM.DataModuleUvelir.WordApplication1.ActiveDocument);
end;
End;
end;
//Печать наряд-заказа
procedure TForm1.SpButNARYDClick(Sender: TObject);
var
FileName, FileNameSave, a, b: OleVariant;
T, TT, N, i: integer;
S: string;
begin
T:=1;
N:=1;
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;
FileName:='C:\Ювелирная мастерская\НАРЯД-ЗАКАЗ\НАРЯД.doc';
FileNameSave:='C:\Ювелирная мастерская\НАРЯД-ЗАКАЗ\НАРЯД_от '+
DateToStr(Date)+'.doc';
DM.DataModuleUvelir.WordApplication1.Connect;
If DM.DataModuleUvelir.ADOQueryZIO.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:=30; DM.DataModuleUvelir.WordDocument1.Range(a).InsertBefore(EditDateS.Text+' ');
a:=44;
DM.DataModuleUvelir.WordDocument1.Range(a).InsertBefore(' '+EditDatePo.Text);
//Вывод всех заказанных изделий
With DM.DataModuleUvelir.ADOQueryZIO do
begin
First;
while not EOF do
begin
S:=IntToStr(N); DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,1).Range.InsertBefore(S);
S:=DM.DataModuleUvelir.ADOQueryZIO.FieldValues['НомерЗаказа']; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,2).Range.InsertBefore(S);
S:=DM.DataModuleUvelir.ADOQueryZIO.FieldValues['АртикулМодели']; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,3).Range.InsertBefore(S);
S:=DM.DataModuleUvelir.ADOQueryZIO.FieldValues['Количество']; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,4).Range.InsertBefore(S);
S:=DM.DataModuleUvelir.ADOQueryZIO.FieldValues['РазмерДлина']; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,5).Range.InsertBefore(S);
S:=DM.DataModuleUvelir.ADOQueryZIO.FieldValues['ВесИзделия']; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,6).Range.InsertBefore(S);
//Камни изделия
DM.DataModuleUvelir.ADOQueryKAMREPORT.Close; DM.DataModuleUvelir.ADOQueryKAMREPORT.Parameters.ParamByName('ART').Value:=DM.DataModuleUvelir.ADOQueryZIO.FieldValues['АртикулМодели'];
DM.DataModuleUvelir.ADOQueryKAMREPORT.Open;
TT:=0;
With DM.DataModuleUvelir.ADOQueryKAMREPORT do
begin
First;
while not EOF do
begin
S:=DM.DataModuleUvelir.ADOQueryKAMREPORT.FieldValues['Камень']; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2+T,7).Range.InsertBefore(S);
S:=DM.DataModuleUvelir.ADOQueryKAMREPORT.FieldValues['Форма']; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2+T,8).Range.InsertBefore(S);
S:=DM.DataModuleUvelir.ADOQueryKAMREPORT.FieldValues['Цвет']; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2+T,9).Range.InsertBefore(S);
S:=DM.DataModuleUvelir.ADOQueryKAMREPORT.FieldValues['Размер']; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2+T,10).Range.InsertBefore(S); S:=DM.DataModuleUvelir.ADOQueryKAMREPORT.FieldValues['Количество']; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2+T,11).Range.InsertBefore(S); DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Rows.Add(EmptyParam);
inc(TT);
Next;
end;
end;
If DM.DataModuleUvelir.ADOQueryZIO.FieldValues['Пометки']<>Null Then
begin
S:=DM.DataModuleUvelir.ADOQueryZIO.FieldValues['Пометки']; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,12).Range.InsertBefore(' '+S);
end;
If DM.DataModuleUvelir.ADOQueryZIO.FieldValues['ВесНаВыходе']<>Null Then
begin
S:=DM.DataModuleUvelir.ADOQueryZIO.FieldValues['ВесНаВыходе']; DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,13).Range.InsertBefore(' '+S);
end;
//Объединием ячейки
IF TT>1 Then
begin DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,1).Merge(DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2+TT-1,1)); DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,2).Merge(DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2+TT-1,2)); DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,3).Merge(DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2+TT-1,3)); DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,4).Merge(DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2+TT-1,4)); DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,5).Merge(DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2+TT-1,5)); DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,6).Merge(DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2+TT-1,6)); DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,12).Merge(DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2+TT-1,12)); DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2,13).Merge(DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Cell(T+2+TT-1,13));
end;
T:=T+TT;
IF TT=0 Then
begin DM.DataModuleUvelir.WordDocument1.Tables.Item(1).Rows.Add(EmptyParam);
inc(T);
end;
inc(N);
Next;
end;
end;
Except
begin
ShowMessage('Документа с именем "НАРЯД"'+
' на диске С в папке Ювелирная мастерская\НАРЯД-ЗАКАЗ не существует! '+
' Либо у него другое расширение! Либо он удален! Создайте новый документ Word на диске С '+
' в папке Ювелирная мастерская\НАРЯД-ЗАКАЗ с именем '+
'"НАРЯД" и расширением.doc');
exit;
end; DM.DataModuleUvelir.WordDocument1.ConnectTo(DM.DataModuleUvelir.WordApplication1.ActiveDocument);
end;
End;
end;
//Поиск по номеру заказа
procedure TForm1.Edit1Change(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryZNomer.Close; DM.DataModuleUvelir.ADOQueryZNomer.Parameters.ParamByName('N').Value:=Edit1.Text;
DM.DataModuleUvelir.ADOQueryZNomer.Open;
DM.DataModuleUvelir.ADOQueryZizdNomer.Close; DM.DataModuleUvelir.ADOQueryZizdNomer.Parameters.ParamByName('N').Value:=Edit1.Text;
DM.DataModuleUvelir.ADOQueryZizdNomer.Open;
DBGridZakaz.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryZNomer; DBGridIzdelieZakaz.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryZizdNomer;
end;
end.
Модуль формы ДРАГОЦЕННЫЕ КАМНИ (Unit2DragKamni)
unit Unit2DragKamni;
implementation
uses Uvelir, DM, UnitKamni;
{$R *.dfm}
//Активация формы
procedure TFormDragKamni.FormActivate(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryKamPrihod.Close; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('KAM').Value:=DBEditKam.Text; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text);
DM.DataModuleUvelir.ADOQueryKamPrihod.Open;
DM.DataModuleUvelir.ADOQueryKamRashod.Close; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('KAM').Value:=DBEditKam.Text; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text;
DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text);
DM.DataModuleUvelir.ADOQueryKamRashod.Open;
DM.DataModuleUvelir.ADOQueryKamniRezerv.Close;
DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('KAM').Value:=DBEditKam.Text;
DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text;
DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text;
DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text);
DM.DataModuleUvelir.ADOQueryKamniRezerv.Open;
If DBEditPrihod.Text='' Then
EditPrihod2.Text:='0'
Else
EditPrihod2.Text:=DBEditPrihod.Text;
If DBEditRashod.Text='' Then
EditRashod2.Text:='0'
Else
EditRashod2.Text:=DBEditRashod.Text;
If DBEditRezerv.Text='' Then
EditRezerv2.Text:='0'
Else
EditRezerv2.Text:=DBEditRezerv.Text;
EditOstatok.Text:=IntToStr(StrToInt(EditPrihod2.Text)-StrToInt(EditRashod2.Text));
EditOSTREZ.Text:=IntToStr(StrToInt(EditOstatok.Text)-StrToInt(EditRezerv2.Text));
SpButSavePoz.Visible:=False;
SpButDeletPozKam.Visible:=True;
SpButAddPoz.Visible:=True;
DBNavigatorOstKam.Enabled:=True;
DBEditKam.ReadOnly:=True;
DBEditKamForm.ReadOnly:=True;
DBEditKamCvet.ReadOnly:=True;
DBEditKamRazmer.ReadOnly:=True;
DBEditCena.ReadOnly:=False;
end;
//Передвижение по записям
procedure TFormDragKamni.DBNavigatorOstKamClick(Sender: TObject;
Button: TNavigateBtn);
begin
DM.DataModuleUvelir.ADOQueryKamPrihod.Close; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('KAM').Value:=DBEditKam.Text; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text);
DM.DataModuleUvelir.ADOQueryKamPrihod.Open;
DM.DataModuleUvelir.ADOQueryKamRashod.Close; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('KAM').Value:=DBEditKam.Text;
DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text;
DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text);
DM.DataModuleUvelir.ADOQueryKamRashod.Open;
DM.DataModuleUvelir.ADOQueryKamniRezerv.Close; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('KAM').Value:=DBEditKam.Text; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text);
DM.DataModuleUvelir.ADOQueryKamniRezerv.Open;
If DBEditPrihod.Text='' Then
EditPrihod2.Text:='0'
Else
EditPrihod2.Text:=DBEditPrihod.Text;
If DBEditRashod.Text='' Then
EditRashod2.Text:='0'
Else
EditRashod2.Text:=DBEditRashod.Text;
If DBEditRezerv.Text='' Then
EditRezerv2.Text:='0'
Else
EditRezerv2.Text:=DBEditRezerv.Text;
EditOstatok.Text:=IntToStr(StrToInt(EditPrihod2.Text)-StrToInt(EditRashod2.Text));
EditOSTREZ.Text:=IntToStr(StrToInt(EditOstatok.Text)-StrToInt(EditRezerv2.Text));
end;
//Обработка щелчка по строке таблицы
procedure TFormDragKamni.DBGridOstatokKamCellClick(Column: TColumn);
begin
DM.DataModuleUvelir.ADOQueryKamPrihod.Close; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('KAM').Value:=DBEditKam.Text; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text);
DM.DataModuleUvelir.ADOQueryKamPrihod.Open;
DM.DataModuleUvelir.ADOQueryKamRashod.Close; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('KAM').Value:=DBEditKam.Text;
DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text);
DM.DataModuleUvelir.ADOQueryKamRashod.Open;
DM.DataModuleUvelir.ADOQueryKamniRezerv.Close; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('KAM').Value:=DBEditKam.Text; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text);
DM.DataModuleUvelir.ADOQueryKamniRezerv.Open;
If DBEditPrihod.Text='' Then
EditPrihod2.Text:='0'
Else
EditPrihod2.Text:=DBEditPrihod.Text;
If DBEditRashod.Text='' Then
EditRashod2.Text:='0'
Else
EditRashod2.Text:=DBEditRashod.Text;
If DBEditRezerv.Text='' Then
EditRezerv2.Text:='0'
Else
EditRezerv2.Text:=DBEditRezerv.Text;
EditOstatok.Text:=IntToStr(StrToInt(EditPrihod2.Text)-StrToInt(EditRashod2.Text));
EditOSTREZ.Text:=IntToStr(StrToInt(EditOstatok.Text)-StrToInt(EditRezerv2.Text));
end;
//Фильтр по каталогу камней
procedure TFormDragKamni.DBLookupComBoxKamFClick(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryKam.Close; DM.DataModuleUvelir.ADOQueryKam.Parameters.ParamByName('KAM').Value:=DBLookupComBoxKamF.Text; 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;
DM.DataModuleUvelir.ADOQueryKamPrihod.Close; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('KAM').Value:=DBEditKam.Text; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text;
DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text);
DM.DataModuleUvelir.ADOQueryKamPrihod.Open;
DM.DataModuleUvelir.ADOQueryKamRashod.Close; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('KAM').Value:=DBEditKam.Text; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text);
DM.DataModuleUvelir.ADOQueryKamRashod.Open;
DM.DataModuleUvelir.ADOQueryKamniRezerv.Close; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('KAM').Value:=DBEditKam.Text; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text);
DM.DataModuleUvelir.ADOQueryKamniRezerv.Open;
If DBEditPrihod.Text='' Then
EditPrihod2.Text:='0'
Else
EditPrihod2.Text:=DBEditPrihod.Text;
If DBEditRashod.Text='' Then
EditRashod2.Text:='0'
Else
EditRashod2.Text:=DBEditRashod.Text;
If DBEditRezerv.Text='' Then
EditRezerv2.Text:='0'
Else
EditRezerv2.Text:=DBEditRezerv.Text;
EditOstatok.Text:=IntToStr(StrToInt(EditPrihod2.Text)-StrToInt(EditRashod2.Text));
EditOSTREZ.Text:=IntToStr(StrToInt(EditOstatok.Text)-StrToInt(EditRezerv2.Text));
SpButSbros.Visible:=True;
end;
//Отображение фактических остатков
procedure TFormDragKamni.EditOstatokChange(Sender: TObject);
begin
If StrToInt(EditOstatok.Text)=0 Then
begin
ShowMessage('Фактических остатков данного вида камней, не достаточно для резервирования заказов!.Нужны поставки данных драгоценных камней');
EditOstatok.Color:=clSkyBlue;
end;
If StrToInt(EditOstatok.Text)<0 Then
begin
ShowMessage('Фактических остатков не хватает!');
EditOstatok.Color:=clRed;
end;
If StrToInt(EditOstatok.Text)>0 Then
EditOstatok.Color:=clMoneyGreen;
end;
//Добавляем новый камень
procedure TFormDragKamni.SpButAddPozClick(Sender: TObject);
begin
SpButSavePoz.Visible:=True;
SpButDeletPozKam.Visible:=False;
SpButAddPoz.Visible:=False;
DBEditKam.ReadOnly:=False;
DBEditKamForm.ReadOnly:=False;
DBEditKamCvet.ReadOnly:=False;
DBEditKamRazmer.ReadOnly:=False;
DBEditCena.ReadOnly:=False;
DBGridOstatokKam.ReadOnly:=False;
ShowMessage('Введите данные о новом камне и сохраните!');
DBNavigatorOstKam.BtnClick(nbLast);
DBNavigatorOstKam.BtnClick(nbInsert);
DBEditKam.SetFocus;
end;
//Сохраняем новый камень
procedure TFormDragKamni.SpButSavePozClick(Sender: TObject);
begin
If DBEditKam.Text='' Then
begin
ShowMessage('Введите название камня!');
DBEditKam.SetFocus;
exit;
end;
If DBEditKamCvet.Text='' Then
begin
ShowMessage('Введите цвет камня!');
DBEditKamCvet.SetFocus;
exit;
end;
If DBEditKamForm.Text='' Then
begin
ShowMessage('Введите форму камня!');
DBEditKamForm.SetFocus;
exit;
end;
If DBEditKamRazmer.Text='' Then
begin
ShowMessage('Введите размеп камня!');
DBEditKamRazmer.SetFocus;
exit;
end;
If DBEditCena.Text='' Then
begin
ShowMessage('Введите цену камня!');
DBEditCena.SetFocus;
exit;
end;
try
PROVERKA:=StrToFloat(DBEditCena.Text); //Считываем введенную цену камня
except
on EConvertError do
begin
ShowMessage('В поле для цены одного камня введено не числовое значение!');
DBEditCena.Text:= '';
exit;
end;
end;
try
PROVERKA:=StrToFloat(DBEditKamRazmer.Text); //Считываем введенный размер камня
except
on EConvertError do
begin
ShowMessage('В поле размер камня введено не числовое значение!');
DBEditKamRazmer.Text:= '';
exit;
end;
end;
DBNavigatorOstKam.BtnClick(nbPost);
SpButSavePoz.Visible:=False;
SpButDeletPozKam.Visible:=True;
SpButAddPoz.Visible:=True;
DBNavigatorOstKam.Enabled:=True;
DBEditKam.ReadOnly:=True;
DBEditKamForm.ReadOnly:=True;
DBEditKamCvet.ReadOnly:=True;
DBEditKamRazmer.ReadOnly:=True;
DBGridOstatokKam.ReadOnly:=True;;
DBEditCena.ReadOnly:=True;
end;
//Изменение цены камней
procedure TFormDragKamni.SpButDeletPozKamClick(Sender: TObject);
begin
DBNavigatorOstKam.BtnClick(nbEdit);
SpButSavePoz.Visible:=True;
SpButDeletPozKam.Visible:=False;
SpButAddPoz.Visible:=False;
DBNavigatorOstKam.Enabled:=False;
DBEditKam.ReadOnly:=False;
DBEditKamForm.ReadOnly:=False;
DBEditKamCvet.ReadOnly:=False;
DBEditKamRazmer.ReadOnly:=False;
DBEditCena.ReadOnly:=True;
ShowMessage('Измените цену камня и сохраните изменения!');
DBEditCena.SetFocus;
end;
//Сброс параметров поиска
procedure TFormDragKamni.SpButSbrosClick(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;
DM.DataModuleUvelir.ADOQueryKamPrihod.Close; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('KAM').Value:=DBEditKam.Text;
DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text; DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text;
If DBEditKamRazmer.Text<>'' Then DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text)
Else DM.DataModuleUvelir.ADOQueryKamPrihod.Parameters.ParamByName('RAZ').Value:=0;
DM.DataModuleUvelir.ADOQueryKamPrihod.Open;
DM.DataModuleUvelir.ADOQueryKamRashod.Close; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('KAM').Value:=DBEditKam.Text; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text; DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text;
If DBEditKamRazmer.Text<>'' Then DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text)
Else DM.DataModuleUvelir.ADOQueryKamRashod.Parameters.ParamByName('RAZ').Value:=0;
DM.DataModuleUvelir.ADOQueryKamRashod.Open;
DM.DataModuleUvelir.ADOQueryKamniRezerv.Close; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('KAM').Value:=DBEditKam.Text; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('FORMA').Value:=DBEditKamForm.Text; DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('CVET').Value:=DBEditKamCvet.Text;
If DBEditKamRazmer.Text<>'' Then DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('RAZ').Value:=StrToFloat(DBEditKamRazmer.Text)
Else DM.DataModuleUvelir.ADOQueryKamniRezerv.Parameters.ParamByName('RAZ').Value:=0;
DM.DataModuleUvelir.ADOQueryKamniRezerv.Open;
If DBEditPrihod.Text='' Then
EditPrihod2.Text:='0'
Else
EditPrihod2.Text:=DBEditPrihod.Text;
If DBEditRashod.Text='' Then
EditRashod2.Text:='0'
Else
EditRashod2.Text:=DBEditRashod.Text;
If DBEditRezerv.Text='' Then
EditRezerv2.Text:='0'
Else
EditRezerv2.Text:=DBEditRezerv.Text;
EditOstatok.Text:=IntToStr(StrToInt(EditPrihod2.Text)-StrToInt(EditRashod2.Text));
EditOSTREZ.Text:=IntToStr(StrToInt(EditOstatok.Text)-StrToInt(EditRezerv2.Text));
SpButSbros.Visible:=False;
end;
//Отображение остатков с учетом зарезервированных камней
procedure TFormDragKamni.EditOSTREZChange(Sender: TObject);
begin
If StrToInt(EditOSTREZ.Text)=0 Then
begin
ShowMessage('Остатков с учетом зарезервированных камней не достаточно для продолжения работы!.Нужны поставки данных драгоценных камней!');
EditOSTREZ.Color:=clSkyBlue;
end;
If StrToInt(EditOSTREZ.Text)<0 Then
begin
ShowMessage('На данный момент зарезервированно больше камней чем, есть в наличии! Срочно нужны поставки камней!');
EditOSTREZ.Color:=clRed;
end;
If StrToInt(EditOSTREZ.Text)>0 Then
EditOSTREZ.Color:=clMoneyGreen;
end;
end.
Модуль формы МЕТАЛЛЫ (UnitMetall)
unit UnitMetall;
implementation
uses Uvelir, UnitModel, DM, UnitOSTATKI;
{$R *.dfm}
//Активация формы
procedure TFormMetall.FormActivate(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryOSTMET.Close;
DM.DataModuleUvelir.ADOQueryOSTMET.Open;
end;
//Отчет по остаткам
procedure TFormMetall.SpButReportClick(Sender: TObject);
begin
UnitOSTATKI.FormOSTMET.QuickRepOSTMET.Preview;
end;
end.
Модуль формы ПОСТАВКА КАМНЕЙ (UnitKamni)
unit UnitKamni;
implementation
uses Uvelir, DM, UnitPOSTAVSHIK, Unit2DragKamni;
{$R *.dfm}
//Отображение поставщиков и поставок при изменении Фильтра по поставщикам
procedure TFormKamni.DBLookupComBoxPostKamClick(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryPostKam.Close; DM.DataModuleUvelir.ADOQueryPostKam.Parameters.ParamByName('POST').Value:=DBLookupComBoxPostKam.Text;
DM.DataModuleUvelir.ADOQueryPostKam.Open;
DM.DataModuleUvelir.ADOQueryPostavkaKam.Close; DM.DataModuleUvelir.ADOQueryPostavkaKam.Parameters.ParamByName('POST').Value:=DBLookupComBoxPostKam.Text;
DM.DataModuleUvelir.ADOQueryPostavkaKam.Open;
end;
//Добавление новой поставки
procedure TFormKamni.SpButAddPostClick(Sender: TObject);
begin
DBNavigatorPost.BtnClick(nbInsert); DBGridPostKam.DataSource.DataSet.FieldValues['ДатаПоставки']:=DateToStr(Date); DBGridPostKam.DataSource.DataSet.FieldValues['Поставщик']:=DBEditPost.Text;
DBNavigatorPost.BtnClick(nbPost);
ShowMessage('Добавьте позиции к поставке! (Кнопка "ПОЗИЦИЯ")');
end;
//Отображение данных о текущей поставке
procedure TFormKamni.DBEditKodPostChange(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryPostKamPoz.Close; DM.DataModuleUvelir.ADOQueryPostKamPoz.Parameters.ParamByName('KOD').Value:=DBEditKodPost.Text;
DM.DataModuleUvelir.ADOQueryPostKamPoz.Open;
end;
//Отображение данных о камнях при изменении фильтра камней
procedure TFormKamni.DBLookupComBoxKamFClick(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryKatalogKam.Close; DM.DataModuleUvelir.ADOQueryKatalogKam.Parameters.ParamByName('KAM').Value:=DBLookupComBoxKamF.Text;
DM.DataModuleUvelir.ADOQueryKatalogKam.Open;
end;
//Добавление новой позиции к поставке камней
procedure TFormKamni.SpButAddPozClick(Sender: TObject);
begin
DBNavigatorPostKamPoz.BtnClick(nbInsert);
DBEditKodPostPoz.Text:=DBEditKodPost.Text;
DBEdiKamPoz.Text:=DBEditKamMod.Text;
DBEditKamFormPoz.Text:=DBEditFormaKamMod.Text;
DBEditKamCvetPoz.Text:=DBEditCvetKamMod.Text;
DBEditKamRazmPoz.Text:=DBEditRazKamMod.Text;
Дата добавления: 2015-09-04; просмотров: 36 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ПРИЛОЖЕНИЕ К. Листинг программного кода 1 страница | | | ПРИЛОЖЕНИЕ К. Листинг программного кода 3 страница |