Общие рекомендации к организации труда и отдыха при работе с ВТ

 

1. Режим труда и отдыха операторов непосредственно работающих с ВДТ, должен зависеть от характера выполняемой работы: при вводе данных, редактировании программ, чтении информации с экрана. Непрерывная продолжительность работы с ВТ не должна превышать 4-х часов при 8-ми часовом рабочем дне.

2. При 8-ми часовой рабочей смене основным перерывом является перерыв на обед. Дополнительно при работе с ВТ вводятся регламентированные перерывы: - для 1-ой категории работ (работа по считыванию информации с экрана ВДТ или ПЭВМ с предварительным запросом) через 2 часа от начала рабочей смены и через 2 часа после обеденного перерыва продолжительностью 15 минут каждый; - для 2-ой категории работ (работа по вводу информации) через 2 часа от начала рабочей смены и 1.5-2.0 часа после обеденного перерыва продолжительностью 15 минут каждый или продолжительностью 10 минут через каждый час работы; - для 3-ей категории работ (творческая работа в режиме диалога с ПЭВМ) через 1.5-2.0 часа от начала рабочей смены и 1.5-2.0 часа после обеденного перерыва продолжительностью 20 минут каждый или продолжительностью 15 минут через каждый час работы.

 

Таблица 9.6. Время регламентных перерывов в зависимости от продолжительности рабочей смены, вида и категории трудовой деятельностис ВТ

Категория

работы

с ВТ

Уровень нагрузки за рабочую смену при видах работ с ВДТ

Суммарное время регламентированных перерывов, мин

группа А, количество знаков группа Б, количество знаков группа В, час при 8 - ми часовой смене при 16 - ми часовой смене
I до 20.000 до 15.000 до 2.0 30 70
II до 40.000 до 30.000 до 4.0 50 90
III до 60.000 до 60.000 до 6.0 70 120

Примечание: Время перерывов дано при соблюдении требований Санитарных правил и норм. При несоответствии фактических условий труда требованиям настоящих санитарных правил и норм, время регламентированных перерывов следует увеличить на 30 %.

3. Продолжительность непрерывной работы с ВТ без регламентированного перерыва не должна превышать 2-х часов.

4. Пользователи ВТ в производственных условиях должны проходить обязательные предварительные (при поступлении на работу) и периодические медицинские осмотры в порядке и в сроки, установленные Минздравом России.

5. К непосредственной работе с ВТ допускаются лица, не имеющие медицинских противопоказаний.

6. Женщины со времени установления беременности к выполнению всех видов работ, связанных с использованием ВТ, не допускаются. Трудоустройство беременных женщин следует осуществлять в соответствии с "Гигиеническими рекомендациями по рациональному трудоустройству беременных женщин".[15]

 


Заключение

 

В данной дипломной работе стояла задача разработки БД по учету вагонов на подъездном пути предприятия.

В процессе выполнения дипломной работы были достигнуты следующие результаты:

спроектирована концептуальная модель баз данных;

спроектирована логическая модель с учетом нормализации и ссылочной целостности данных;

осуществлена выборка СУБД и построена физическая модель, с определением полей и типов данных;

выбран комплекс технических средств;

реализованы основные программные модули системы;

На основании полученных материалов была разработана информационно-справочная система по учету вагонов на подъездном пути предприятия. Данная система направлена на автоматизацию процесса обработки информации по вагонам, а также для расчета затрат на обслуживание подвижного состава.


Список литературы

 

1. Вендров А.М. Проектирование программного обеспечения экономических информационных систем, Финансы и статистика, М, 2002 г.

2. Гэри Хансен, Джеймс Хансен. Базы данных. Разработка и управление, Бином, М, 2001 г.

3. Джен Л. Харрингтон. Проектирование реляционных баз данных Лори, 2006 г.

4. Джеффри Д. Ульман, Дженнифер Уидом. Основы реляционных баз данных, Лори, М, 2006 г.

5. Кен Хендерсон. Профессиональное руководство по SQL Server. Структура и реализация (+ CD-ROM), Вильямс, М, 2006 г.

6. Министерство здравоохранения Российской Федерации. Гигиенические требования к вычислительной технике, условиям и организации работы, М, 2002 г.

7. Питер Роб, Карлос Коронел. Системы баз данных: проектирование, реализация и управление, БХВ-Петербург, Сп-б, 2004 г.

8. Сорокин А.В. Разработка баз данных, Питер, Сп-б, 2005 г.

9. Томас Коннолли, Каролин Бегг, Анна Страчан. Базы данных. Проектирование, реализация и сопровождение. Теория и практика, Вильямс, М, 2001 г.

10. Шкрыль А.А. Разработка клиент-серверных приложений в Delphi, БХВ-Петербург, Сп-б, 2006 г.

11. Элисон Балтер. Профессиональное программирование в Microsoft Office Access 2003 (+CD-ROM), Вильямс, М, 2006 г.

 



Приложение 1

 

Листинг программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, ActnList, StdCtrls, Grids, DBGrids, OleServer, AccessXP, Qt {, QDialogs};

 

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

PopupMenu1: TPopupMenu;

ActionList1: TActionList;

N1: TMenuItem;

N3: TMenuItem;

GroupBox1: TGroupBox;

DBGrid1: TDBGrid;

add: TAction;

edit: TAction;

del: TAction;

N16: TMenuItem;

N17: TMenuItem;

N18: TMenuItem;

N2: TMenuItem;

N4: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

procedure FormShow(Sender: TObject);

procedure addExecute(Sender: TObject);

procedure editExecute(Sender: TObject);

