Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИПОВС (2002) / Shimarik / Shimarik / Приложения.doc
Скачиваний:
22
Добавлен:
16.04.2013
Размер:
637 Кб
Скачать

Interface

uses

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

StdCtrls, Mask, DBCtrls, Grids, DBGrids, ExtCtrls, Menus, Buttons;

type

TfmPwork = class(TForm)

Label1: TLabel;

DBGrid1: TDBGrid;

Label2: TLabel;

DBGrid2: TDBGrid;

Label4: TLabel;

btnDotrudn: TButton;

Label6: TLabel;

DBEdit4: TDBEdit;

Label7: TLabel;

DBEdit5: TDBEdit;

DBEdit6: TDBEdit;

DBEdit7: TDBEdit;

DBNavigator1: TDBNavigator;

Edit1: TEdit;

MainMenu1: TMainMenu;

N1: TMenuItem;

mnPutDates: TMenuItem;

btnClose: TBitBtn;

btnToClient: TBitBtn;

N3: TMenuItem;

mnClose: TMenuItem;

N5: TMenuItem;

mnDel: TMenuItem;

procedure btnCloseClick(Sender: TObject);

procedure btnDotrudnClick(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure DBGrid1CellClick(Column: TColumn);

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

Shift: TShiftState);

procedure mnPutDatesClick(Sender: TObject);

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

procedure mnCloseClick(Sender: TObject);

procedure mnDelClick(Sender: TObject);

procedure btnToClientClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

procedure WorkersDraw;

end;

var

fmPwork: TfmPwork;

Implementation

uses Modal1, SotrudnU, CModul;

{$R *.DFM}

//Процедура вывода в поля вывода ответсвенных сотрудников

procedure TfmPwork.WorkersDraw;

var i:integer;

begin

Edit1.Text:=' ';

Modal.taWLink2.Open;

Modal.taWLink2.First;

for i:=1 to Modal.taWLink2.RecordCount do begin

if Edit1.Text[Pos(Modal.taWLink2.FieldByName('WorkerName').AsString, Edit1.Text)]='' then

Edit1.Text:=Edit1.Text+Modal.taWLink2.FieldByName('WorkerName').AsString+' ';

Modal.taWLink2.Next;

end;

end;

procedure TfmPwork.btnCloseClick(Sender: TObject);

begin

Close;

end;

procedure TfmPwork.btnDotrudnClick(Sender: TObject);

begin

fmWorkers.ShowModal;

end;

procedure TfmPwork.FormShow(Sender: TObject);

begin

WorkersDraw;

fmPWork.Caption:='О работах с '+Modal.taPclient.FieldByName('CompanyName').AsString;

end;

procedure TfmPwork.DBGrid1CellClick(Column: TColumn);

begin

WorkersDraw;

end;

procedure TfmPwork.DBGrid1KeyUp(Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

FormShow(Sender);

end;

//Процедура автоматической простановки дат

procedure TfmPwork.mnPutDatesClick(Sender: TObject);

var LastDate:TDate;

i:integer;

begin

for i:=Modal.taRabota.RecNo to Modal.taRabota.RecordCount-1 do begin

LastDate:= Modal.taRabota.FieldByName('DatePlan').Value;

Modal.taRabota.Next;

//Смотрим указано ли к-во дней до этой работы

Modal.taRaboti2.Open;

Modal.taRaboti2.FindKey([Modal.taRabota.FieldByName('Rabota_ID').Value]);

if Modal.taRaboti2.FieldByName('DayNumber').Value<>0

then begin

Modal.taRabota.Edit;

Modal.taRabota.FieldByName('DatePlan').Value:=LastDate+Modal.taRaboti2.FieldByName('DayNumber').Value;

Modal.taRabota.Post;

end

else break;

end;

end;

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

begin

Modal.taRaboti2.Close;

end;

procedure TfmPwork.mnCloseClick(Sender: TObject);

begin

Close;

end;

//Каскадное удаление данных о работах из таблиц

procedure TfmPwork.mnDelClick(Sender: TObject);

begin

if Application.MessageBox('Вы действительно хотите удалить информацию о предварительной заявке?',

'Подтвердите удаление базы',MB_YESNO + MB_ICONQUESTION) = IDYES

then begin

//Удаление всех работ, назначееных исполнителям

Modal.taWLink2.First;

while not Modal.taWLink2.Eof do Modal.taWLink2.Delete;

if Modal.taWLink.Active=true then Modal.taWLink.Refresh;

if Modal.taRemSotrudn.Active=true then Modal.taRemSotrudn.Refresh;

//Удаление всех работ по предварит. заявке

Modal.taRabota.First;

while not Modal.taRabota.Eof do Modal.taRabota.Delete;

if Modal.taRemem.Active=true then Modal.taRemem.Refresh;

if Modal.taAddRabota.Active=true then Modal.taAddRabota.Refresh;

//Удаляем предв. заявку

Modal.taPDogovor.Delete;

if Modal.taPDogovor.RecordCount=0 then Edit1.Clear

else WorkersDraw;

end;

end;

//Процедура перевода потенциального клиента в разряд постоянных

procedure TfmPwork.btnToClientClick(Sender: TObject);

begin

Modul.taClient.Insert;

Modul.taClient.FieldByName('CompanyName').Value:=Modal.taPClient.FieldByName('CompanyName').Value;

Modul.taClient.FieldByName('NameSearch').Value:=Modal.taPClient.FieldByName('NameSearch').Value;

Modul.taClient.FieldByName('Adres').Value:=Modal.taPClient.FieldByName('Adres').Value;

Modul.taClient.FieldByName('Director').Value:=Modal.taPClient.FieldByName('Director').Value;

Modul.taClient.FieldByName('EMail').Value:=Modal.taPClient.FieldByName('EMail').Value;

Modul.taClient.FieldByName('Thone').Value:=Modal.taPClient.FieldByName('Thone').Value;

Modul.taClient.FieldByName('Fax').Value:=Modal.taPClient.FieldByName('Fax').Value;

Modul.taClient.FieldByName('Type').Value:=Modal.taPClient.FieldByName('Type').Value;

Modul.taClient.FieldByName('Comments').Value:=Modal.taPClient.FieldByName('Comments').Value;

Modul.taClient.FieldByName('CManage').Value:=Modal.taPClient.FieldByName('CManage').Value;

Modul.taClient.FieldByName('Manage').Value:=Modal.taPClient.FieldByName('Manage').Value;

Modul.taClient.FieldByName('CDoljnost').Value:=Modal.taPClient.FieldByName('CDoljnost').Value;

Modul.taClient.FieldByName('Doljnost').Value:=Modal.taPClient.FieldByName('Doljnost').Value;

Modul.taClient.FieldByName('COtrasl').Value:=Modal.taPClient.FieldByName('COtrasl').Value;

Modul.taClient.FieldByName('Otrasl').Value:=Modal.taPClient.FieldByName('Otrasl').Value;

Modul.taClient.Post;

end;

end.

//Модуль Поиск заявки

unit sechz;