Разработка автоматизированной информационной системы на примере "МегионСофтОйл"

Разработка автоматизированной информационной системы для учета и контроля выполнения ремонтных работ, и предоставления услуг по разработке программного обеспечения компании "МегионСофтОйл", разработка алгоритмов приложений программной системы и модулей.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 29.06.2012
Размер файла 5,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

begin

Panel3.Visible:=False;

Panel4.Visible:=True;

UDataM.DataM.ADOTzakaz.Insert;

DBLookupComboBox7.Visible:=True;

DBComboBox2.ReadOnly:=True;

DBMemo2.Visible:=False;

Memo2.Visible:=True;

Memo2.Clear;

Edit5.Visible:=True;

Edit5.Clear;

DBEdit13.Visible:=False;

DBEdit11.Visible:=False;

Edit4.Visible:=True;

Edit4.Clear;

DBEdit12.Visible:=False;

SBAddPO.Enabled:=False;

SBSavePO.Enabled:=True;

SBdeletPO.Enabled:=False;

end;

//===Отменить заказ на проведение ТО===

procedure TFMain.SBcancelClick(Sender: TObject);

begin

UDataM.DataM.ADOTzakaz.Cancel;

UDataM.DataM.ADOTremont.Cancel;

DateTimePicker1.Enabled:=False;

DateTimePicker2.Enabled:=False;

DBComboBox1.ReadOnly:=False;

DBMemo1.Visible:=True;

Memo1.Visible:=False;

DBLookupComboBox3.Visible:=False;

DBLookupComboBox2.Visible:=False;

DBLookupComboBox4.Visible:=False;

Edit1.Visible:=False;

DBEDate1.Visible:=True;

DBEdit7.Visible:=True;

DBEdit2.Visible:=True;

DBEdit1.Visible:=True;

DBEdit5.Visible:=True;

DBEdit6.Visible:=True;

SBAdd.Enabled:=True;

SBSave.Enabled:=False;

SBdelet.Enabled:=True;

end;

//===Отменить заказ на разработку ПО===

procedure TFMain.SBcancelPOClick(Sender: TObject);

begin

UDataM.DataM.ADOTzakaz.Cancel;

UDataM.DataM.ADOTprog.Cancel;

DBLookupComboBox7.Visible:=False;

DBComboBox2.ReadOnly:=False;

DBMemo2.Visible:=True;

Memo2.Visible:=False;

Edit5.Visible:=False;

DBEdit13.Visible:=True;

DBEdit11.Visible:=True;

Edit4.Visible:=False;

DBEdit12.Visible:=True;

SBAddPO.Enabled:=True;

SBSavePO.Enabled:=False;

SBdeletPO.Enabled:=True;

end;

//===Удалить заказ на проведение ТО===

procedure TFMain.SBdeletClick(Sender: TObject);

begin

IF MessageBox(Handle,' УДАЛЕНИЕ ЗАПИСИ!!!'+#10+#10+

'Вы действительно хотите удалить запись?'+#10+#10+

'После нажатия на кнопку ДА, данные будут удалены.'+#10+

'Для отмены удаления нажмите на кнопку НЕТ.', 'ВНИМАНИЕ!!!',

MB_YesNo+MB_ICONWARNING+MB_TaskModal) = mrYes Then

UDataM.DataM.ADOTzakaz.Delete;

end;

//===Удалить заказ на разработку ПО===

procedure TFMain.SBdeletPOClick(Sender: TObject);

begin

IF MessageBox(Handle,' УДАЛЕНИЕ ЗАПИСИ!!!'+#10+#10+

'Вы действительно хотите удалить запись?'+#10+#10+

'После нажатия на кнопку ДА, данные будут удалены.'+#10+

'Для отмены удаления нажмите на кнопку НЕТ.', 'ВНИМАНИЕ!!!',

MB_YesNo+MB_ICONWARNING+MB_TaskModal) = mrYes Then