procedure delExecute(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N12Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

procedure N7Click(Sender: TObject);

procedure N2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

uses Unit3, Unit4, Unit5, Unit2, Unit6, Unit7, Unit9;

 

{$R *.dfm}

 

procedure TForm1.FormShow(Sender: TObject);

begin

Tbl:= 'Vagon';

ShowZapros;

end;

 

procedure TForm1.addExecute(Sender: TObject);

begin

Form6.Caption:= 'Информация по вагону';

Tbl:= 'Vagon';

ForEdit:= '-1';

Form6.ShowModal;

if ((EditMode=false)and(EditIns)) then

   begin

   EditMode:=true;

   Form6.ShowModal;

   end;

end;

 

procedure TForm1.editExecute(Sender: TObject);

begin

if (DataModule2.QShow['V.id']=Null) then

begin

ShowMessage('Нечего редактировать');

EditMode:= false;

end

 else

begin

EditMode:=True;

Form6.ShowModal;

end; 

end;

 

procedure TForm1.delExecute(Sender: TObject);

begin

if (DataModule2.QShow['V.id']=Null) then

begin

ShowMessage('Нечего удалять');

EditMode:= false;

end

 else

begin

Tbl:= 'Vagon';

pole1:= 'id';

pole2:= 'mymonth';

pole3:= 'myyear';

pole4:= 'nomer_vagona';

pole5:= 'invent_nomer';

pole6:= 'year_izgot';

pole7:= 'gruzopodemnost';

pole8:= 'liter';

pole9:= 'key_rod_vagona';

pole10:= 'iznos';

pole11:= 'prinadlezhnost';

pole12:= 'key_raion_dvizh';

pole13:= '';

ForDel:= DataModule2.QShow['v.id'];

DelZapros;

ShowZapros();

 end;

end;

 

procedure TForm1.N4Click(Sender: TObject);

begin

ShowMessage('Бурцева Екатерина');

end;

 

procedure TForm1.N12Click(Sender: TObject);

begin

Form1.Close;

end;

 

procedure TForm1.N10Click(Sender: TObject);

begin

ForReport();

Form9.ShowModal;

end;

 

procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

var InputString: string;

begin

if ([ssCtrl] = Shift) and (key=key_F) then

begin

InputString:= InputBox('Поиск', 'Введите инвентарный номер:', '');

if InputString <> '' then

begin

   if not DataModule2.QShow.Locate('invent_nomer',InputString,[]) then

     begin

      showmessage('Запись не найдена');

     end;

end;

end;   

end;

 

procedure TForm1.N7Click(Sender: TObject);

begin

{ For MyI:=0 to Form9.StringGrid1.RowCount-1 do

begin

Form9.StringGrid1.Cells[0,MyI]:= Form1.DBGrid1.Columns[MyI].Title.Caption;

end;                                                                             }

{ for tmpI:=0 to 10 do

Form9.StringGrid1.Cells[1,tmpI]:= '';}

{ Form9.StringGrid1.Enabled:= true;

Form9.Button1.Enabled:= true;

Form9.Button1.Caption:= 'Искать';

Form9.ShowModal();}

end;

 

procedure TForm1.N2Click(Sender: TObject);

begin

winhelp(Form1.Handle,'help.hlp',HELP_CONTEXT,1);

end;

 

end.


unit Unit2;

 

interface

 

uses

SysUtils, Classes, DB, ADODB;

 

type

TDataModule2 = class(TDataModule)

ADOConnection1: TADOConnection;

Query1: TADOQuery;

DS1: TDataSource;

QShow: TADOQuery;

DSshow: TDataSource;

Qtmp: TADOQuery;

DStmp: TDataSource;

QOSV: TADOQuery;

DSOSV: TDataSource;

Quslugi: TADOQuery;

DSuslugi: TDataSource;

QSelUs: TADOQuery;

DSselUs: TDataSource;

QueryRep: TADOQuery;

DSQueryRep: TDataSource;

ADOQuery1: TADOQuery;

DataSource1: TDataSource;

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

DataModule2: TDataModule2;

 

implementation

 

{$R *.dfm}

 

end.

 

unit Unit3;

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, DBGrids, Menus, ActnList;

 

type

TForm3 = class(TForm)

GroupBox1: TGroupBox;

DBGrid1: TDBGrid;

Edit1: TEdit;

Button1: TButton;

Label1: TLabel;

Edit2: TEdit;

Label2: TLabel;

ActionList1: TActionList;

PopupMenu1: TPopupMenu;

del: TAction;

N1: TMenuItem;

procedure Button1Click(Sender: TObject);

procedure DBGrid1DblClick(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure delExecute(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure DBGrid1CellClick(Column: TColumn);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form3: TForm3;

 

implementation

Uses Unit2, Unit4;

 

{$R *.dfm}

 

procedure TForm3.Button1Click(Sender: TObject);

begin

If (tbl='Ceha') then

begin

ToIns2:= Edit2.Text;

end;

ToIns:= Edit1.Text;

InsertZapros();

ShowZapros();

Edit1.Clear;

Edit2.Clear;  

end;

 

procedure TForm3.DBGrid1DblClick(Sender: TObject);

begin

SelTab();

Form3.Close;

end;

 

procedure TForm3.FormShow(Sender: TObject);

begin

Edit1.SetFocus;

Edit1.Clear;

Edit2.Clear;

If (tbl='Ceha') then

begin

Edit2.Visible:= True;

Edit1.Width:= 161;

Label2.Visible:= True;

end

 else

begin

Edit1.Width:= 225;

Edit2.Visible:= False;

Label2.Visible:= False;   

end;

end;

 

procedure TForm3.delExecute(Sender: TObject);

begin

ForDel:= DataModule2.Query1['id'];

DelZapros;

ShowZapros();

Edit1.Clear;

Edit2.Clear;

end;

 

procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);

begin

 InsEdit:=false;

 ForEdit:='-1';

end;

 

procedure TForm3.DBGrid1CellClick(Column: TColumn);

begin

If (Tbl='Ceha') then

begin

Edit2.Text:= SelectQ[pole3];

end;

Edit1.Text:= SelectQ[pole2];

ForEdit:= SelectQ[pole1];

InsEdit:= True;

end;

end.

 


unit Unit4;

 

interface

Uses ADODB;

var QueryString, TBL, pole1, pole2, Pole3, pole4, Pole5, pole6: string;

pole7, pole8, pole9, pole10, pole11, pole12, pole13: string;

ToIns, ToIns2, ToIns3, ToIns4, ToIns5, ToIns6, ToIns7, ToIns8: string;

ToIns9, ToIns10, ToIns11, ToIns12, ToIns13, ForDel, ForEdit, ForOrder, Diap, TmpFiltr: string;

InsEdit,InsEdit2,InsEdit3,InsEdit4,InsEdit5: boolean;

SelectQ: TADOQuery;

EditMode, ForSort, ForFiltr, EditMode2, EditMode3, EditMode4, EditIns, EditIns2: boolean;

 

Procedure ShowZapros();

Procedure InsertZapros();

Procedure DelZapros();

Procedure SelTab();

Procedure ForReport();

 

implementation

Uses Dialogs, Unit2, Unit5, Unit6, Unit3, Unit7, Unit8, Unit1, Unit9, Unit10, DB;

 

Procedure ShowZapros();

var Polya, Tabli, Svyaz, MyKey: String;

begin

if ((Tbl='Operation')or(Tbl='Station')or(Tbl='Ceha')or

(Tbl='Front')or(Tbl='Gruz')or(Tbl='Rod_vagona')or

(Tbl='Raion_dvizheniya')or(Tbl='Ves')or(Tbl='Vid_uslug')) then

begin

  QueryString:= 'select * from ' + TBL + ' order by ' + pole2;

  SelectQ:= DataModule2.Query1;

end;

 

if (Tbl='Vagon') then

begin

  QueryString:= 'select * from Vagon V, Rod_vagona RV, Raion_dvizheniya RD where V.key_rod_vagona=RV.id and V.key_raion_dvizh=RD.id order by invent_nomer desc';

  SelectQ:= DataModule2.QShow;

end;

 

if (Tbl='Operations_s_vagonom') then

begin

  MyKey:= DataModule2.Qshow['v.id'];

  SelectQ:= DataModule2.QOSV;

  Polya:= 'OSV.*, SNACH.*, SKON.*, FNACH.*, FKON.*, O.*, G.*';

  Tabli:= 'vagon V, station SNACH, station SKON, front FNACH, front FKON, operation O, gruz G, Operations_s_vagonom OSV';

  Svyaz:= 'OSV.key_station_otpr=SNACH.id and OSV.key_front_otpr=FNACH.id and OSV.key_station_naznach=SKON.id and OSV.key_front_naznach=FKON.id and OSV.key_operation=O.id and OSV.key_gruz=G.id and OSV.key_vagon=V.id and OSV.key_vagon=' + MyKey;

   QueryString:= 'select '+Polya+' from '+Tabli+' where '+Svyaz;

end;

 

if (Tbl='Uslugi_sv') then

begin

  MyKey:= DataModule2.QOSV['OSV.id'];

  SelectQ:= DataModule2.Quslugi;

  Polya:= 'USV.*, CNA.*, CS.*, ST.*, VU.*, V.*';

  Tabli:= 'Ceha CNA, Ceha CS, Uslugi_sv USV, Operations_s_vagonom OSV, Stoimost ST, Vid_uslug VU, Ves V';

  Svyaz:= 'USV.key_uslugi=ST.id and USV.key_na=CNA.id and USV.key_s=CS.id and USV.key_vagon=OSV.id and ST.key_vid_uslug=VU.id and ST.key_ves=V.id and USV.key_vagon=' + MyKey;

  QueryString:= 'select '+Polya+' from '+Tabli+' where '+Svyaz;

end;

 

if (Tbl='Stoimost') then

begin

  SelectQ:= DataModule2.QSelUs;

  Polya:= ' VU.*, V.*, ST.*';

  Tabli:= 'Vid_uslug VU, Ves V, Stoimost ST';

  Svyaz:= 'ST.key_vid_uslug=VU.id and ST.key_ves=V.id';

  QueryString:= 'select '+Polya+' from '+Tabli+' where '+Svyaz;

end;

 

with SelectQ do

begin

Close;

SQL.Clear;

 SQL.Add(QueryString);

Open;

end;

 

if (Tbl='Vagon') then

begin

SelectQ.Fields[0].Visible:= false;

SelectQ.Fields[7].Visible:= false;

SelectQ.Fields[9].Visible:= false;

SelectQ.Fields[10].Visible:= false;

SelectQ.Fields[12].Visible:= false;

Form1.DBGrid1.Columns[0].Title.Caption:='Месяц';

Form1.DBGrid1.Columns[1].Title.Caption:='Год';

Form1.DBGrid1.Columns[2].Title.Caption:='№ вагона';

Form1.DBGrid1.Columns[3].Title.Caption:='Инв. №';

Form1.DBGrid1.Columns[4].Title.Caption:='Изгот.';

Form1.DBGrid1.Columns[5].Title.Caption:='Грузопод. т.';

Form1.DBGrid1.Columns[6].Title.Caption:='Износ %';

Form1.DBGrid1.Columns[7].Title.Caption:='Род вагона';

Form1.DBGrid1.Columns[8].Title.Caption:='Район движения';

end;

 

if (Tbl='Operations_s_vagonom') then

begin

SelectQ.Fields[0].Visible:= false;

SelectQ.Fields[1].Visible:= false;

SelectQ.Fields[2].Visible:= false;

SelectQ.Fields[3].Visible:= false;

SelectQ.Fields[4].Visible:= false;

SelectQ.Fields[7].Visible:= false;

SelectQ.Fields[8].Visible:= false;

SelectQ.Fields[12].Visible:= false;

SelectQ.Fields[13].Visible:= false;

SelectQ.Fields[15].Visible:= false;

SelectQ.Fields[17].Visible:= false;

SelectQ.Fields[19].Visible:= false;

SelectQ.Fields[21].Visible:= false;

SelectQ.Fields[23].Visible:= false;

Form6.DBGrid1.Columns[0].Title.Caption:='Дата';

Form6.DBGrid1.Columns[1].Title.Caption:='Время';

Form6.DBGrid1.Columns[2].Title.Caption:='Вес';

Form6.DBGrid1.Columns[3].Title.Caption:='№ дор. вед.';

Form6.DBGrid1.Columns[4].Title.Caption:='№ вед.';

Form6.DBGrid1.Columns[5].Title.Caption:='Станция отпр.';

Form6.DBGrid1.Columns[6].Title.Caption:='Станция пол.';

Form6.DBGrid1.Columns[7].Title.Caption:='Фронт отпр.';

Form6.DBGrid1.Columns[8].Title.Caption:='Фронт пол.';

Form6.DBGrid1.Columns[9].Title.Caption:='Операция';

Form6.DBGrid1.Columns[10].Title.Caption:='Груз';

end;

 

if (Tbl='Uslugi_sv') then

begin

SelectQ.Fields[0].Visible:= false;

SelectQ.Fields[2].Visible:= false;

SelectQ.Fields[3].Visible:= false;

SelectQ.Fields[4].Visible:= false;

SelectQ.Fields[5].Visible:= false;

SelectQ.Fields[7].Visible:= false;

SelectQ.Fields[10].Visible:= false;

SelectQ.Fields[13].Visible:= false;

SelectQ.Fields[14].Visible:= false;

SelectQ.Fields[15].Visible:= false;

SelectQ.Fields[17].Visible:= false;

SelectQ.Fields[19].Visible:= false;

Form7.DBGrid1.Columns[0].Title.Caption:='Заказ';

Form7.DBGrid1.Columns[1].Title.Caption:='Стоимость заказа';

Form7.DBGrid1.Columns[2].Title.Caption:='№ цеха исп.';

Form7.DBGrid1.Columns[3].Title.Caption:='БС ц.и.';

Form7.DBGrid1.Columns[4].Title.Caption:='№ цеха заказ.';

Form7.DBGrid1.Columns[5].Title.Caption:='БС ц.з.';

Form7.DBGrid1.Columns[6].Title.Caption:='Стоим. усл.';

Form7.DBGrid1.Columns[7].Title.Caption:='Вид услуги';

Form7.DBGrid1.Columns[8].Title.Caption:='Единица измерения';

end;

 

if (Tbl='Stoimost') then

begin

SelectQ.Fields[0].Visible:= false;

SelectQ.Fields[2].Visible:= false;

SelectQ.Fields[4].Visible:= false;

SelectQ.Fields[5].Visible:= false;

SelectQ.Fields[6].Visible:= false;

Form8.DBGrid1.Columns[0].Title.Caption:='Вид услуги';

Form8.DBGrid1.Columns[1].Title.Caption:='Единица измерения';

Form8.DBGrid1.Columns[2].Title.Caption:='Стоимость';

end;

 

if ((Tbl='Operation')or(Tbl='Station')or(Tbl='Ceha')or

(Tbl='Front')or(Tbl='Gruz')or(Tbl='Rod_vagona')or

(Tbl='Raion_dvizheniya')or(Tbl='Ves')or(Tbl='Vid_uslug')) then

begin

SelectQ.Fields[0].Visible:= false;

Form3.DBGrid1.Columns[0].Title.Caption:= Form3.Label1.Caption;

If (tbl='Ceha') then

   begin

     Form3.DBGrid1.Columns[1].Title.Caption:= Form3.Label2.Caption;

   end;

end;

 

end;

 

Procedure InsertZapros();

var

QueryString, Polya: string;

YN: Boolean;

begin

YN:= false;

if ((Tbl='Operation')or(Tbl='Station')or(Tbl='Ceha')or

      (Tbl='Front')or(Tbl='Gruz')or(Tbl='Rod_vagona')or

      (Tbl='Raion_dvizheniya')or(Tbl='Ves')or(Tbl='Vid_uslug')) then

    begin

       SelectQ:= DataModule2.Query1;

       with DataModule2.Query1 do

         begin

          First;

          while (not Eof) do

           begin

           if (ForEdit <> SelectQ['id']) then

             begin

              if DataModule2.Query1[pole2] = ToIns then

                begin

                 YN:=true;

                 Break;

                end;

             end;

            Next;

           end;

        end;

       if InsEdit then

          begin

            If (tbl='Ceha') then

              begin

                QueryString:= 'UPDATE '+TBL+' SET '+pole2+'='+#39+ToIns+#39+','+pole3+'='+#39+ToIns2+#39+ ' where '+pole1+'='+ForEdit;

              end

             else

             begin

                QueryString:= 'UPDATE '+TBL+' SET '+pole2+'='+#39+ToIns+#39+' where '+pole1+'='+ForEdit;

              end;

            InsEdit:= false;

         end

        else

          begin

            If (tbl='Ceha') then

              begin

                QueryString:= 'insert into '+ TBL +' ('+pole2+','+pole3+') values ('+#39+ToIns+#39+','+#39+ToIns2+#39+')';

              end

             else

              begin

                  QueryString:= 'insert into '+ TBL +' ('+pole2+') values ('+#39+ToIns+#39+')';

              end;

          end;

     end;

 

if (Tbl='Stoimost') then

    begin

       SelectQ:= DataModule2.QSelUs;

       pole1:= 'id';

       pole2:= 'key_vid_uslug';

       pole3:= 'key_ves';

       pole4:= 'stoimost';

       pole5:= '';

       pole6:= '';

       pole7:= '';

       pole8:= '';

       pole9:= '';

       pole10:= '';

       pole11:= '';

       pole12:= '';

       pole13:= '';

       with SelectQ do

         begin

          First;

          while (not Eof) do

           begin

           if (ForEdit <> SelectQ['ST.id']) then

             begin

              if ((SelectQ[pole2] = ToIns)and(SelectQ[pole3] = ToIns2)) then

                begin

                 YN:=true;

                 Break;

                end;

              end; 

            Next;

           end;

        end;

       if InsEdit2 then

         begin

          QueryString:= 'UPDATE '+TBL+' SET '+pole2+'='+#39+ToIns+#39+','+pole3+'='+#39+ToIns2+#39+','+pole4+'='+#39+ToIns3+#39+' where '+pole1+'='+ForEdit;

          InsEdit2:= false;

         end

        else

          QueryString:= 'insert into '+ TBL +' ('+pole2+','+pole3+','+pole4+') values ('+#39+ToIns+#39+','+#39+ToIns2+#39+','+#39+ToIns3+#39+')';

    end;

 

if (Tbl='Vagon') then

    begin

       pole1:= 'id';

       pole2:= 'mymonth';

       pole3:= 'myyear';

       pole4:= 'nomer_vagona';

       pole5:= 'invent_nomer';

       pole6:= 'year_izgot';

       pole7:= 'gruzopodemnost';

       pole8:= 'key_rod_vagona';

       pole9:= 'iznos';

       pole10:= 'key_raion_dvizh';

       pole11:= '';

       pole12:= '';

       pole13:= '';

       SelectQ:= DataModule2.QShow;

       with SelectQ do

         begin

          First;

          while (not Eof) do

           begin

           if (ForEdit <> SelectQ['v.id']) then

             begin

              if (SelectQ[pole5] = ToIns4) then

                begin

                 YN:=true;

                 Break;

                end;

             end;

             Next;

           end;

        end;

         if InsEdit3 then

         begin

          QueryString:= 'UPDATE '+TBL+' SET '+pole2+'='+#39+ToIns+#39+','+pole3+'='+#39+ToIns2+#39+','+pole4+'='+#39+ToIns3+#39+','+pole5+'='+#39+ToIns4+#39+','+pole6+'='+#39+ToIns5+#39+','+pole7+'='+#39+ToIns6+#39+','+pole8+'='+#39+ToIns7+#39+','+pole9+'='+#39+ToIns8+#39+','+pole10+'='+#39+ToIns9+#39+' where '+pole1+'='+ForEdit;

          InsEdit3:= false;

         end

        else

          QueryString:= 'insert into '+ TBL +' ('+pole2+', '+pole3+', '+pole4+', '+pole5+', '+pole6+', '+pole7+', '+pole8+', '+pole9+', '+pole10+') values ('+#39+ToIns+#39+', '+#39+ToIns2+#39+', '+#39+ToIns3+#39+', '+#39+ToIns4+#39+', '+#39+ToIns5+#39+', '+#39+ToIns6+#39+', '+#39+ToIns7+#39+', '+#39+ToIns8+#39+', '+#39+ToIns9+#39+')';

    end;

 

if (Tbl='Operations_s_vagonom') then

    begin

       SelectQ:= DataModule2.QOSV;

       pole1:= 'id';

       pole2:= 'key_station_otpr';

       pole3:= 'key_front_otpr';

       pole4:= 'key_station_naznach';

       pole5:= 'key_front_naznach';

       pole6:= 'mydate';

       pole7:= 'mytime';

       pole8:= 'key_operation';

       pole9:= 'key_gruz';

       pole10:= 'weight';

       pole11:= 'n_dor_ved';

       pole12:= 'n_ved';

       pole13:= 'key_vagon';

 

       with SelectQ do

         begin

          First;

          while (not Eof) do

           begin

           if (ForEdit <> SelectQ['OSV.id']) then

             begin

              if ((SelectQ[pole11] = ToIns10)and(SelectQ[pole12] = ToIns11)) then

                begin

                 YN:=true;

                 Break;

                end;

             end; 

            Next;

           end;

        end;

       if InsEdit4 then

         begin

          QueryString:= 'UPDATE '+TBL+' SET '+pole2+'='+#39+ToIns+#39+','+pole3+'='+#39+ToIns2+#39+','+pole4+'='+#39+ToIns3+#39+','+pole5+'='+#39+ToIns4+#39+','+pole6+'='+#39+ToIns5+#39+','+pole7+'='+#39+ToIns6+#39+','+pole8+'='+#39+ToIns7+#39+','+pole9+'='+#39+ToIns8+#39+','+pole10+'='+#39+ToIns9+#39+','+pole11+'='+#39+ToIns10+#39+','+pole12+'='+#39+ToIns11+#39+','+pole13+'='+#39+ToIns12+#39+' where '+pole1+'='+ForEdit;

          InsEdit4:= false;

         end

        else

          QueryString:= 'insert into '+ TBL +' ('+pole2+', '+pole3+', '+pole4+', '+pole5+', '+pole6+', '+pole7+', '+pole8+', '+pole9+', '+pole10+', '+pole11+', '+pole12+', '+pole13+') values ('+#39+ToIns+#39+', '+#39+ToIns2+#39+', '+#39+ToIns3+#39+', '+#39+ToIns4+#39+', '+#39+ToIns5+#39+', '+#39+ToIns6+#39+', '+#39+ToIns7+#39+', '+#39+ToIns8+#39+', '+#39+ToIns9+#39+', '+#39+ToIns10+#39+', '+#39+ToIns11+#39+', '+#39+ToIns12+#39+')';

    end;

 

if (Tbl='Uslugi_sv') then

    begin

       SelectQ:= DataModule2.Quslugi;

       pole1:= 'id';

       pole2:= 'zakaz';

       pole3:= 'key_vagon';

       pole4:= 'key_uslugi';

       pole5:= 'key_na';

       pole6:= 'key_s';

       pole7:= 'cena';

       pole8:= '';

       pole9:= '';

       pole10:= '';

       pole11:= '';

       pole12:= '';

       pole13:= '';

 

       with SelectQ do

         begin

          First;

          while (not Eof) do

           begin

           if (ForEdit <> SelectQ['USV.id']) then

             begin

            if (SelectQ[pole2] = ToIns) then

              begin

               YN:=true;

               Break;

              end;

             end;

            Next;

           end;

        end;

       if InsEdit5 then

         begin

           Polya:= pole2+'='+#39+ToIns+#39+','+pole3+'='+#39+ToIns2+#39+','+pole4+'='+#39+ToIns3+#39+','+pole5+'='+#39+ToIns4+#39+','+pole6+'='+#39+ToIns5+#39+','+pole7+'='+#39+ToIns6+#39;

           QueryString:= 'UPDATE '+TBL+' SET '+Polya+' where '+pole1+'='+ForEdit;

           InsEdit5:= false;

         end

        else

           QueryString:= 'insert into '+ TBL +' ('+pole2+', '+pole3+', '+pole4+', '+pole5+', '+pole6+', '+pole7+') values ('+#39+ToIns+#39+', '+#39+ToIns2+#39+', '+#39+ToIns3+#39+', '+#39+ToIns4+#39+', '+#39+ToIns5+#39+', '+#39+ToIns6+#39+')';

    end;

 

if (YN = false) then

begin

ShowMessage(QueryString);

with SelectQ do

   begin

     Close;

     SQL.Clear;

     SQL.Add(QueryString);

     ExecSQL;

   end;

end

else

ShowMessage('Либо такая запись есть, либо запись введена не корректно');

end;

 

Procedure DelZapros();

var

TmpString: string;

begin

TmpString:= 'delete from '+ TBL +' where ' + pole1 +'=' + ForDel;

// ShowMessage(TmpString);

with DataModule2.Query1 do

begin

  Close;

  SQL.Clear;

  SQL.Add(TmpString);

  ExecSQL;

end;

end;

 

Procedure SelTab();

begin

if (Tbl = 'Rod_vagona') then

begin

  Form6.Edit9.Text:= SelectQ[pole2];

  Form6.Edit9.Tag:= SelectQ[pole1];

end;

if (Tbl = 'Raion_dvizheniya') then

begin

  Form6.Edit10.Text:= SelectQ[pole2];

  Form6.Edit10.Tag:= SelectQ[pole1];

end;

 

if (Tbl = 'Station')and(Form3.Caption = 'Станция отправитель') then

begin

  Form7.Edit1.Text:= SelectQ[pole2];

  Form7.Edit1.Tag:= SelectQ[pole1];

end;

 

if (Tbl = 'Station')and(Form3.Caption = 'Станция получатель') then

begin

  Form7.Edit7.Text:= SelectQ[pole2];

  Form7.Edit7.Tag:= SelectQ[pole1];

end;

 

if (Tbl = 'Front')and(Form3.Caption = 'Фронт отправитель') then

begin

  Form7.Edit2.Text:= SelectQ[pole2];

  Form7.Edit2.Tag:= SelectQ[pole1];

end;

 

if (Tbl = 'Front')and(Form3.Caption = 'Фронт получатель') then

begin

  Form7.Edit8.Text:= SelectQ[pole2];

  Form7.Edit8.Tag:= SelectQ[pole1];

end;

 

if (Tbl = 'Operation') then

begin

  Form7.Edit9.Text:= SelectQ[pole2];

  Form7.Edit9.Tag:= SelectQ[pole1];

end;

 

if (Tbl = 'Gruz') then

begin

  Form7.Edit10.Text:= SelectQ[pole2];

  Form7.Edit10.Tag:= SelectQ[pole1];

end;

 

if (Tbl = 'Ceha')and(Form3.Caption = 'Цех заказчик') then

begin

  Form8.Edit2.Text:= SelectQ[pole2];

  Form8.Edit2.Tag:= SelectQ[pole1];

end;

 

if (Tbl = 'Ceha')and(Form3.Caption = 'Цех исполнитель') then

begin

  Form8.Edit3.Text:= SelectQ[pole2];

  Form8.Edit3.Tag:= SelectQ[pole1];

end;

 

if (Tbl = 'Vid_uslug') then

begin

  Form5.Edit1.Text:= SelectQ[pole2];

  Form5.Edit1.Tag:= SelectQ[pole1];

end;

 

if (Tbl = 'Ves') then

begin

  Form5.Edit2.Text:= SelectQ[pole2];

  Form5.Edit2.Tag:= SelectQ[pole1];

end;

end;

 

Procedure ForReport();

var

Polya, Tabli, Tabli2, Svyaz, Svyaz2, QueryString: string;

begin

Polya:= 'n_dor_ved,invent_nomer,OSV.mydate, OSV.mytime,STN.station as STN,FN.front as FN,CNA.n_ceha as NA,CNA.bal_schet as BSO,STK.station as STK,FK.front as FK,CS.n_ceha as CS,CS.bal_schet as CBS,G.gruz,VU.vid_uslug,VE.ves,weight,cena';

Tabli:= 'Vagon V, Rod_vagona RV, Raion_dvizheniya RD, Operations_s_vagonom OSV, Uslugi_sv USV, Stoimost ST, Vid_uslug VU, Ves VE, Ceha CNA, Ceha CS, Station STN, Station STK';

Tabli2:= 'Front FN, Front FK, Operation OP, Gruz G';

Svyaz:= 'V.key_rod_vagona=RV.id and V.key_raion_dvizh=RD.id and V.id=OSV.key_vagon and OSV.id=USV.key_vagon and ST.id=USV.key_uslugi and VU.id=ST.key_vid_uslug and VE.id=ST.key_ves and USV.key_na=CNA.id and USV.key_s=CS.id';

Svyaz2:= 'STN.id=OSV.key_station_otpr and STK.id=key_Station_naznach and FN.id=OSV.key_front_otpr and FK.id=OSV.key_front_naznach and OSV.key_operation=OP.id and OSV.key_gruz=G.id';

 

if ForSort then

begin

   QueryString:= 'select '+Polya+' from '+Tabli+ ', '+ Tabli2 +' where '+Svyaz + ' and ' + Svyaz2 + ' order by '+ ForOrder;

end;

 

if ForFiltr then

begin

   QueryString:= 'select '+Polya+' from '+Tabli+ ', '+ Tabli2 +' where '+Svyaz + ' and ' + Svyaz2 + ' and '+ TmpFiltr;

end;

 

if ((ForSort=false)and(ForFiltr=False)) then

begin

  QueryString:= 'select '+Polya+' from '+Tabli+ ', '+ Tabli2 +' where '+Svyaz + ' and ' + Svyaz2 + ' order by invent_nomer desc';

end;

 

with DataModule2.QueryRep do

begin

  Close;

  SQL.Clear;

  SQL.Add(QueryString);

  if ForFiltr then

    begin

      Parameters.ParamByName('Par1').Value:= Form10.Edit1.Text;

      Parameters.ParamByName('Par2').Value:= Form10.Edit2.Text;

    end;

 

  Open;

end;

 

Form9.DBGrid1.Columns[0].Title.Caption:='№ дор. вед.';

Form9.DBGrid1.Columns[1].Title.Caption:='Инвент. №';

Form9.DBGrid1.Columns[2].Title.Caption:='Дата';

Form9.DBGrid1.Columns[3].Title.Caption:='Время';

Form9.DBGrid1.Columns[4].Title.Caption:='Станция отпр.';

Form9.DBGrid1.Columns[5].Title.Caption:='Фронт отпр.';

Form9.DBGrid1.Columns[6].Title.Caption:='№ цеха отпр.';

Form9.DBGrid1.Columns[7].Title.Caption:='БС цеха отпр.';

Form9.DBGrid1.Columns[8].Title.Caption:='Станция заказ.';

Form9.DBGrid1.Columns[9].Title.Caption:='Фронт заказ.';

Form9.DBGrid1.Columns[10].Title.Caption:='№ цеха заказ.';

Form9.DBGrid1.Columns[11].Title.Caption:='БС цеха заказ.';

Form9.DBGrid1.Columns[12].Title.Caption:='Груз';

Form9.DBGrid1.Columns[13].Title.Caption:='Операция';

Form9.DBGrid1.Columns[14].Title.Caption:='Ед. изм.';

Form9.DBGrid1.Columns[15].Title.Caption:='Вес';

Form9.DBGrid1.Columns[16].Title.Caption:='Цена';

end;

 

 

end.


unit Unit5;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, DBGrids;

 

type

TForm5 = class(TForm)

GroupBox1: TGroupBox;

Edit1: TEdit;

Button1: TButton;

Edit2: TEdit;

Edit3: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

procedure Button1Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure Edit1Enter(Sender: TObject);

procedure Edit2Enter(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Edit3Exit(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form5: TForm5;

 

implementation

Uses Unit2, Unit4, Unit3;

 

{$R *.dfm}

 

procedure TForm5.Button1Click(Sender: TObject);

begin

ToIns:= IntToStr(Edit1.Tag);

ToIns2:= IntToStr(Edit2.Tag);

ToIns3:= Edit3.Text;

If ((Edit1.Text<>'')and(Edit2.Text<>'')and(Edit3.Text<>'')) then

 begin

if EditMode4 then

begin

  ForEdit:= DataModule2.QSelUs['ST.id'];

  InsEdit2:= true;

  InsertZapros();

  ShowZapros();

end

else

begin

  InsertZapros();

  ShowZapros();

  ForEdit:= '-1';

end;

Form5.Close; 

 end

else

 ShowMessage('Все поля обязательны к заполнению!');

end;

 

procedure TForm5.FormShow(Sender: TObject);

begin

TBL:='Stoimost';

if EditMode4 then

begin

Edit1.Text:= DataModule2.QSelUs['vid_uslug'];

Edit1.Tag:= StrToInt(DataModule2.QSelUs['key_vid_uslug']);

Edit2.Text:= DataModule2.QSelUs['ves'];

Edit2.Tag:= StrToInt(DataModule2.QSelUs['key_ves']);

Edit3.Text:= DataModule2.QSelUs['stoimost'];

Form5.Edit3.SetFocus;

end

else

begin

Edit1.Text:= '';

Edit2.Text:= '';

Edit2.Tag:= 0;

Edit3.Text:= '';

Edit3.Tag:= 0;

Button1.SetFocus;

end

end;

 

procedure TForm5.Edit1Enter(Sender: TObject);

begin

Form3.Caption:= 'Вид услуг';

Form3.Label1.Caption:= Form3.Caption;

Tbl:= 'Vid_uslug';

pole1:= 'id';

pole2:= 'vid_uslug';

pole3:= '';

pole4:= '';

pole5:= '';

pole6:= '';

pole7:= '';

pole8:= '';

pole9:= '';

pole10:= '';

pole11:= '';

pole12:= '';

pole13:= '';

ShowZapros;

Form3.ShowModal;

Tbl:= 'Stoimost';

Form5.Edit2.SetFocus;

end;

 

procedure TForm5.Edit2Enter(Sender: TObject);

begin

Form3.Caption:= 'Единица измерения';

Form3.Label1.Caption:= Form3.Caption;

Tbl:= 'Ves';

pole1:= 'id';

pole2:= 'ves';

pole3:= '';

pole4:= '';

pole5:= '';

pole6:= '';

pole7:= '';

pole8:= '';

pole9:= '';

pole10:= '';

pole11:= '';

pole12:= '';

pole13:= '';

ShowZapros;

Form3.ShowModal;

Tbl:= 'Stoimost';

Form5.Edit3.SetFocus;

end;

 

procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if EditMode4 then

   begin

   EditMode4:=false;

   end;

TBL:='Uslugi_sv';       

end;

 

procedure TForm5.Edit3Exit(Sender: TObject);

var ResVar: real;

E: integer;

begin

try

strtofloat(Edit3.Text);

except

ShowMessage('Здесь должно быть число!!... ну или поменяйте точку на запятую;)');

Edit3.SetFocus;

end;

end;

 

end.

 

unit Unit6;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, DBGrids, ActnList, Menus, ComCtrls;

 

type

TForm6 = class(TForm)

GroupBox1: TGroupBox;

ComboBox1: TComboBox;

Edit2: TEdit;

Edit3: TEdit;

Edit5: TEdit;

Button1: TButton;

GroupBox2: TGroupBox;

DBGrid1: TDBGrid;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label8: TLabel;

Label10: TLabel;

Edit8: TEdit;

Label12: TLabel;

Edit9: TEdit;

Edit10: TEdit;

PopupMenu1: TPopupMenu;

ActionList1: TActionList;

add: TAction;

edit: TAction;

del: TAction;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

DateTimePicker1: TDateTimePicker;

DateTimePicker2: TDateTimePicker;

procedure Button1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormShow(Sender: TObject);

procedure Edit9Enter(Sender: TObject);

procedure Edit10Enter(Sender: TObject);

procedure addExecute(Sender: TObject);

procedure editExecute(Sender: TObject);

procedure delExecute(Sender: TObject);

procedure Edit2Exit(Sender: TObject);

procedure Edit3Exit(Sender: TObject);

procedure Edit5Exit(Sender: TObject);

procedure Edit8Exit(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form6: TForm6;

 

implementation

Uses Unit2, Unit4, Unit3, Unit7, DateUtils;

 

{$R *.dfm}

 

procedure TForm6.Button1Click(Sender: TObject);

var qtmp: string;

begin

ToIns:= ComboBox1.Items[ComboBox1.ItemIndex];

ToIns2:= IntToStr(YearOf(DateTimePicker1.Date));

ToIns3:= Edit2.Text;

ToIns4:= Edit3.Text;

ToIns5:= IntToStr(YearOf(DateTimePicker2.Date));

ToIns6:= Edit5.Text;

ToIns7:= IntToStr(Edit9.Tag);

ToIns8:= Edit8.Text;

ToIns9:= IntToStr(Edit10.Tag);

If ((ComboBox1.Text<>'')and(Edit2.Text<>'')and(Edit3.Text<>'')

  and(Edit5.Text<>'')and(Edit8.Text<>'')and(Edit9.Text<>'')and(Edit10.Text<>'')) then

begin

if EditMode then

begin

  ForEdit:= DataModule2.QShow['V.id'];

  InsEdit3:= true;

  InsertZapros();

  ShowZapros();

end

else

begin

  EditIns:= true;

  InsertZapros();

  QueryString:='SELECT top 1 id from '+ TBL+' order by id desc';

  with DataModule2.Qtmp do

    begin

       Close;

       SQL.Clear;

       SQL.Add(QueryString);

       Open;

    end;

  qtmp:= DataModule2.Qtmp['id'];

  Form6.Close;

  ShowZapros();

  DataModule2.QShow.Locate('v.id',qtmp,[]);

  ForEdit:= '-1';

end;

Form6.Close; 

 end

else

 ShowMessage('Все поля обязательны к заполнению!');

end;

 

procedure TForm6.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if EditMode then

   begin

     EditMode:=false;

   end;

end;

 

procedure TForm6.FormShow(Sender: TObject);

var i, k: integer;

begin

EditIns:= False;

if EditMode then

begin

DBGrid1.Visible:= true;

DateTimePicker1.Date:= StrToDate('01.01.'+ DataModule2.QShow['myyear']);

Edit2.Text:= DataModule2.QShow['nomer_vagona'];

Edit3.Text:= DataModule2.QShow['invent_nomer'];

DateTimePicker2.Date:= StrToDate('01.01.'+ DataModule2.QShow['year_izgot']);

Edit5.Text:= DataModule2.QShow['gruzopodemnost'];

Edit8.Text:= DataModule2.QShow['iznos'];

Edit9.Text:= DataModule2.QShow['rod_vagona'];

Edit9.Tag:= DataModule2.QShow['rv.id'];

Edit10.Text:= DataModule2.QShow['raion_dvizh'];

Edit10.Tag:= DataModule2.QShow['rd.id'];

For i:=0 to ComboBox1.Items.Count do

begin

   ComboBox1.ItemIndex:= i;

   if ComboBox1.Items[ComboBox1.ItemIndex] = DataModule2.QShow['mymonth'] then

       k:= ComboBox1.ItemIndex;

end;

ComboBox1.ItemIndex:= k;

Tbl:='Operations_s_vagonom';

ShowZapros();

end

else

begin

DateTimePicker1.Date:= Date;

DateTimePicker2.Date:= StrToDate('01.01.1950');   

Edit2.Text:= '';

Edit3.Text:= '';

Edit5.Text:= '';

Edit8.Text:= '';

Edit9.Text:= '';

Edit9.Tag:= 0;

Edit10.Text:= '';

Edit10.Tag:= 0;

DBGrid1.Visible:= false;

end;

TBL:='Vagon';

end;

 

procedure TForm6.Edit9Enter(Sender: TObject);

begin

Form3.Caption:= 'Род вагона';

Form3.Label1.Caption:= Form3.Caption;

Tbl:= 'Rod_vagona';

pole1:= 'id';

pole2:= 'Rod_vagona';

pole3:= '';

pole4:= '';

pole5:= '';

pole6:= '';

pole7:= '';

pole8:= '';

pole9:= '';

pole10:= '';

pole11:= '';

pole12:= '';

pole13:= '';

ShowZapros;

Form3.ShowModal;

Tbl:= 'Vagon';

Edit10.SetFocus;

end;

 

procedure TForm6.Edit10Enter(Sender: TObject);

begin

Form3.Caption:= 'Район движения';

Form3.Label1.Caption:= Form3.Caption;

Tbl:= 'Raion_dvizheniya';

pole1:= 'id';

pole2:= 'Raion_dvizh';

pole3:= '';

pole4:= '';

pole5:= '';

pole6:= '';

pole7:= '';

pole8:= '';

pole9:= '';

pole10:= '';

pole11:= '';

pole12:= '';

pole13:= '';

ShowZapros;

Form3.ShowModal;

Tbl:= 'Vagon';

Button1.SetFocus;

end;

 

procedure TForm6.addExecute(Sender: TObject);

begin

Form7.Caption:= 'Информация по вагону';

Tbl:= 'Operations_s_vagonom';

pole1:= 'id';

pole2:= 'key_station_otpr';

pole3:= 'key_front_otpr';

pole4:= 'key_sttion_naznach';

pole5:= 'key_front_naznach';

pole6:= 'date';

pole7:= 'time';

pole8:= 'key_operation';

pole9:= 'key_gruz';

pole10:= 'weight';

pole11:= 'n_dor_ved';

pole12:= 'n_ved';

pole13:= 'key_vagon';

Form7.ShowModal;

if ((EditMode2=false)and(EditIns2)) then

   begin

   EditMode2:=true;

   Form7.ShowModal;

   end;

end;

 

procedure TForm6.editExecute(Sender: TObject);

begin

if (DataModule2.QOSV['OSV.id']=Null) then

begin

ShowMessage('Нечего редактировать');

EditMode2:= false;

end

 else

begin

EditMode2:= True;

Form7.ShowModal;

end;

end;

 

procedure TForm6.delExecute(Sender: TObject);

begin

if (DataModule2.QOSV['OSV.id']=Null) then

begin

ShowMessage('Нечего удалять');

EditMode2:= false;

end

 else

begin

Tbl:= 'Operations_s_vagonom';

pole1:= 'id';

pole2:= 'key_station_otpr';

pole3:= 'key_front_otpr';

pole4:= 'key_station_naznach';

pole5:= 'key_front_naznach';

pole6:= 'mydate';

pole7:= 'mytime';

pole8:= 'key_operation';

pole9:= 'key_gruz';

pole10:= 'weight';

pole11:= 'n_dor_ved';

pole12:= 'n_ved';

pole13:= 'key_vagon';

ForDel:= DataModule2.QOSV['OSV.id'];

DelZapros;

ShowZapros();

TBL:='Vagon';

end; 

end;

 

procedure TForm6.Edit2Exit(Sender: TObject);

begin

try

strtoint(Edit2.Text);

except

ShowMessage('Здесь должно быть число!!');

Edit2.SetFocus;

end;

end;

 

procedure TForm6.Edit3Exit(Sender: TObject);

begin

try

strtoint(Edit3.Text);

except

ShowMessage('Здесь должно быть число!!');

Edit3.SetFocus;

end;

end;

 

procedure TForm6.Edit5Exit(Sender: TObject);

begin

try

strtoint(Edit5.Text);

except

ShowMessage('Здесь должно быть число!!');

Edit5.SetFocus;

end;

end;

 

procedure TForm6.Edit8Exit(Sender: TObject);

begin

try

strtoint(Edit8.Text);

//----далее команды если введённая вещь - число

except

ShowMessage('Здесь должно быть число!!');

Edit8.SetFocus;

end;

end;

 

end.

 

unit Unit7;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ComCtrls, TabNotBk, Grids, DBGrids, Menus, ActnList;

 

type

TForm7 = class(TForm)

GroupBox1: TGroupBox;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Edit6: TEdit;

Edit4: TEdit;

Edit3: TEdit;

Button1: TButton;

GroupBox2: TGroupBox;

DBGrid1: TDBGrid;

DateTimePicker1: TDateTimePicker;

DateTimePicker2: TDateTimePicker;

Edit1: TEdit;

Edit2: TEdit;

Edit7: TEdit;

Edit8: TEdit;

Edit9: TEdit;

Edit10: TEdit;

ActionList1: TActionList;

PopupMenu1: TPopupMenu;

add: TAction;

edit: TAction;

del: TAction;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

procedure FormShow(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button1Click(Sender: TObject);

procedure Edit1Enter(Sender: TObject);

procedure Edit2Enter(Sender: TObject);

procedure Edit9Enter(Sender: TObject);

procedure Edit10Enter(Sender: TObject);

procedure Edit7Enter(Sender: TObject);

procedure Edit8Enter(Sender: TObject);

procedure addExecute(Sender: TObject);

procedure editExecute(Sender: TObject);

procedure delExecute(Sender: TObject);

procedure Edit6Exit(Sender: TObject);

procedure Edit4Exit(Sender: TObject);

procedure Edit3Exit(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form7: TForm7;

 

implementation

Uses Unit2, Unit4, Unit3, Unit8, DateUtils;

 

{$R *.dfm}

 

procedure TForm7.FormShow(Sender: TObject);

begin

if EditMode2 then

begin

DBGrid1.Visible:= true;

Edit6.Text:= DataModule2.QOSV['n_ved'];

Edit4.Text:= DataModule2.QOSV['n_dor_ved'];

DateTimePicker1.Date:= StrToDate(DataModule2.QOSV['mydate']);

DateTimePicker2.DateTime:= StrToTime(DataModule2.QOSV['mytime']);

Edit1.Text:= DataModule2.QOSV['SNACH.station'];

Edit1.Tag:= StrToInt(DataModule2.QOSV['key_station_otpr']);

Edit2.Text:= DataModule2.QOSV['FNACH.front'];

Edit2.Tag:= StrToInt(DataModule2.QOSV['key_front_otpr']);

Edit7.Text:= DataModule2.QOSV['SKON.station'];

Edit7.Tag:= StrToInt(DataModule2.QOSV['key_station_naznach']);

Edit8.Text:= DataModule2.QOSV['FKON.front'];

Edit8.Tag:= StrToInt(DataModule2.QOSV['key_front_naznach']);

Edit9.Text:= DataModule2.QOSV['operation'];

Edit9.Tag:= StrToInt(DataModule2.QOSV['key_operation']);

Edit10.Text:= DataModule2.QOSV['gruz'];

Edit10.Tag:= StrToInt(DataModule2.QOSV['key_gruz']);

Edit3.Text:= DataModule2.QOSV['weight'];

Tbl:='Uslugi_sv';

ShowZapros();

end

else

begin

Edit6.Text:= '';

Edit4.Text:= '';

Edit1.Text:= '';

Edit1.Tag:= 0;

Edit2.Text:= '';

Edit2.Tag:= 0;

Edit7.Text:= '';

Edit7.Tag:= 0;

Edit8.Text:= '';

Edit8.Tag:= 0;

Edit9.Text:= '';

Edit9.Tag:= 0;

Edit10.Text:= '';

Edit10.Tag:= 0;

Edit3.Text:= '';

DBGrid1.Visible:= false;

DateTimePicker1.Date:= Date;

DateTimePicker2.Time:= Time;

end;

 TBL:='Operations_s_vagonom';

end;

 

procedure TForm7.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if EditMode2 then

   begin

    EditMode2:=false;

   end;

 TBL:='Vagon';

end;

 

procedure TForm7.Button1Click(Sender: TObject);

var qtmp: string;

begin

ToIns:= IntToStr(Edit1.Tag);

ToIns2:= IntToStr(Edit2.Tag);

ToIns3:= IntToStr(Edit7.Tag);

ToIns4:= IntToStr(Edit8.Tag);

ToIns5:= DateToStr(DateTimePicker1.Date);

ToIns6:= TimeToStr(DateTimePicker2.Time);

ToIns7:= IntToStr(Edit9.Tag);

ToIns8:= IntToStr(Edit10.Tag);

ToIns9:= Edit3.Text;

ToIns10:= Edit6.Text;

ToIns11:= Edit4.Text;

ToIns12:= DataModule2.QShow['V.id'];

if ((Edit6.Text<>'')and(Edit4.Text<>'')and(Edit3.Text<>'')and

(Edit1.Text<>'')and(Edit2.Text<>'')and(Edit7.Text<>'')and

(Edit8.Text<>'')and(Edit9.Text<>'')and(Edit10.Text<>'')) then

begin

if EditMode2 then

begin

  ForEdit:= DataModule2.QOSV['OSV.id'];

  InsEdit4:= true;

  InsertZapros();

  ShowZapros();

end

else

begin

  EditIns2:= true;

  InsertZapros();

  QueryString:='SELECT top 1 id from '+ TBL+' order by id desc';

  with DataModule2.Qtmp do

    begin

       Close;

       SQL.Clear;

       SQL.Add(QueryString);

       Open;

    end;

  qtmp:= DataModule2.Qtmp['id'];

  Form7.Close;

  ShowZapros();

  DataModule2.QShow.Locate('v.id',qtmp,[]);

  ForEdit:= '-1';      

end;

Form7.Close;

end

 else

 ShowMessage('Все поля обязательны к заполнению!');    

end;

 

procedure TForm7.Edit1Enter(Sender: TObject);

begin

Form3.Caption:= 'Станция отправитель';

Form3.Label1.Caption:= Form3.Caption;

Tbl:= 'Station';

pole1:= 'id';

pole2:= 'Station';

pole3:= '';

pole4:= '';

pole5:= '';

pole6:= '';

pole7:= '';

pole8:= '';

pole9:= '';

pole10:= '';

pole11:= '';

pole12:= '';

pole13:= '';

ShowZapros;

Form3.ShowModal;

Tbl:= 'Operations_s_vagonom';

Edit2.SetFocus;

end;

 

procedure TForm7.Edit2Enter(Sender: TObject);

begin

Form3.Caption:= 'Фронт отправитель';

Form3.Label1.Caption:= Form3.Caption;

Tbl:= 'Front';

pole1:= 'id';

pole2:= 'Front';

pole3:= '';

pole4:= '';

pole5:= '';

pole6:= '';

pole7:= '';

pole8:= '';

pole9:= '';

pole10:= '';

pole11:= '';

pole12:= '';

pole13:= '';

ShowZapros;

Form3.ShowModal;

Tbl:= 'Operations_s_vagonom';

Edit7.SetFocus;

end;

 

procedure TForm7.Edit9Enter(Sender: TObject);

begin

Form3.Caption:= 'Операции';

Form3.Label1.Caption:= Form3.Caption;

Tbl:= 'Operation';

pole1:= 'id';

pole2:= 'Operation';

pole3:= '';

pole4:= '';

pole5:= '';

pole6:= '';

pole7:= '';

pole8:= '';

pole9:= '';

pole10:= '';

pole11:= '';

pole12:= '';

pole13:= '';

ShowZapros;

Form3.ShowModal;

Tbl:= 'Operations_s_vagonom';

Edit10.SetFocus;

end;

 

procedure TForm7.Edit10Enter(Sender: TObject);

begin

Form3.Caption:= 'Груз';

Form3.Label1.Caption:= Form3.Caption;

Tbl:= 'Gruz';

pole1:= 'id';

pole2:= 'Gruz';

pole3:= '';

pole4:= '';

pole5:= '';

pole6:= '';

pole7:= '';

pole8:= '';

pole9:= '';

pole10:= '';

pole11:= '';

pole12:= '';

pole13:= '';

ShowZapros;

Form3.ShowModal;

Tbl:= 'Operations_s_vagonom';

Edit3.SetFocus;

end;

 

procedure TForm7.Edit7Enter(Sender: TObject);

begin

Form3.Caption:= 'Станция получатель';

Form3.Label1.Caption:= Form3.Caption;

Tbl:= 'Station';

pole1:= 'id';

pole2:= 'Station';

pole3:= '';

pole4:= '';

pole5:= '';

pole6:= '';

pole7:= '';

pole8:= '';

pole9:= '';

pole10:= '';

pole11:= '';

pole12:= '';

pole13:= '';

ShowZapros;

Form3.ShowModal;

Tbl:= 'Operations_s_vagonom';

Edit8.SetFocus;

end;

 

procedure TForm7.Edit8Enter(Sender: TObject);

begin

Form3.Caption:= 'Фронт получатель';

Form3.Label1.Caption:= Form3.Caption;

Tbl:= 'Front';

pole1:= 'id';

pole2:= 'Front';

pole3:= '';

pole4:= '';

pole5:= '';

pole6:= '';

pole7:= '';

pole8:= '';

pole9:= '';

pole10:= '';

pole11:= '';

pole12:= '';

pole13:= '';

ShowZapros;

Form3.ShowModal;

Tbl:= 'Operations_s_vagonom';

Edit9.SetFocus;

end;

 

procedure TForm7.addExecute(Sender: TObject);

begin

Form8.ShowModal;

end;

 

procedure TForm7.editExecute(Sender: TObject);

begin

if (DataModule2.Quslugi['USV.id']=Null) then

begin

ShowMessage('Нечего редактировать');

EditMode3:= false;

end

 else


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: