Рефераты. Автоматизация предприятия

END materials_contragent_create;

Процедура удаления контрагента в таблицу закупок:

CREATE OR REPLACE PROCEDURE "MATERIALS_CONTRAGENT_DELETE" (

in_mc_id IN materials_zamen.mz_id%TYPE

)

/*удаление контрагента*/

IS

BEGIN

DELETE FROM materials_contragent

WHERE mc_id = in_mc_id;

END materials_CONTRAGENT_delete;

2.5. Разработка модулей

2.5.1. Модуль Mat_Zamen.pas

Модуль Mat_Zamen.pas, представленный на рис.3, является главным модулем проекта, так как он содержит описание действий происходящих при загрузке программы, а также описание формы MainForm.

На форме расположены три таблицы TDBGridEh. Это таблицы материалов, замен и контрагентов, а также закладки и меню TMenuItem. На форме присутствуют компоненты TСlientDataSet, TdataSource.

Компонент TClientDataSet используется в клиентской части многозвенного распределенного приложения.

Компонент обеспечивает выполнение следующих основных функций:

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

* представление набора данных при помощи локального буфера и поддержка основных операций, унаследованных от класса TDataSet;

* объединение записей набора данных при помощи агрегатных функций для получения суммарных данных;

* локальное сохранение набора данных в файле и последующее восстановление набора данных из файла;

* представление набора данных в формате XML [6].

Предком компонента TClientDataSet является класс TDataSet, поэтому TClientDataSet обладает таким же набором функций, что и обычный компонент, инкапсулирующий набор данных. Основное же отличие заключается в том, источник данных для него доступен только через удаленный компонент-провайдер. Это означает, что сохранение изменений и обновление набора данных осуществляется локально, без обращения к источнику данных [7].

Как и обычный компонент, компонент TClientDataSet может использоваться совместно с визуальными компонентами отображения данных. Для этого нужен компонент TDataSource.

На втором этапе разработки приложения баз данных необходимо перенести на форму и настроить компонент TDataSource. Он обеспечивает взаимодействие набора данных с компонентами отображения данных. Чаще всего одному набору данных соответствует один компонент TDataSource, хотя их может быть несколько.

Для настройки свойств компонента необходимо выполнить следующие действия.

1. Связать набор данных и компонент TDataSource. Для этого используется свойство DataSet компонента TDataSource, доступное через Инспектор объектов. Это указатель на экземпляр компонента доступа к данным.

В списке этого свойства в Инспекторе объектов перечислены все доступные компоненты наборов данных.

2. Переименовать компонент. Это не обязательное действие. Тем не менее желательно присваивать компонентам осмысленные имена, соответствующие названиям связанных наборов данных [7].

Компонент меню, представленный на рис. 4, выполняет следущие процедуры:

· Ввод / удаление контрагента;

· Ввод / удаление замены;

· Печать отчета

Рис. 4. Главное меню

Процедуры ввода (TFRep_Mats.N5Click) и удаления (TFRep_Mats.N14Click) контрагентов.

procedure TFRep_Mats.N5Click(Sender: TObject);

begin

IF not assigned(scM4_ContrAgents) then

initscM4_ContrAgents(SharedConnection.ParentConnection);

ContrAgentsGet_Sprav(Self, IM4ContrAgentsDisp(IDispatch(scM4_ContrAgents.AppServer)),

(Screen.DesktopHeight div 2) - (height div 2),

(Screen.DesktopWidth div 2) - (width div 2),

'', '', '',

ContrAgent_Name,

ContrAgent_Code);

if (DBGEh_Mats.Focused = True) and (ContrAgent_Name <> '') Then

Mat_Contr_Add(Application, SharedConnection, Kat_Id, CDS_Mats.FieldByName('MD_MR_ID').AsInteger,

0, 0, ContrAgent_Code, ContrAgent_Name)

else if (DBGEh_Zamen.Focused = True) and (ContrAgent_Name <> '') then

Mat_Contr_Add(Application, SharedConnection, Kat_Id, CDS_Zamen.FieldByName('MZ_MAT_ID').AsInteger,

CDS_Zamen.FieldByName('MZ_ID').AsInteger, 1, ContrAgent_Code, ContrAgent_Name);

Contr_Refresh;

end;

procedure TFRep_Mats.N14Click(Sender: TObject);

begin

V.Mat_Zamen_Contr_Del(CDS_Contr.FieldByName('MC_ID').AsInteger);

Contr_Refresh;

end;

Процедуры ввода и удаления замен:

procedure TFRep_Mats.N13Click(Sender: TObject);

begin