UDataM.DataM.ADOTzakaz.Delete;

end;

//===Сохранить заказ на проведение ТО===

procedure TFMain.SBSaveClick(Sender: TObject);

var

M: String;

i: integer;

begin

if DBLookupComboBox3.Text='' then

begin

Showmessage('Выберите клиента!');

Exit;

end;

if DBLookupComboBox2.Text='' then

begin

Showmessage('Выберите технику!');

Exit;

end;

if DBLookupComboBox4.Text='' then

begin

Showmessage('Выберите марку техники!');

Exit;

end;

if Edit1.Text='' then

begin

Showmessage('Введите серийный номер техники!');

Exit;

end; UDataM.DataM.ADOTzakazКодКлиента.Value:=UDataM.DataM.ADOTklientКодКлиента.Value;

UDataM.DataM.ADOTzakazДатаЗаказа.Value:=Date();

UDataM.DataM.ADOTzakazВидЗаказа.Value:='Проведение ТО';

UDataM.DataM.ADOTzakaz.Post;

UDataM.DataM.ADOTzakaz.Refresh;

UDataM.DataM.ADOTremont.Insert; UDataM.DataM.ADOTremontНомерЗаказа.Value:=UDataM.DataM.ADOTzakazНомерЗаказа.Value; UDataM.DataM.ADOTremontКодТехники.Value:=UDataM.DataM.ADOTtexКодТехники.Value; UDataM.DataM.ADOTremontКодМарки.Value:=UDataM.DataM.ADOTmarkiКодМарки.Value;

UDataM.DataM.ADOTremontСтатус.Value:='на выполнении'; UDataM.DataM.ADOTremont.FieldValues['ДатаРемонта']:=DateToStr(DateTimePicker1.Date); UDataM.DataM.ADOTremont.FieldValues['ДатаЗавершения']:=DateToStr(DateTimePicker2.Date);

UDataM.DataM.ADOTremontСерийныйНомер.Value:=Edit1.Text;

For i:=0 to Memo1.Lines.Count-1 do

M:=M+Memo1.Lines.Strings[i];

UDataM.DataM.ADOTremontОписание.Value:=M;

UDataM.DataM.ADOTremont.Post;

UDataM.DataM.ADOTremont.Refresh;

DateTimePicker1.Enabled:=False;

DateTimePicker2.Enabled:=False;

DBComboBox1.ReadOnly:=False;

DBMemo1.Visible:=True;

Memo1.Visible:=False;

DBLookupComboBox3.Visible:=False;

DBLookupComboBox2.Visible:=False;

DBLookupComboBox4.Visible:=False;

Edit1.Visible:=False;

DBEDate1.Visible:=True;

DBEdit7.Visible:=True;

DBEdit2.Visible:=True;

DBEdit1.Visible:=True;

DBEdit5.Visible:=True;

DBEdit6.Visible:=True;

SBAdd.Enabled:=True;

SBSave.Enabled:=False;

SBdelet.Enabled:=True;

end;

//===Сохранить заказ на разработку ПО===

procedure TFMain.SBSavePOClick(Sender: TObject);

var

M: String;

i: integer;

begin

if DBLookupComboBox7.Text='' then

begin

Showmessage('Выберите клиента!');

Exit;

end;

if Edit5.Text='' then

begin

Showmessage('Введите имя программного обеспечения!');

Exit;

end;

if Edit4.Text='' then

begin

Showmessage('Введите цену программного обеспечения!');

Exit;

end; UDataM.DataM.ADOTzakazКодКлиента.Value:=UDataM.DataM.ADOTklientКодКлиента.Value;

UDataM.DataM.ADOTzakazДатаЗаказа.Value:=Date();

UDataM.DataM.ADOTzakazВидЗаказа.Value:='Разработка ПО';

UDataM.DataM.ADOTzakaz.Post;

UDataM.DataM.ADOTzakaz.Refresh;

