Автор работы: Пользователь скрыл имя, 14 Января 2014 в 15:09, дипломная работа
Целью исследования является обоснование необходимости и разработка информационной системы планирования закупок для предприятия химической отрасли. Предметом исследования в дипломной работе является деятельность компании по планированию закупок. Объектом исследования дипломной работы является научно-производственная фирма «АгроЛидер». ООО «НПФ «АгроЛидер» ― перспективная и динамично развивающаяся компания, занимающаяся производством и поставкой средств защиты растений по всей территории России.
ВВЕДЕНИЕ 3
1 АНАЛИТИЧЕСКАЯ ЧАСТЬ 5
1.1 ТЕХНИКО-ЭКОНОМИЧЕСКАЯ ХАРАКТЕРИСТИКА ПРЕДМЕТНОЙ ОБЛАСТИ 5
1.1.1 Характеристика предприятия 5
1.1.2 Краткая характеристика подразделения и его видов деятельности 9
1.2 ЭКОНОМИЧЕСКАЯ СУЩНОСТЬ ЗАДАЧИ 14
1.3 ОБОСНОВАНИЕ НЕОБХОДИМОСТИ И ЦЕЛИ ИСПОЛЬЗОВАНИЯ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ ДЛЯ РЕШЕНИЯ ЗАДАЧИ 19
1.4 ПОСТАНОВКА ЗАДАЧИ 22
1.5 АНАЛИЗ СУЩЕСТВУЮЩИХ РАЗРАБОТОК 25
1.5.1 Информационная система « Управление снабжением 8» 25
1.5.2 Информационная система «1С: Управление производственным предприятием» 27
1.5.3 Информационная система “Oracle Retail Invoice Matching” 29
1.5.4 Информационная система «Галактика» 30
1.6 ОБОСНОВАНИЕ ВЫБОРА ТЕХНОЛОГИИ ПРОЕКТИРОВАНИЯ 35
1.7 ОБОСНОВАНИЕ ПРОЕКТНЫХ РЕШЕНИЙ ПО ВИДАМ ОБЕСПЕЧЕНИЯ 36
1.7.1 Техническое обеспечение 36
1.7.2 Информационное обеспечение 38
1.7.3 Программное обеспечение 40
1.7.4 Технологическое обеспечение 49
1.7.5 Математическое обеспечение 50
2 ПРОЕКТНАЯ ЧАСТЬ 53
2.1 ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ЗАДАЧИ 53
2.1.1 Используемые классификаторы и системы кодирования 53
2.1.2 Характеристика нормативно-справочной и входной информации 53
2.1.3 Характеристика результатной информации 55
2.1.4 Информационная модель и ее описание 55
2.1.5 Физическая модель 60
2.2 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ЗАДАЧИ 61
2.2.1 Общие положения (дерево функций и сценарий диалога) 61
2.2.2 Структурная схема пакета 65
2.2.3 Описание программных модулей 67
2.3 РЕАЛИЗАЦИЯ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА 68
3 ОБОСНОВАНИЕ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОЕКТА 78
ЗАКЛЮЧЕНИЕ 86
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 88
ПРИЛОЖЕНИЯ 91
end;
end;
procedure TGP.BTN_INSClick(Sender: TObject);
begin
if MT.State in [dsInsert, dsEdit] then MT.Post ;
MT.Insert ;
if GP_ADD.ShowModal = mrOk then
begin
MT.Post ;
MT.CLOSE ;
MT.Open;
end;
end;
Procedure TGP.Filter_Gr ;
var
str: string ;
SORTFIELD : STRING ;
Current_Pos : string ;
begin
if MT.Active = false then MT.Open;
if MT1.Active = false then MT1.Open;
IF MemTableEh1.Active = false then MemTableEh1.Open;
MemTableEh1.Last ; MemTableEh1.First;
Filter(Grid ,str , SORTFIELD);
Current_Pos := MTID_PROD.asstring ;
if Current_Pos ='' then Current_Pos := '0' ;
Grid.DataSource := nil ;
MT.Close ;
DD.SelectSQL.Clear;
DD.SelectSQL.Add('Select * from GP where 7=7 ' + Str + SORTFIELD ) ;
MT.Open ;
Grid.DataSource := DS ;
MT.Locate('ID_PROD' ,Current_Pos, [loCaseInsensitive] ) ;
end ;
end.
unit U_GP_ADD;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, ExtCtrls, StdCtrls, Mask, DBCtrls;
type
TGP_ADD = class(TForm)
Panel1: TPanel;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Label1: TLabel;
DBEdit1: TDBEdit;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label4: TLabel;
DBEdit4: TDBEdit;
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
GP_ADD: TGP_ADD;
implementation
uses U_GP;
{$R *.dfm}
procedure TGP_ADD.SpeedButton3Click(
begin
ModalResult := mrOk ;
end;
procedure TGP_ADD.SpeedButton4Click(
begin
ModalResult := mrCancel ;
end;
end.
unit U_RASH_MAT;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MemTableDataEh, Db, ADODB, MemTableEh, DataDriverEh, ADODataDriverEh,
Buttons, GridsEh, DBGridEh, ExtCtrls, StdCtrls;
type
TRASH_MAT = class(TForm)
GroupBox1: TGroupBox;
Panel1: TPanel;
Grid: TDBGridEh;
BTN_INS: TSpeedButton;
BTN_ED: TSpeedButton;
BTN_DEL: TSpeedButton;
BTN_CLOSE: TSpeedButton;
DD: TADODataDriverEh;
MT: TMemTableEh;
DS: TDataSource;
MTID_RASH: TAutoIncField;
MTID_PR_ZAK: TIntegerField;
MTID_MAT: TIntegerField;
MTKOL: TFloatField;
MTNAIM_MAT: TStringField;
MTNAIM_GP: TStringField;
MTDT_ZAP_F: TDateTimeField;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Filter_Gr ;
procedure GridApplyFilter(Sender: TObject);
procedure BTN_CLOSEClick(Sender: TObject);
procedure BTN_INSClick(Sender: TObject);
procedure BTN_EDClick(Sender: TObject);
procedure BTN_DELClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
RASH_MAT: TRASH_MAT;
implementation
uses U_DM, Automate, U_RASH_MAT_ADD;
{$R *.dfm}
procedure TRASH_MAT.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := cafree;
RASH_MAT := nil ;
end;
procedure TRASH_MAT.FormShow(Sender: TObject);
begin
DataSourceIni(RASH_MAT_ADD, DS) ;
end;
procedure TRASH_MAT.GridApplyFilter(
begin
Filter_Gr;
end;
procedure TRASH_MAT.BTN_CLOSEClick(
begin
CLOSE ;
end;
procedure TRASH_MAT.BTN_DELClick(Sender: TObject);
begin
if MT.State in [dsInsert, dsEdit] then MT.Post ;
If MessageDlg('Удалить запись',MTCONFIRMATION , [MBYES, MBNO], 0)= mrYes then
MT.Delete ;
MT.CLOSE ;
MT.Open;
end;
procedure TRASH_MAT.BTN_EDClick(Sender: TObject);
begin
if MT.State in [dsInsert, dsEdit] then MT.Post ;
MT.EDIT ;
if RASH_MAT_ADD.ShowModal = mrOk then
begin
MT.Post ;
MT.CLOSE ;
MT.Open;
end;
end;
procedure TRASH_MAT.BTN_INSClick(Sender: TObject);
begin
if MT.State in [dsInsert, dsEdit] then MT.Post ;
MT.Insert ;
if RASH_MAT_ADD.ShowModal = mrOk then
begin
MT.Post ;
MT.CLOSE ;
MT.Open;
end;
end;
Procedure TRASH_MAT.Filter_Gr ;
var
str: string ;
SORTFIELD : STRING ;
Current_Pos : string ;
begin
if MT.Active = false then MT.Open;
Filter(Grid ,str , SORTFIELD);
Current_Pos := MTID_RASH.asstring ;
if Current_Pos ='' then Current_Pos := '0' ;
Grid.DataSource := nil ;
MT.Close ;
DD.SelectSQL.Clear;
DD.SelectSQL.Add('Select * from ('+
' SELECT RASH_MAT.* , '+
' MAT.NAIM AS NAIM_MAT, GP.NAIM AS NAIM_GP, '+
' PLAN_PR.DT_ZAP_F '+
' FROM RASH_MAT, MAT, PLAN_PR, GP '+
' WHERE RASH_MAT.ID_MAT = MAT.ID_MAT AND '+
' RASH_MAT.ID_PR_ZAK = PLAN_PR.ID_PR_ZAK AND '+
' PLAN_PR.ID_PROD = GP.ID_PROD '+
') as t_1 where 7=7 ' + Str + SORTFIELD ) ;
MT.Open ;
Grid.DataSource := DS ;
MT.Locate('ID_RASH' ,Current_Pos, [loCaseInsensitive] ) ;
end ;
end.
unit U_RASH_MAT_ADD;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, ExtCtrls, StdCtrls, Mask, DBCtrls, MemTableDataEh, Db,
ADODB, DBGridEh, DBCtrlsEh, DBLookupEh, MemTableEh, DataDriverEh,
ADODataDriverEh;
type
TRASH_MAT_ADD = class(TForm)
Panel1: TPanel;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBEdit3: TDBEdit;
ADODataDriverEh1: TADODataDriverEh;
MemTableEh1: TMemTableEh;
MemTableEh1ID_MAT: TAutoIncField;
MemTableEh1EI: TStringField;
MemTableEh1NAIM: TStringField;
MemTableEh1HAR: TStringField;
DataSource1: TDataSource;
DBLookupComboboxEh2: TDBLookupComboboxEh;
ADODataDriverEh2: TADODataDriverEh;
MemTableEh2: TMemTableEh;
DataSource2: TDataSource;
MemTableEh2ID_PR_ZAK: TAutoIncField;
MemTableEh2KOL: TFloatField;
MemTableEh2DT_ZAP: TDateTimeField;
MemTableEh2DT_VIP: TDateTimeField;
MemTableEh2ID_PROD: TIntegerField;
MemTableEh2DT_ZAP_F: TDateTimeField;
MemTableEh2DT_VIP_F: TDateTimeField;
DBLookupComboboxEh1: TDBLookupComboboxEh;
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
RASH_MAT_ADD: TRASH_MAT_ADD;
implementation
uses U_RASH_MAT;
{$R *.dfm}
procedure TRASH_MAT_ADD.
begin
ModalResult := mrOk ;
end;
procedure TRASH_MAT_ADD.
begin
ModalResult := mrCancel ;
end;
end.
Информация о работе Разработка ЭИС планирования закупок для предприятия химической отрасли