Читайте также: |
|
ShowMessage('Введите колличество камней и цену одного камня, а затем сохраните добавленную позицию! (Кнопка "СОХРАНИТЬ.позиция")');
DBEditKamKolPoz.ReadOnly:=False;
DBEditKamCenaPoz.ReadOnly:=False;
DBEditKamKolPoz.SetFocus;
SpButSavePoz.Visible:=True;
SpButDeletPozKam.Visible:=False;
DBNavigatorPost.Enabled:=False;
end;
//Сохранение добавленной позиции к поставке камней
procedure TFormKamni.SpButSavePozClick(Sender: TObject);
begin
If DBEditKamKolPoz.Text='' Then
begin
ShowMessage('Введите колличество камней!');
DBEditKamKolPoz.SetFocus;
exit;
end;
If DBEditKamCenaPoz.Text='' Then
begin
ShowMessage('Введите цену одного камня!');
DBEditKamCenaPoz.SetFocus;
exit;
end;
try
k:=StrToInt(DBEditKamKolPoz.Text); //Считываем введенное колличество камней
except
on EConvertError do
begin
ShowMessage('В поле для колличества камней введено неверное значение! Колличество камней должно быть целым положительным числом!');
DBEditKamKolPoz.Text:= '';
exit;
end;
end;
try
c:=StrToFloat(DBEditKamCenaPoz.Text); //Считываем введенную цену камня
except
on EConvertError do
begin
ShowMessage('В поле для цены одного камня введено не числовое значение!');
DBEditKamCenaPoz.Text:= '';
exit;
end;
end;
DBNavigatorPostKamPoz.BtnClick(nbPost);
DBEditKamKolPoz.ReadOnly:=True;
DBEditKamCenaPoz.ReadOnly:=True;
SpButSavePoz.Visible:=False;
DM.DataModuleUvelir.ADOQueryPostKamPoz.Close;
DM.DataModuleUvelir.ADOQueryPostKamPoz.Parameters.ParamByName('KOD').Value:=DBEditKodPost.Text;
DM.DataModuleUvelir.ADOQueryPostKamPoz.Open;
DM.DataModuleUvelir.ADOQueryPostavkaKam.Close; DM.DataModuleUvelir.ADOQueryPostavkaKam.Parameters.ParamByName('POST').Value:=DBEditPost.Text;
DM.DataModuleUvelir.ADOQueryPostavkaKam.Open;
SpButDeletPozKam.Visible:=True;
DBNavigatorPost.Enabled:=True;
end;
//Удалить позицию из поставки камней
procedure TFormKamni.SpButDeletPozKamClick(Sender: TObject);
begin
DBNavigatorPostKamPoz.BtnClick(nbDelete);
DM.DataModuleUvelir.ADOQueryPostavkaKam.Close; DM.DataModuleUvelir.ADOQueryPostavkaKam.Parameters.ParamByName('POST').Value:=DBEditPost.Text;
DM.DataModuleUvelir.ADOQueryPostavkaKam.Open;
end;
//Переход к форме поставщики камней
procedure TFormKamni.SpButPostClick(Sender: TObject);
begin
FormPOSTAVSHIK.Show;
end;
//Обновление данных о поставках текущего поставщика
procedure TFormKamni.DBEditPostChange(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryPostavkaKam.Close; DM.DataModuleUvelir.ADOQueryPostavkaKam.Parameters.ParamByName('POST').Value:=DBEditPost.Text;
DM.DataModuleUvelir.ADOQueryPostavkaKam.Open;
end;
//Активация формы
procedure TFormKamni.FormActivate(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryPostKam.Close; DM.DataModuleUvelir.ADOQueryPostKam.Parameters.ParamByName('POST').Value:=DBEditPost.Text;
DM.DataModuleUvelir.ADOQueryPostKam.Open;
DM.DataModuleUvelir.ADOQueryPostKamPoz.Close; DM.DataModuleUvelir.ADOQueryPostKamPoz.Parameters.ParamByName('KOD').Value:=DBEditKodPost.Text;
DM.DataModuleUvelir.ADOQueryPostKamPoz.Open;
end;
//Переход к форме остптки драгоценных камней
procedure TFormKamni.SpButDragKamniClick(Sender: TObject);
begin
FormDragKamni.Show;
end;
end.
Модуль формы ПОСТАВЩИКИ (UnitPOSTAVSHIK)
unit UnitPOSTAVSHIK;
implementation
uses DM, UnitKamni;
{$R *.dfm}
//Поиск поставщиков
procedure TFormPOSTAVSHIK.SpButPoiskPostClick(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryPOSTAVSHIK.Close; DM.DataModuleUvelir.ADOQueryPOSTAVSHIK.Parameters.ParamByName('POST').Value:=EditPoiskPost.Text;
DM.DataModuleUvelir.ADOQueryPOSTAVSHIK.Open;
DBEditPost.DataSource.DataSet:=DM.DataModuleUvelir.ADOQueryPOSTAVSHIK;
SpButSbros.Visible:=True;
end;
//Сброс параметров поиска
procedure TFormPOSTAVSHIK.SpButSbrosClick(Sender: TObject);
begin
DBEditPost.DataSource.DataSet:=DM.DataModuleUvelir.ADOTablePOSTAVSHIK;
SpButSbros.Visible:=False;
EditPoiskPost.Text:='';
end;
//Закрытие формы
procedure TFormPOSTAVSHIK.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DM.DataModuleUvelir.ADOQueryPostKamList.Close;
DM.DataModuleUvelir.ADOQueryPostKamList.Open;
FormKamni.DBLookupComBoxPostKam.ListSource.DataSet.Close;
FormKamni.DBLookupComBoxPostKam.ListSource.DataSet.Open;
DM.DataModuleUvelir.ADOQueryPostKam.Close; DM.DataModuleUvelir.ADOQueryPostKam.Parameters.ParamByName('POST').Value:=DBEditPost.Text;
DM.DataModuleUvelir.ADOQueryPostKam.Open;
end;
end.
Модуль формы СКУПКА МЕТАЛЛОВ (UnitSkupkaMetall)
unit UnitSkupkaMetall;
implementation
uses Uvelir, UnitMetall, DM, UnitAddPoz, UnitKVITANCE;
{$R *.dfm}
//Процедура отображения позиций квитанции и итоговой суммы
procedure TFormSkupkaMet.DBEditKvitSkupChange(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQuerySkupkaMet.Close; DM.DataModuleUvelir.ADOQuerySkupkaMet.Parameters.ParamByName('KOD').Value:=DBEditKvitSkup.Text;
DM.DataModuleUvelir.ADOQuerySkupkaMet.Open;
DM.DataModuleUvelir.ADOQuerySumKvit.Close; DM.DataModuleUvelir.ADOQuerySumKvit.Parameters.ParamByName('KODITOG').Value:=DBEditKvitSkup.Text;
DM.DataModuleUvelir.ADOQuerySumKvit.Open;
end;
//Поиск квитанции по дате
procedure TFormSkupkaMet.SpButPoiskKvitDateClick(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQuerySkupDate.Close;
DM.DataModuleUvelir.ADOQuerySkupDate.Parameters.ParamByName('DATE').Value:=DateToStr(DTPickPoiskDATE.Date);
DM.DataModuleUvelir.ADOQuerySkupDate.Open;
DBEditKvitSkup.DataSource.DataSet:=DM.DataModuleUvelir.ADOQuerySkupDate;
end;
//Поиск квитанции по коду
procedure TFormSkupkaMet.SpButPoiskKviyKodClick(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQuerySkupKvit.Close;
DM.DataModuleUvelir.ADOQuerySkupKvit.Parameters.ParamByName('KVITANCIY').Value:=EditPoiskKOD.Text;
DM.DataModuleUvelir.ADOQuerySkupKvit.Open;
DBEditKvitSkup.DataSource.DataSet:=DM.DataModuleUvelir.ADOQuerySkupKvit;
end;
//Процедура открытия отчета
procedure TFormSkupkaMet.SpButReportClick(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQuerySkupkaMet.Close;
DM.DataModuleUvelir.ADOQuerySkupkaMet.Parameters.ParamByName('KOD').Value:=DBEditKvitSkup.Text;
DM.DataModuleUvelir.ADOQuerySkupkaMet.Open;
DM.DataModuleUvelir.ADOQuerySumKvit.Close; DM.DataModuleUvelir.ADOQuerySumKvit.Parameters.ParamByName('KODITOG').Value:=DBEditKvitSkup.Text;
DM.DataModuleUvelir.ADOQuerySumKvit.Open;
UnitKVITANCE.FormKVITANCE.QuickRepKVITANCE.Preview;
end;
//Процедура добавления новой квитанции
procedure TFormSkupkaMet.SpButAddKvitClick(Sender: TObject);
begin
DBNavigatorSkupKvit.BtnClick(nbInsert);
DBEditSkDate.Text:=DateToStr(Date);
end;
//Процедура сохраняет позицию в квитанцию
procedure TFormSkupkaMet.SpButSavePozClick(Sender: TObject);
begin
DBNavigatorSkupKvit.Enabled:=True;
DBNavigatorPosKvit.Enabled:=True;
DBNavigatorPosKvit.BtnClick(nbPost);
SpButDelPoz.Visible:=True;
SpButAddKvit.Visible:=True;
SpButReport.Visible:=True;
SpButMET.Visible:=True;
SpButSavePoz.Visible:=False;
SpButAddPoz.Visible:=True;
DM.DataModuleUvelir.ADOQuerySumKvit.Close; DM.DataModuleUvelir.ADOQuerySumKvit.Parameters.ParamByName('KODITOG').Value:=DBEditKvitSkup.Text;
DM.DataModuleUvelir.ADOQuerySumKvit.Open;
DM.DataModuleUvelir.ADOQuerySkupkaMet.Close; DM.DataModuleUvelir.ADOQuerySkupkaMet.Parameters.ParamByName('KOD').Value:=DBEditKvitSkup.Text;
DM.DataModuleUvelir.ADOQuerySkupkaMet.Open;
end;
//Процедура добавляет новую позицию в квитанцию
procedure TFormSkupkaMet.SpButAddPozClick(Sender: TObject);
begin
DBNavigatorPosKvit.BtnClick(nbInsert);
SpButDelPoz.Visible:=False;
SpButAddKvit.Visible:=False;
SpButReport.Visible:=False;
SpButMET.Visible:=False;
SpButAddPoz.Visible:=False;
FormAddPos.Show;
end;
//Сброс параметров поиска
procedure TFormSkupkaMet.SpButSbrosClick(Sender: TObject);
begin
DBEditKvitSkup.DataSource.DataSet:=DM.DataModuleUvelir.ADOTableSkupkaMet;
EditPoiskKOD.Text:='';
end;
//Открываем остатки металлов
procedure TFormSkupkaMet.SpButMETClick(Sender: TObject);
begin
FormMetall.Show;
end;
procedure TFormSkupkaMet.SpButDelPozClick(Sender: TObject);
begin
DBNavigatorPosKvit.BtnClick(nbDelete);
DM.DataModuleUvelir.ADOQuerySkupkaMet.Close;
DM.DataModuleUvelir.ADOQuerySkupkaMet.Parameters.ParamByName('KOD').Value:=DBEditKvitSkup.Text;
DM.DataModuleUvelir.ADOQuerySkupkaMet.Open;
DM.DataModuleUvelir.ADOQuerySumKvit.Close; DM.DataModuleUvelir.ADOQuerySumKvit.Parameters.ParamByName('KODITOG').Value:=DBEditKvitSkup.Text;
DM.DataModuleUvelir.ADOQuerySumKvit.Open;
end;
end.
Модуль формы ДОБАВИТЬ ПОЗИЦИЮ (UnitAddPoz)
unit UnitAddPoz;
implementation
uses Uvelir, UnitSkupkaMetall, DM;
{$R *.dfm}
//Отображаем список проб текущего металла
procedure TFormAddPos.DBLookupComBoxMetPozClick(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryProba.Close; DM.DataModuleUvelir.ADOQueryProba.Parameters.ParamByName('METAL').Value:=DBLookupComBoxMetPoz.Text;
DM.DataModuleUvelir.ADOQueryProba.Open;
end;
//Записывает введенные данные в новую позицию квитанции
procedure TFormAddPos.BitBtnOKPozClick(Sender: TObject);
begin
If (EditVesPoz.Text='') Then
begin
ShowMessage('Введите вeс изделий!');
EditVesPoz.SetFocus;
exit;
end;
If (EditKolPoz.Text='') Then
begin
ShowMessage('Введите колличество изделий!');
EditKolPoz.SetFocus;
exit;
end;
If (EditCenaPoz.Text='') Then
begin
ShowMessage('Введите цену за грамм добаляемого металла!');
EditCenaPoz.SetFocus;
exit;
end;
If (DBLookupComBoxMetPoz.Text='') Then
begin
ShowMessage('Выберите металл!');
exit;
end;
If (ComBoxVidPoz.Text='') Then
begin
ShowMessage('Выберите вид добаляемой позиции!');
exit;
end;
If (DBLookupComBoxProbaPoz.Text='') Then
begin
ShowMessage('Выберите пробу металла добаляемой позиции!');
exit;
end;
If (EditKomment.Text='') Then
begin
ShowMessage('Введите описание добаляемой позиции!');
exit;
end;
try
Kol:=StrToInt(EditKolPoz.Text); //Считываем введенное колличество
except
on EConvertError do
begin
ShowMessage('В поле для колличества изделий введено неверное значение! Колличество изделий должно быть целым положительным числом!');
EditKolPoz.Text:= '';
exit;
end;
end;
try
Cena:=StrToFloat(EditCenaPoz.Text); //Считываем цену за грамма
except
on EConvertError do
begin
ShowMessage('В поле для цены одного грамма добавляемого металла введено не числовое значение!');
EditCenaPoz.Text:= '';
exit;
end;
end;
try
Ves:=StrToFloat(EditVesPoz.Text); //Считываем вес металла
except
on EConvertError do
begin
ShowMessage('В поле для веса добавляемого металла введено не числовое значение!');
EditVesPoz.Text:= '';
exit;
end;
end; UnitSkupkaMetall.FormSkupkaMet.DBEditSkMet.Text:=DBLookupComBoxMetPoz.Text;
UnitSkupkaMetall.FormSkupkaMet.DBEditSkVid.Text:=ComBoxVidPoz.Text; UnitSkupkaMetall.FormSkupkaMet.DBEditSkProba.Text:=DBLookupComBoxProbaPoz.Text;
UnitSkupkaMetall.FormSkupkaMet.DBEditSKVes.Text:=EditVesPoz.Text;
UnitSkupkaMetall.FormSkupkaMet.DBEditSkKol.Text:=EditKolPoz.Text;
UnitSkupkaMetall.FormSkupkaMet.DBEditSkCena.Text:=EditCenaPoz.Text;
UnitSkupkaMetall.FormSkupkaMet.DBEditKommentPoz.Text:=EditKomment.Text; UnitSkupkaMetall.FormSkupkaMet.DBEditKodKvit.Text:=UnitSkupkaMetall.FormSkupkaMet.DBEditKvitSkup.Text;
FormAddPos.Close;
UnitSkupkaMetall.FormSkupkaMet.SpButSavePoz.Visible:=True;
FormAddPos.Close;
ShowMessage('Сохраните добавленную позицию!');
end;
//Закрытие формы
procedure TFormAddPos.FormClose(Sender: TObject; var Action: TCloseAction);
begin
UnitSkupkaMetall.FormSkupkaMet.DBNavigatorSkupKvit.Visible:=True;
UnitSkupkaMetall.FormSkupkaMet.DBNavigatorPosKvit.Visible:=True;
UnitSkupkaMetall.FormSkupkaMet.SpButDelPoz.Visible:=True;
UnitSkupkaMetall.FormSkupkaMet.SpButAddKvit.Visible:=True;
UnitSkupkaMetall.FormSkupkaMet.SpButReport.Visible:=True;
UnitSkupkaMetall.FormSkupkaMet.SpButMET.Visible:=True;
UnitSkupkaMetall.FormSkupkaMet.SpButAddPoz.Visible:=True;
// FormAddPos.Close;
end;
end.
Модуль формы ЗАРЕЗЕРВИРОВАТЬ МЕТАЛЛ (UnitRezervMetall)
unit UnitRezervMetall;
implementation
uses Uvelir, DM, UnitLIGATURA, UnitPRIPOI;
{$R *.dfm}
//Активация формы
procedure TFormRezervMet.FormActivate(Sender: TObject);
var
k: integer;
v1, v2: single;
begin
EditM.Text:=Uvelir.Form1.DBEditModel.Text;
EditR.Text:=Uvelir.Form1.DBEditRazmer.Text;
EditV.Text:=Uvelir.Form1.DBEditVes.Text;
EditK.Text:=Uvelir.Form1.DBEditKol.Text;
EditMet.Text:=Uvelir.Form1.DBEditMet.Text;
EditPr.Text:=Uvelir.Form1.DBEditProba.Text;
EditZ.Text:=Uvelir.Form1.DBEditZakzzIzd.Text;
EditUgarIZD.Text:=Uvelir.Form1.DBEditUGAR.Text;
DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Close; DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Parameters.ParamByName('N').Value:= EditZ.Text; DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Parameters.ParamByName('R').Value:=EditR.Text;
DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Open;
DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Close; DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Parameters.ParamByName('R').Value:=EditR.Text;
DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Open;
DM.DataModuleUvelir.ADOQueryNeobhVES.Close; DM.DataModuleUvelir.ADOQueryNeobhVES.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryNeobhVES.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryNeobhVES.Parameters.ParamByName('R').Value:=EditR.Text;
DM.DataModuleUvelir.ADOQueryNeobhVES.Open;
DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Close; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('R').Value:=EditR.Text;
DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Open;
GroupBox4.Caption:='ИТОГО ВЕС '+EditPr.Text+' ПРОБЫ';
DM.DataModuleUvelir.ADOQueryVesMetMASTER.Close; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('R').Value:=EditR.Text;
DM.DataModuleUvelir.ADOQueryVesMetMASTER.Open;
GroupBox5.Caption:='ИТОГО ВЕС '+EditPr.Text+' ПРОБЫ';
If DBTextmetKlient.Caption<>'' Then
begin
v1:=StrToFloat(DBTextmetKlient.Caption)-StrToFloat(DBTextmetKlient.Caption)*StrToFloat(EditUgarIZD.Text)/100;
LabelSUgarom.Caption:=Format('%f',[v1]);
end
Else
LabelSUgarom.Caption:='0';
If DBTextmetKlient.Caption='' Then
DBTextMetSklient.Caption:=DBTextITOGOmet.Caption
Else
begin
v1:=StrToFloat(DBTextITOGOmet.Caption)-StrToFloat(LabelSUgarom.Caption);
DBTextMetSklient.Caption:=Format('%f',[v1]);
end;
If DBTextITOGOmetMaster.Caption='' Then
DBTextMetMaster.Caption:=DBTextMetSklient.Caption
Else
begin
v1:=StrToFloat(DBTextMetSklient.Caption)-StrToFloat(DBTextITOGOmetMaster.Caption);
DBTextMetMaster.Caption:=Format('%f',[v1]);
end;
end;
//Добавление металла клиента
procedure TFormRezervMet.SpButAddPozClick(Sender: TObject);
begin
DBNavigatorMetKLIENT.BtnClick(nbInsert);
DBGrid2.DataSource.DataSet.FieldValues['НомерЗаказа']:=EditZ.Text;
DBGrid2.DataSource.DataSet.FieldValues['АрттикулМодели']:=EditM.Text;
DBGrid2.DataSource.DataSet.FieldValues['РазмерДлина']:=EditR.Text;
SpButSavePoz.Visible:=True;
SpButAddPoz.Visible:=False;
ShowMessage('Выберите вид, металл, пробу вес!');
ComBoxVid.SetFocus;
end;
//Удаление металла клиента
procedure TFormRezervMet.SpButDelPozClick(Sender: TObject);
begin
DBNavigatorMetKLIENT.BtnClick(nbDelete);
end;
//Список проб текущего металла
procedure TFormRezervMet.DBLComboBoxMetKlientClick(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryProba.Close; DM.DataModuleUvelir.ADOQueryProba.Parameters.ParamByName('METAL').Value:=DBLComboBoxMetKlient.Text;
DM.DataModuleUvelir.ADOQueryProba.Open;
end;
//Сохранить металл клиента
procedure TFormRezervMet.SpButSavePozClick(Sender: TObject);
var
k: single;
begin
If ComBoxVid.Text='' Then
begin
ShowMessage('Выберите вид сдаваемого металла!');
ComBoxVid.SetFocus;
exit;
end;
If DBLComboBoxMetKlient.Text='' Then
begin
ShowMessage('Выберите сдаваемый металл!');
exit;
end;
If DBLComBoxProba.Text='' Then
begin
ShowMessage('Выберите пробу сдаваемого металла!');
exit;
end;
try
k:=StrToFloat(EditVes.Text); //Считываем вес металла
except
on EConvertError do
begin
ShowMessage('В поле для веса металла введено не числовое значение!');
EditVes.Text:= '';
EditVes.SetFocus;
exit;
end;
end;
DBGrid2.DataSource.DataSet.FieldValues['Вид']:=ComBoxVid.Text; DBGrid2.DataSource.DataSet.FieldValues['Металл']:=DBLComboBoxMetKlient.Text; DBGrid2.DataSource.DataSet.FieldValues['ЗаказМеталлКлиента.Проба']:=DBLComBoxProba.Text;
DBGrid2.DataSource.DataSet.FieldValues['Вес']:=EditVes.Text;
DBNavigatorMetKLIENT.BtnClick(nbPost);
DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Close; DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Parameters.ParamByName('R').Value:=EditR.Text;
DM.DataModuleUvelir.ADOQueryRezervMetKLIENT.Open;
DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Close; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Parameters.ParamByName('R').Value:=EditR.Text;
DM.DataModuleUvelir.ADOQueryItogoVesMetKLIENT.Open;
If DBTextmetKlient.Caption<>'' Then
begin
k:=StrToFloat(DBTextmetKlient.Caption)-StrToFloat(DBTextmetKlient.Caption)*StrToFloat(EditUgarIZD.Text)/100;
LabelSUgarom.Caption:=Format('%f',[k]);
end
Else
LabelSUgarom.Caption:='0';
If DBTextmetKlient.Caption='' Then
DBTextMetSklient.Caption:=DBTextITOGOmet.Caption
Else
begin
k:=StrToFloat(DBTextITOGOmet.Caption)-StrToFloat(LabelSUgarom.Caption);
DBTextMetSklient.Caption:=Format('%f',[k]);
end;
end;
//Добавление металла мастерской
procedure TFormRezervMet.SpButMetMasterAddClick(Sender: TObject);
begin
DBNavigatorMetMASTER.BtnClick(nbInsert);
DBGrid1.DataSource.DataSet.FieldValues['НомерЗаказа']:=EditZ.Text;
DBGrid1.DataSource.DataSet.FieldValues['АртикулМодели']:=EditM.Text;
DBGrid1.DataSource.DataSet.FieldValues['РазмерДлина']:=EditR.Text;
SpButMetMasterSave.Visible:=True;
SpButMetMasterAdd.Visible:=False;
ShowMessage('Выберите металл и пробу, и введите вес добавляемого металла!');
EditMetMasterVES.SetFocus;
end;
//Удаление металла мастерской
procedure TFormRezervMet.SpButMetMasterDeleteClick(Sender: TObject);
begin
DBNavigatorMetMASTER.BtnClick(nbDelete);
end;
//Сохранить металл мастерской
procedure TFormRezervMet.SpButMetMasterSaveClick(Sender: TObject);
var
k: single;
begin
If DBLComBoxMetMaster.Text='' Then
begin
ShowMessage('Выберите добавляемый металл!');
exit;
end;
If DBLComBoxMetMasterPROBA.Text='' Then
begin
ShowMessage('Выберите пробу добавляемого металла!');
exit;
end;
try
k:=StrToFloat(EditMetMasterVES.Text); //Считываем вес металла
except
on EConvertError do
begin
ShowMessage('В поле для веса металла введено не числовое значение!');
EditMetMasterVES.Text:= '';
EditMetMasterVES.SetFocus;
exit;
end;
end; DBGrid1.DataSource.DataSet.FieldValues['Металл']:=DBLComBoxMetMaster.Text; DBGrid1.DataSource.DataSet.FieldValues['ЗаказМеталлМастерской.Проба']:=DBLComBoxMetMasterPROBA.Text;
DBGrid1.DataSource.DataSet.FieldValues['Вес']:=EditMetMasterVES.Text;
DBNavigatorMetMASTER.BtnClick(nbPost);
DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Close; DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Parameters.ParamByName('R').Value:=EditR.Text;
DM.DataModuleUvelir.ADOQueryRezervMetMASTER.Open;
DM.DataModuleUvelir.ADOQueryVesMetMASTER.Close; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('N').Value:=EditZ.Text; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('ART').Value:=EditM.Text; DM.DataModuleUvelir.ADOQueryVesMetMASTER.Parameters.ParamByName('R').Value:=EditR.Text;
DM.DataModuleUvelir.ADOQueryVesMetMASTER.Open;
SpButMetMasterSave.Visible:=False;
SpButMetMasterAdd.Visible:=True;
If DBTextITOGOmetMaster.Caption='' Then
DBTextMetMaster.Caption:=DBTextMetSklient.Caption
Else
begin
k:=StrToFloat(DBTextMetSklient.Caption)-StrToFloat(DBTextITOGOmetMaster.Caption);
DBTextMetMaster.Caption:=Format('%f',[k]);
end;
end;
//Отображаем остаток металла
procedure TFormRezervMet.DBLComBoxMetMasterPROBAClick(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryOSTATOK.Close; DM.DataModuleUvelir.ADOQueryOSTATOK.Parameters.ParamByName('M').Value:=DBLComBoxMetMaster.Text; DM.DataModuleUvelir.ADOQueryOSTATOK.Parameters.ParamByName('P').Value:=DBLComBoxMetMasterPROBA.Text;
DM.DataModuleUvelir.ADOQueryOSTATOK.Open;
If DBEditOST.Text='' Then
EditOST.Text:='0'
Else
EditOST.Text:=DBEditOST.Text;
end;
procedure TFormRezervMet.DBLComBoxMetMasterClick(Sender: TObject);
begin
DM.DataModuleUvelir.ADOQueryProba.Close; DM.DataModuleUvelir.ADOQueryProba.Parameters.ParamByName('METAL').Value:=DBLComBoxMetMaster.Text;
DM.DataModuleUvelir.ADOQueryProba.Open;
end;
//Калькулятор ЛИГАТУРА
procedure TFormRezervMet.SpButLigaturaClick(Sender: TObject);
begin
FormLIGATURA.Show
end;
//Калькулятор ПРИПОЙ
procedure TFormRezervMet.SpButPRIPOIClick(Sender: TObject);
begin
FormPRIPOI.Show;
end;
end.
Модуль формы МОДЕЛИ (UnitModel)
unit UnitModel;
implementation
uses Uvelir, UnitRazmerModel, UnitKamniModel, UnitIzdel,
UnitMetall, DM;
{$R *.dfm}
//Отображаем данные о текущей модели при активации формы
procedure TFormModel.FormActivate(Sender: TObject);
begin
//Отображаем камни текущей модели
DM.DataModuleUvelir.ADOQueryModKamni.Close; DM.DataModuleUvelir.ADOQueryModKamni.Parameters.ParamByName('ART').Value:=DBEditArtikul.Text;
DM.DataModuleUvelir.ADOQueryModKamni.Open;
//Отображаем размеры текущей модели
DM.DataModuleUvelir.ADOQueryModRazmer.Close; DM.DataModuleUvelir.ADOQueryModRazmer.Parameters.ParamByName('ART').Value:=DBEditArtikul.Text;
DM.DataModuleUvelir.ADOQueryModRazmer.Open;
//Загружаем эскиз модели
Try ImageModelEskiz.Picture.LoadFromFile('model\'+DBEditArtikul.Text+'.jpg');
Except
begin
ShowMessage('Для текущей модели нет изображения!');
ImageModelEskiz.Picture.LoadFromFile('model\model.jpg');
exit;
end;
End;
end;
//Процедура отображает данные о текущей модели
procedure TFormModel.DBEditArtikulChange(Sender: TObject);
begin
//Отображаем камни текущей модели
DM.DataModuleUvelir.ADOQueryModKamni.Close; DM.DataModuleUvelir.ADOQueryModKamni.Parameters.ParamByName('ART').Value:=DBEditArtikul.Text;
DM.DataModuleUvelir.ADOQueryModKamni.Open;
//Отображаем размеры текущей модели
DM.DataModuleUvelir.ADOQueryModRazmer.Close; DM.DataModuleUvelir.ADOQueryModRazmer.Parameters.ParamByName('ART').Value:=DBEditArtikul.Text;
DM.DataModuleUvelir.ADOQueryModRazmer.Open;
If DBEditArtikul.Text<>'' Then
begin
DM.DataModuleUvelir.ADOQueryUGAR.Close;
DM.DataModuleUvelir.ADOQueryUGAR.Parameters.ParamByName('ART').Value:=DBEditArtikul.Text;
DM.DataModuleUvelir.ADOQueryUGAR.Open;
end;
//Отображаем эскиз текущей модели
If DBEditArtikul.Text<>'' Then
//Загружаем эскиз модели
Try ImageModelEskiz.Picture.LoadFromFile('model\'+DBEditArtikul.Text+'.jpg');
Except
begin
ShowMessage('Для текущей модели нет изображения!');
ImageModelEskiz.Picture.LoadFromFile('model\model.jpg');
exit;
end;
End;
IF DBCheckBox1.Checked=True Then
SpButKamenModel.Visible:=True;
IF DBCheckBox1.Checked=False Then
SpButKamenModel.Visible:=False;
end;
//Процедура поиска модели по артикулу
Дата добавления: 2015-09-04; просмотров: 37 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ПРИЛОЖЕНИЕ К. Листинг программного кода 2 страница | | | ПРИЛОЖЕНИЕ К. Листинг программного кода 4 страница |