UDataM.DataM.ADOTprog.Insert; UDataM.DataM.ADOTprogНомерЗаказа.Value:=UDataM.DataM.ADOTzakazНомерЗаказа.Value;

UDataM.DataM.ADOTprogИмяПО.Value:=Edit5.Text;

UDataM.DataM.ADOTprogЦена.Value:=StrToFloat(Edit4.Text);

UDataM.DataM.ADOTprogСтатус.Value:='на выполнении';

For i:=0 to Memo2.Lines.Count-1 do

M:=M+Memo2.Lines.Strings[i];

UDataM.DataM.ADOTprogОписание.Value:=M;

UDataM.DataM.ADOTprog.Post;

UDataM.DataM.ADOTprog.Refresh;

UDataM.DataM.ADOTgraf.Insert; UDataM.DataM.ADOTgrafНомерЗаказа.Value:=UDataM.DataM.ADOTzakazНомерЗаказа.Value;

UDataM.DataM.ADOTgrafЭтап.Value:=1;

UDataM.DataM.ADOTgrafНаименование.Value:='Проектирование';

UDataM.DataM.ADOTgrafСтатусЭтапа.Value:='в разработке';

UDataM.DataM.ADOTgraf.Post;

UDataM.DataM.ADOTgraf.Refresh;

UDataM.DataM.ADOTgraf.Insert; UDataM.DataM.ADOTgrafНомерЗаказа.Value:=UDataM.DataM.ADOTzakazНомерЗаказа.Value;

UDataM.DataM.ADOTgrafЭтап.Value:=2;

UDataM.DataM.ADOTgrafНаименование.Value:='Разработка';

UDataM.DataM.ADOTgrafСтатусЭтапа.Value:='в разработке';

UDataM.DataM.ADOTgraf.Post;

UDataM.DataM.ADOTgraf.Refresh;

UDataM.DataM.ADOTgraf.Insert; UDataM.DataM.ADOTgrafНомерЗаказа.Value:=UDataM.DataM.ADOTzakazНомерЗаказа.Value;

UDataM.DataM.ADOTgrafЭтап.Value:=3;

UDataM.DataM.ADOTgrafНаименование.Value:='Тестирование';

UDataM.DataM.ADOTgrafСтатусЭтапа.Value:='в разработке';

UDataM.DataM.ADOTgraf.Post;

UDataM.DataM.ADOTgraf.Refresh;

UDataM.DataM.ADOTgraf.Insert; UDataM.DataM.ADOTgrafНомерЗаказа.Value:=UDataM.DataM.ADOTzakazНомерЗаказа.Value;

UDataM.DataM.ADOTgrafЭтап.Value:=4;

UDataM.DataM.ADOTgrafНаименование.Value:='Внедрение';

UDataM.DataM.ADOTgrafСтатусЭтапа.Value:='в разработке';

UDataM.DataM.ADOTgraf.Post;

UDataM.DataM.ADOTgraf.Refresh;

DBLookupComboBox7.Visible:=False;

DBComboBox2.ReadOnly:=False;

DBMemo2.Visible:=True;

Memo2.Visible:=False;

Edit5.Visible:=False;

DBEdit13.Visible:=True;

DBEdit11.Visible:=True;

Edit4.Visible:=False;

DBEdit12.Visible:=True;

SBAddPO.Enabled:=True;

SBSavePO.Enabled:=False;

SBdeletPO.Enabled:=True;

end;

end.

Модуль формы справочника «Клиенты компании» (Uklient)

unit Uklient;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, Menus, Grids, DBGrids, StdCtrls, Buttons, DBCtrls;

var

Fklient: TFklient;

implementation

uses UMain, UDataM;

{$R *.dfm}

//===Переход по записям===

procedure TFklient.DBGrid1ColumnMoved(Sender: TObject; FromIndex,

ToIndex: Integer);

begin

N1.Enabled:=True;

N3.Enabled:=True;

