Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

ПРИЛОЖЕНИЕ К. Листинг программного кода 2 страница

Информационное обеспечение задачи | Используемые классификаторы и системы кодирования | Характеристика нормативно-справочной, входной и оперативной информации | Характеристика результатной информации | Программное обеспечение задачи | Описание программных модулей и структурная схема пакета | Алгоритмы обработки данных | Контрольный пример реализации проекта и его описание | ЗАКЛЮЧЕНИЕ | ПРИЛОЖЕНИЕ Г |


Читайте также:
  1. 1 страница
  2. 1 страница
  3. 1 страница
  4. 1 страница
  5. 1 страница
  6. 1 страница
  7. 1 страница

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 страница

mybiblioteka.su - 2015-2024 год. (0.076 сек.)