Enter_Zamen(Application, SharedConnection,

Kat_Id,

CDS_Mats.FieldByName('MD_MR_ID').AsInteger,

CDS_Mats.FieldByName('GM_ID').AsInteger,

CDS_Mats.FieldByName('MAT_OKP').AsInteger,

CDS_Mats.FieldByName('MR_NAME').AsString,

CDS_Mats.FieldByName('POTREB').AsString,

CDS_Mats.FieldByName('GM_NAME').AsString);

Zamen_Refresh;

end;

procedure TFRep_Mats.N15Click(Sender: TObject);

begin

V.Mat_Zamen_Delete(CDS_Zamen.FieldByName('mz_id').AsInteger);

Zamen_Refresh;

Contr_Refresh;

end;

Печать отчета

procedure TFRep_Mats.N8Click(Sender: TObject);

begin

Mat_Zamen_Rep(Application, SharedConnection, Kat_Id, 1, Kat_ZCO_NAME, Kat_Name);

end;

2.5.2. Модуль Mat_Zamen_New.pas

На форму модуля Mat_Zamen_New вынесены следующие компоненты: TDBGridEh, TbitBtn, TdataSource, TclientDataSet, Tedit, TradioGroup (рис.5).

Рис.5. Модуль Mat_Zamen_New

TDBGridEh - таблица в которую заносятся данные , TbitBtn - кнопки ввода замены и отмены, TdataSource и TclientDataSet - для соединения с базой данных, Tedit - строки с материалами, TradioGroup - выбор полной или частичной замены.

Процедура выбора типа замены:

rocedure TFNew_Zamen.RGClick(Sender: TObject);

begin

if RG.ItemIndex = 1 then

begin

DBN_OldKol.Enabled := True;

end

else if RG.ItemIndex = 0 then

begin

DBN_OldKol.Enabled := False;

DBN_OldKol.Value := Old_Kol;

end;

Zamen_Type := RG.ItemIndex;

end;

Процедура ввода замены:

procedure TFNew_Zamen.BitBtn1Click(Sender: TObject);

var Old, Max, New : WideString;

begin

Old := FloatToStr(DBN_OldKol.Value);

Max := FloatToStr(Max_Kol);

New := FloatToStr(DBN_NewKol.Value);

V.Mat_Zamen_Create(Kat_Id,

Mat_Id,

CDS_Mats.FieldByName('MATERIAL_ID').AsInteger,

Old,

Max,

New,

Zamen_Type);

Close;end;

2.5.2. Модуль Mat_Zamen_CNTR_Add.pas

На форме (рис. 6) находятся следующие компоненты: Tedit, TDBNumberEditEh, TspeedButton, TclientDataSet, TdataSource, TcomboBox.

Tedit - наименование контрагента, TDBNumberEditEh - количество закупаемого материала и цена, TcomboBox - выпадающее меню выбора едениц измерения, TspeedButton - рабочие кнопки , TclientDataSet и TdataSource - связь с базой данных.

Рис.6. Модуль Mat_Zamen_CNTR_Add

2.5.2. Модуль формирования очета

На форму (Рис.7 ) вынесена таблица, меню и компоненты связи с базой данных.

После заполнения таблицы, выбрав из меню строку «печать отчета» появится окно компонента FastReport (Рис.8). Этот компонент отвечает за печать отчета.

Рис.7. Таблица закупок

Рис.8. Отчет FastReport

3. Технологическая часть

3.1. Требования к аппаратному и программному обеспечению

§ Требования к аппаратному обеспечению:

- Процессор Pentium 800 МГц;

- Объем оперативной памяти 128 Мбайт;

- Объем жесткого диска не менее 5 Гбайт;

- Монитор SVGA, клавиатура и манипулятор мышь.

§ Требования к программному обеспечению:

- программа должна работать под управлением операционной системы Microsoft Windows 98/ME/2000/XP.

3.2. Установка подсистемы

Вычислительная среда поставляется на диске CD-R, емкостью 700 Мб. Установка производится в несколько этапов:

§ Проверить соответствие оборудования, на которое предполагается произвести установку, минимальным требованиям для работы подсистемы;

§ Вставить компакт-диск с программой в CD-ROM;

§ Скопировать каталог K_T_Base и все его содержимое на жесткий диск, с которого предполагается производить запуск программы, в каталог C:\ K_T_Base;

§ Для удобства запуска создать на рабочем столе операционной системы значок «K_T_Base», ссылающийся на программу C:\ K_T_Base \ K_T_Base.exe, рабочий каталог C:\ K_T_Base;

§ Создать в главном меню элемент, ссылающийся на программу C:\ K_T_Base \ K_T_Base.exe;

§ Произвести запуск программы;

§ Установка завершена.

3.3. Руководство администратора

Для функционирования подсистемы необходимо наличие специального ПО:

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.