N4.Enabled:=False;

N5.Enabled:=True;

end;

//===Добавить===

procedure TFklient.N1Click(Sender: TObject);

begin

UDataM.DataM.ADOTklient.Insert;

end;

//===Отменить===

procedure TFklient.N2Click(Sender: TObject);

begin

UDataM.DataM.ADOTklient.Cancel;

end;

//===Изменить===

procedure TFklient.N3Click(Sender: TObject);

begin

UDataM.DataM.ADOTklient.Edit;

end;

//===Сохранить===

procedure TFklient.N4Click(Sender: TObject);

begin

UDataM.DataM.ADOTklient.Post;

end;

//===Удалить===

procedure TFklient.N5Click(Sender: TObject);

begin

IF MessageBox(Handle,' УДАЛЕНИЕ ЗАПИСИ!!!'+#10+#10+

'Вы действительно хотите удалить запись?'+#10+#10+

'После нажатия на кнопку ДА, данные будут удалены.'+#10+

'Для отмены удаления нажмите на кнопку НЕТ.', 'ВНИМАНИЕ!!!',

MB_YesNo+MB_ICONWARNING+MB_TaskModal) = mrYes Then

UDataM.DataM.ADOTklient.Delete;

end;

end.

Модуль формы справочника «Услуги компании» (Uuslugi)

unit Uuslugi;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, Grids, DBGrids, Menus, DBCtrls, StdCtrls;

var

Fuslugi: TFuslugi;

implementation

uses UMain, UDataM;

{$R *.dfm}

//===Переход по записям===

procedure TFuslugi.DBGrid1ColumnMoved(Sender: TObject; FromIndex,

ToIndex: Integer);

begin

N1.Enabled:=True;

N3.Enabled:=True;

N4.Enabled:=False;

N5.Enabled:=True;

end;

//===Добавить===

procedure TFuslugi.N1Click(Sender: TObject);

begin

UDataM.DataM.ADOTuslugi.Insert;

end;

//===Отменить===

procedure TFuslugi.N2Click(Sender: TObject);

begin

UDataM.DataM.ADOTuslugi.Cancel;

end;

//===Изменить===

procedure TFuslugi.N3Click(Sender: TObject);

begin

UDataM.DataM.ADOTuslugi.Edit;

end;

//===Сохранить===

procedure TFuslugi.N4Click(Sender: TObject);

begin

UDataM.DataM.ADOTuslugi.Post;

end;

//===Удалить===

procedure TFuslugi.N5Click(Sender: TObject);

begin

IF MessageBox(Handle,' УДАЛЕНИЕ ЗАПИСИ!!!'+#10+#10+

'Вы действительно хотите удалить запись?'+#10+#10+

'После нажатия на кнопку ДА, данные будут удалены.'+#10+

'Для отмены удаления нажмите на кнопку НЕТ.', 'ВНИМАНИЕ!!!',

MB_YesNo+MB_ICONWARNING+MB_TaskModal) = mrYes Then

UDataM.DataM.ADOTuslugi.Delete;

end;

end.

Модуль формы справочника «Оргтехника» (Utex)

unit Utex;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, Mask, DBCtrls, ExtCtrls, StdCtrls, DBCGrids, Menus;

var

Ftex: TFtex;

implementation

uses UMain, UDataM;

{$R *.dfm}

//===Переход по записям===

procedure TFtex.FormClick(Sender: TObject);

begin

N1.Enabled:=True;

N3.Enabled:=True;

N4.Enabled:=False;

N5.Enabled:=True;

end;

//===Добавить===

procedure TFtex.N1Click(Sender: TObject);

begin

UDataM.DataM.ADOTtex.Insert;

end;

//===Отменить===

procedure TFtex.N2Click(Sender: TObject);

begin

UDataM.DataM.ADOTtex.Cancel;

end;

//===Изменить===

procedure TFtex.N3Click(Sender: TObject);

begin

