Разработка автоматизированной информационной системы для учета и контроля выполнения ремонтных работ оргтехники
Основные этапы разработки автоматизированной информационной системы для учета и контроля выполнения ремонтных работ оргтехники. Анализ программного обеспечения компании "МегионСофтОйл" Тюменской области. Особенности использования технологии Microsoft ADO.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 01.06.2012 |
Размер файла | 8,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
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
Подобные документы
Разработка общей структуры промышленной сети программируемых контроллеров в рамках автоматизированной системы расчета технологии измерения размеров образца металла с использованием компьютерных сетей связи. Проведение технического контроля аппарата.
дипломная работа [96,3 K], добавлен 06.03.2010Обоснование выбора программируемого логического контроллера и разработка автоматизированной системы контроля процесса пайки топливных коллекторов с помощью логического процессора фирмы "ОВЕН". Программное обеспечение датчиковой аппаратуры системы.
дипломная работа [3,5 M], добавлен 02.06.2014Структура ремонтно-строительной компании. Анализ необходимости внедрения автоматизированной системы. Функциональные возможности системы. Общая структура организации работ по проектированию ПП. Необходимость отладки разработанного программного продукта.
дипломная работа [111,8 K], добавлен 29.09.2007Разработка системы климат-контроля автомобиля. Расчет и выбор основных компонентов электрической схемы, микроконтроллера для управления устройством. Написание программного обеспечения с использованием интегрированной среды разработки MPLAB 8.30.
реферат [545,6 K], добавлен 09.03.2012Оценка безопасности информационных систем. Методы и средства построения систем информационной безопасности. Структура системы информационной безопасности. Методы и основные средства обеспечения безопасности информации. Криптографические методы защиты.
курсовая работа [40,3 K], добавлен 18.02.2011Ознакомление с сервисным центром оргтехники ТОО "Монтеко"; организация систем офисной связи, контроля доступа; выбор и обоснование схемы охранно-пожарной сигнализации: пороговые системы с радиальными шлейфами, с модульной структурой; пожарные извещатели.
отчет по практике [810,2 K], добавлен 18.01.2013Разработка проекта внедрения SAP CRM. Анализ организации, анализ процессов, подлежащих автоматизации. Решение SAP Best Practices в организации управления клиентами и продажами. Функции системы, основные вопросы предпосылки к внедрению ее на предприятии.
курсовая работа [2,0 M], добавлен 12.05.2014Изучение приемов оптимально синтеза структурной схемы и анализа САУ. Проведение практического анализа и синтеза автоматизированной системы на примере системы MATHCAD. Определение возможности обеспечения наилучших характеристик САУ в статике и динамике.
контрольная работа [146,6 K], добавлен 06.01.2012Преимущества беспроводных сетей передачи данных. Использование радиоканала для обмена данными со счетчиками. Архитектура, параметры и функции автоматизированных информационно-измерительных систем контроля и учета электроэнергии. Сети стандарта GSM/GPRS.
реферат [2,1 M], добавлен 27.11.2014Анализ разработки системы автоматизированного контроля на базе микроконтроллера МК51, схемотехника портов. Выбор интегральных микросхем ОЗУ для модуля памяти. Определение надёжности (вероятности безотказной работы) системы автоматизированного контроля.
дипломная работа [1,9 M], добавлен 15.01.2012