UDataM.DataM.ADOTtex.Edit;

end;

//===Сохранить===

procedure TFtex.N4Click(Sender: TObject);

begin

UDataM.DataM.ADOTtex.Post;

end;

//===Удалить===

procedure TFtex.N5Click(Sender: TObject);

begin

IF MessageBox(Handle,' УДАЛЕНИЕ ЗАПИСИ!!!'+#10+#10+

'Вы действительно хотите удалить запись?'+#10+#10+

'После нажатия на кнопку ДА, данные будут удалены.'+#10+

'Для отмены удаления нажмите на кнопку НЕТ.', 'ВНИМАНИЕ!!!',

MB_YesNo+MB_ICONWARNING+MB_TaskModal) = mrYes Then

UDataM.DataM.ADOTtex.Delete;

end;

end.

Модуль формы справочника «Марки оргтехники» (Umarka)

unit Umarka;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, DBCtrls, StdCtrls, Mask, ExtCtrls, DBCGrids, Menus;

var

Fmarka: TFmarka;

implementation

uses UMain, UDataM;

{$R *.dfm}

//===Переход по записям===

procedure TFmarka.DBCtrlGrid1Click(Sender: TObject);

begin

N1.Enabled:=True;

N3.Enabled:=True;

N4.Enabled:=False;

N5.Enabled:=True;

end;

//===Добавить===

procedure TFmarka.N1Click(Sender: TObject);

begin

UDataM.DataM.ADOTmarki.Insert;

end;

//===Отменить===

procedure TFmarka.N2Click(Sender: TObject);

begin

UDataM.DataM.ADOTmarki.Cancel;

end;

//===Изменить===

procedure TFmarka.N3Click(Sender: TObject);

begin

UDataM.DataM.ADOTmarki.Edit;

end;

//===Сохранить===

procedure TFmarka.N4Click(Sender: TObject);

begin

UDataM.DataM.ADOTmarki.Post;

end;

//===Удалить===

procedure TFmarka.N5Click(Sender: TObject);

begin

IF MessageBox(Handle,' УДАЛЕНИЕ ЗАПИСИ!!!'+#10+#10+

'Вы действительно хотите удалить запись?'+#10+#10+

'После нажатия на кнопку ДА, данные будут удалены.'+#10+

'Для отмены удаления нажмите на кнопку НЕТ.', 'ВНИМАНИЕ!!!',

MB_YesNo+MB_ICONWARNING+MB_TaskModal) = mrYes Then

UDataM.DataM.ADOTmarki.Delete;

end;

end.

Модуль формы (UReport)

unit UReport;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, DBCtrls, StdCtrls, Buttons, ComCtrls;

var

FReport: TFReport;

implementation

uses UMain, UDataM;

{$R *.dfm}

//===Отчеты ТО и ПО

procedure TFReport.SBreportClick(Sender: TObject);

var

Name, NameS: OleVariant;

Sum, SumVZ, SumNVZ: single;

n: integer;

S: string;

begin

IF FReport.Caption='Отчет ТО' Then

begin

Name:=ExtractFilePath(Application.ExeName)+'\documents\Отчет ТО.doc';

NameS:=ExtractFilePath(Application.ExeName)+'\temp\Отчет ТО'+S+'.doc';

UDataM.DataM.WordApp.Connect;

Try

Application.Minimize;

UDataM.DataM.WordApp.Documents.Open(Name,

EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);

UDataM.DataM.WordDoc.ConnectTo(UDataM.DataM.WordApp.ActiveDocument);

UDataM.DataM.WordDoc.SaveAs(NameS);

S:=DateToStr(DateTimePicker1.Date);

UDataM.DataM.WordDoc.Tables.Item(1).Cell(2,2).Range.InsertBefore(S);

S:=DateToStr(DateTimePicker2.Date);

UDataM.DataM.WordDoc.Tables.Item(1).Cell(3,2).Range.InsertBefore(S);

UDataM.DataM.ADOQReportTO.Close;

UDataM.DataM.ADOQReportTO.Parameters.ParamValues['D1']:=DateTimePicker1.Date; UDataM.DataM.ADOQReportTO.Parameters.ParamValues['D2']:=DateTimePicker2.Date;

UDataM.DataM.ADOQReportTO.Open;

n:=1; SumVZ:=0; SumNVZ:=0;

With UDataM.DataM.ADOQReportTO do

begin

First;

while not EOF do

begin

S:=IntToStr(n); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,1).Range.InsertBefore(S);

S:=IntToStr(UDataM.DataM.ADOQReportTOЗАКАЗЫНомерЗаказа.Value); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,2).Range.InsertBefore(S);

S:=DateToStr(UDataM.DataM.ADOQReportTOДатаЗаказа.Value); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,3).Range.InsertBefore(S);

S:=UDataM.DataM.ADOQReportTOКлиент.Value; UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,4).Range.InsertBefore(S);

S:=DateToStr(UDataM.DataM.ADOQReportTOДатаРемонта.Value); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,5).Range.InsertBefore(S);

S:=DateToStr(UDataM.DataM.ADOQReportTOДатаЗавершения.Value); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,6).Range.InsertBefore(S);

S:=UDataM.DataM.ADOQReportTOСтатус.Value; UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,7).Range.InsertBefore(S);

UDataM.DataM.ADOQSumRabR.Close; UDataM.DataM.ADOQSumRabR.Parameters.ParamValues['N']:=UDataM.DataM.ADOQReportTOЗАКАЗЫНомерЗаказа.Value;

UDataM.DataM.ADOQSumRabR.Open;

UDataM.DataM.ADOQSumRasR.Close; UDataM.DataM.ADOQSumRasR.Parameters.ParamValues['N']:=UDataM.DataM.ADOQReportTOЗАКАЗЫНомерЗаказа.Value;

UDataM.DataM.ADOQSumRasR.Open; S:=Format('%m',[UDataM.DataM.ADOQSumRabRРаботы.Value+UDataM.DataM.ADOQSumRasRУзлы.Value]); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,8).Range.InsertBefore(S);

S:=IntToStr(UDataM.DataM.ADOQReportTOСкидка.Value); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,9).Range.InsertBefore(S); Sum:=UDataM.DataM.ADOQSumRabRРаботы.Value+UDataM.DataM.ADOQSumRasRУзлы.Value;

Sum:=Sum-(Sum*UDataM.DataM.ADOQReportTOСкидка.Value/100);

S:=Format('%m',[Sum]); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,10).Range.InsertBefore(S) UDataM.DataM.WordDoc.Tables.Item(2).Rows.Add(EmptyParam);

if UDataM.DataM.ADOQReportTOСтатус.Value='завершен' then

SumVZ:=SumVZ+Sum;

if UDataM.DataM.ADOQReportTOСтатус.Value='на выполнении' then

SumNVZ:=SumNVZ+Sum;

inc(n);

Next;

end;

end;

UDataM.DataM.WordDoc.Tables.Item(2).Rows.Item(n+1).Delete;

S:=Format('%m',[SumVZ]); UDataM.DataM.WordDoc.Tables.Item(3).Cell(1,2).Range.InsertBefore(S);

S:=Format('%m',[SumNVZ]); UDataM.DataM.WordDoc.Tables.Item(3).Cell(2,2).Range.InsertBefore(S);

S:=Format('%m',[SumVZ+SumNVZ]); UDataM.DataM.WordDoc.Tables.Item(3).Cell(3,2).Range.InsertBefore(S);

Except

begin

ShowMessage('Шаблон документа "Отчет ТО" не найден!');

UDataM.DataM.WordApp.Disconnect;

Application.Restore;

exit;

end;

end;

UDataM.DataM.WordApp.Disconnect;

Application.Restore;

end;

IF FReport.Caption='Отчет ПО' Then

begin

Name:=ExtractFilePath(Application.ExeName)+'\documents\Отчет ПО.doc';

NameS:=ExtractFilePath(Application.ExeName)+'\temp\Отчет ПО'+S+'.doc';

UDataM.DataM.WordApp.Connect;

Try

Application.Minimize;

UDataM.DataM.WordApp.Documents.Open(Name,

EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam); UDataM.DataM.WordDoc.ConnectTo(UDataM.DataM.WordApp.ActiveDocument);

UDataM.DataM.WordDoc.SaveAs(NameS);

S:=DateToStr(DateTimePicker1.Date); UDataM.DataM.WordDoc.Tables.Item(1).Cell(2,2).Range.InsertBefore(S);

S:=DateToStr(DateTimePicker2.Date); UDataM.DataM.WordDoc.Tables.Item(1).Cell(3,2).Range.InsertBefore(S);

UDataM.DataM.ADOQReportPO.Close; UDataM.DataM.ADOQReportPO.Parameters.ParamValues['D1']:=DateTimePicker1.Date; UDataM.DataM.ADOQReportPO.Parameters.ParamValues['D2']:=DateTimePicker2.Date;

UDataM.DataM.ADOQReportPO.Open;

n:=1; SumVZ:=0; SumNVZ:=0;

With UDataM.DataM.ADOQReportPO do

begin

First;

while not EOF do

begin

S:=IntToStr(n); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,1).Range.InsertBefore(S);

S:=IntToStr(UDataM.DataM.ADOQReportPOЗАКАЗЫНомерЗаказа.Value); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,2).Range.InsertBefore(S);

S:=DateToStr(UDataM.DataM.ADOQReportPOДатаЗаказа.Value); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,3).Range.InsertBefore(S);

S:=UDataM.DataM.ADOQReportPOКлиент.Value; UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,4).Range.InsertBefore(S);

S:=UDataM.DataM.ADOQReportPOИмяПО.Value; UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,5).Range.InsertBefore(S);

S:=UDataM.DataM.ADOQReportPOСтатус.Value; UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,6).Range.InsertBefore(S);

S:=Format('%m',[UDataM.DataM.ADOQReportPOЦена.Value]); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,7).Range.InsertBefore(S);

S:=IntToStr(UDataM.DataM.ADOQReportPOСкидка.Value); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,8).Range.InsertBefore(S);

Sum:=UDataM.DataM.ADOQReportPOЦена.Value;

Sum:=Sum-(Sum*UDataM.DataM.ADOQReportPOСкидка.Value/100);

S:=Format('%m',[Sum]); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,9).Range.InsertBefore(S);

UDataM.DataM.WordDoc.Tables.Item(2).Rows.Add(EmptyParam);

if UDataM.DataM.ADOQReportPOСтатус.Value='выполнено' then

SumVZ:=SumVZ+Sum;

if UDataM.DataM.ADOQReportPOСтатус.Value='в разработке' then

SumNVZ:=SumNVZ+Sum;

inc(n);

Next;

end;

end;

UDataM.DataM.WordDoc.Tables.Item(2).Rows.Item(n+1).Delete;

S:=Format('%m',[SumVZ]); UDataM.DataM.WordDoc.Tables.Item(3).Cell(1,2).Range.InsertBefore(S);

S:=Format('%m',[SumNVZ]); DataM.DataM.WordDoc.Tables.Item(3).Cell(2,2).Range.InsertBefore(S);

S:=Format('%m',[SumVZ+SumNVZ]);

DataM.DataM.WordDoc.Tables.Item(3).Cell(3,2).Range.InsertBefore(S);

Except

begin

ShowMessage('Шаблон документа "Отчет ПО" не найден!');

UDataM.DataM.WordApp.Disconnect;

Application.Restore;

exit;

end;

end;

UDataM.DataM.WordApp.Disconnect;

Application.Restore;

end;

end.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.