Рефераты

Дипломная работа: Автоматизация предприятия

Блоки данных - это наименьшие единицы БД Oracle. Они физически хранятся на диске. Блоки данных на большинстве систем 2Кб (2048 байт), но Вы можете изменить этот размер на свое усмотрение для увеличения эффективности работы системы [9].

1.4. Описание систем

1.4.1 Существующая система

В настоящее время расчеты потребности в материалах ведутся плановым бюро ОМТС с помощью калькулятора на основании представленных ОГТ специфицированных норм расхода материалов на одну единицу изделия. На каждый материал заведена карточка, в которой ведутся расчеты на материал под каждый запуск в производство. По мере необходимости оплаты финансовым отделом завода по установленным правилам ОМТС оформляет заявку на оплату. Планируемые суммы ежеквартально с разбивкой по месяцам передаются в группу бюджетирования для включения в бюджет. Контроль ведется по мере поступления и выдачи материалов в производство.

1.4.2. Управление запасами и производством по точке перезаказа

Одной из задач управления предприятием, которую выполняет служба ОМТС, является задача управления запасами. Для учета и управления запасами, который в н.в. выполняется вручную, применяются карточки складского учета, в которых указывается поступление материалов на склад, их отпуск со склада, а также их остаток. Аналогично информация с карточек дублируется в книгах учета в ОМТС. Кроме того, в ОМТС ведется карточка на материал, в которой вручную заносится потребность под запуск, лимит для выдачи материалов в цеха. При использовании карточного метода задача пополнения запасов реализуется простым (с точки зрения трудозатрат персонала) и очень неэффективным (с точки зрения достижения основных целей предприятия) способом: когда какой-нибудь материал был полностью израсходован, формируется заказ поставщику. В этом случае (поскольку поставка не всегда могла происходить моментально) в течение некоторого времени необходимый материал просто отсутствовал на складе.

Логичным решением, исключающим такую ситуацию, установление некоторого минимального уровня запасов на складах, по достижении которого формируется заказ на пополнение. Т.е, как только реальное количество материала на складе опускалось ниже определенного уровня, называемого точкой перезеказа, значение которой зависело от времени реализации потребности, величина заказываемой партии и некоторых других параметров, происходило оформление нового заказа на поставку этого материала.

1.4.3. Предлагаемая система

ОМТС из компьютерной системы получает информацию о необходимом к закупке количестве материалов (брутто-потребность). Все необходимые расчеты выполняет БМТН предприятия на каждый запуск производства. Плановое бюро ОМТС группирует все рассчитанные потребности ПО ЗАКАЗУ и ПО ЗАВОДУ, в случае необходимости потребность корректируется на допустимые замены согласно таблице замен или оформляется карта отклонений.

Входной информацией является:

1.         Рассчитанные MRP-потребности

2.         Заявки на заказ поставщику (ответственные ОМТС)

Выполняемые действия:

1.         Просмотр необходимых к закупке материалов

2.         Формирование заказов на закупку и уведомление финансового отдела о необходимости оплаты в установленном на предприятии порядке

3.         Отслеживание заказов поставщикам и уведомление финансового отдела об оплате в соответствии с договором (заявкой на поставку).

выходная информация:

1.         Заказы поставщикам (ожидаемые приходы-даты, количество)

2.         Уведомления о необходимости оплаты – заявка на оплату и счет со стороны поставщика для оплаты

При расчете MRP потребности необходимо учесть разрешенные замены согласно СТП и карты отклонений, т.е. если отдел закупок, просмотрев потребность, должен установить связку товар-поставщик, т.е. связать с материалом поставщиков. Если такого материала нет, тогда ищут альтернативу и вводят карту отклонений.

Последовательность выполняемых действий:

1. Выбор режима расчета MRP потребности:

- на каталог

- по на все каталоги

2. Расчет MRP потребности.

3. Расчет MRP потребности с учетом замен.

4. Привязка поставщиков. Если есть таблица поставщиков (т.е. связь материалов и поставщиков)

5. Связка поставщик – материал, по поставщику договор и сроки поставки. Не исключено, что по одному материалу имеется несколько поставщиков.

6. Далее дать возможность посмотреть уже сформированные заказы. Т.к каталоги на один и тот же заказ или разные пополняются, то нужно все время проверять общую потребность к закупке с уже сформированными заказами и формировать новые.


Конструкторская часть

2.1. Назначение и состав программного комплекса

Программный комплекс предназначен для уменьшения трудоемкости работы сотрудников отдела материально-технического снабжения ОАО «Тайфун» при планировании закупок необходимых материалов.

Комплекс разрабатывается для автоматизации планирования процесса закупок.

Программный комплекс состоит из клиентской части, выполненной в среде программирования Delphi, и серверной части, выполненной в виде базы данных Oracle, хранимой на сервере и состоящий из таблиц, хранимых процедур и других компонентов базы данных.

1.2. Безопасность доступа к данным

1.2.1. Идентификация

Идентификация и проверка подлинности пользователей или аутентификация - основное средство защиты информационных систем от постороннего вмешательства.

Под идентификацией обычно понимается процедура, посредством которой пользователь или процесс сообщает сведения о себе. Проверка подлинности, или аутентификация - это процедура проверки достоверности предъявленных данных. Как правило, большинству пользователей требуется доступ ко многим сервисам, предоставляемым системами. В то же время ни им, ни системным администраторам не хочется размножать регистрационную информацию и особым образом входить в каждый сервер.

Выход из этой ситуации заключается в создании специального сервера проверки подлинности, услугами которого будут пользоваться другие серверы и клиенты информационной системы. Выделение особого сервера аутентификации позволяет реализовать собственные прикладные комплексы со своей системой понятий, но со стандартной процедурой проверки подлинности, что существенно облегчает управление правами доступа пользователей.

Для данных целей подсистема использует модуль UnitM4Server, который содержит все необходимые функции. Проверку подлинности осуществляет функция User_Connect. Входные параметры: login – имя пользователя, password – пароль. Данная функция принимает имя пользователя и пароль и при правильном вводе, подключает пользователя к базе. Окно ввода имени пользователя и пароля представлено на рис 2.

Рис.2. Окно проверки доступа

Код процедуры TMainF.SocketConnection1AfterConnect:

Procedure TMainF.SocketConnection1AfterConnect(Sender: TObject);

var

 us_n,us_p,us_fio:Widestring;

begin

 us_n:='';

 us_p:='';

try

 M4Server:=IM4ServerDisp(IDispatch(SocketConnection1.appServer));

 if M4Server.Error_Code<>0 then

         raise exception.Create(M4Server.Error_Message);

 us_n:=UpperCase(IniParameters.UserName);

 if UsNamePass='' then

 PassDlg(us_n, us_p)

 else

 begin

 us_n:=LeftStr(UsNamePass,pos('@',UsNamePass)-1);

 us_p:=midStr(UsNamePass,length(us_n)+2,Length(UsNamePass)-2);

 end;

 if us_n<>'' then

          IniParameters.UserName:=us_n;

 if M4Server.User_Connect(us_n,us_p,us_fio) > -1 then

         begin

          StatusBar1.Panels[0].Text := us_fio;

 us_n:='';

 us_p:='';

          menu:=MainMenuConnected;

 ShowModulKatalogs(nil)

         end

 else

         begin

 if UsNamePass='' then

 begin

          ShowMessage('Неправильное имя пользователя или пароль!');

          SocketConnection1.Close;

          M4Server:=nil;

 end

 else

 close;

         end

except

         //raise exception.Create('Соединение невозможно!');

         SocketConnection1.Close;

         M4Server:=nil;

         raise

end;

end;

1.2.2. Авторизация

Компоненты и процессы авторизации позволяют предоставлять пользователям разрешения на доступ к ресурсам и управлять этими разрешениями.

Сотрудники завода, имеющие доступ к информационным ресурсам, получают идентификатор. Чтобы обеспечить управление доступом к управляемым ресурсам, например, базам данных и приложениям, для идентификаторов назначаются роли.

Роль - это ключевой компонент функции управления доступом на основе ролей. Роли создаются в соответствии с тем, что требуется сотрудникам для эффективного предоставления доступа к нужному инструментарию [7].

Политика предоставления доступа задает связь между сотрудниками, принадлежащими к различным ролям в организации, и службами, которые соответствуют различным ресурсам, а также определяет, какие права будут предоставлены этим сотрудникам при доступе к службам.

Реализуемая политика предоставления доступа отражает политику управления идентификацией, соответствующую плану обеспечения защиты на заводе.

Политика предоставления доступа представляет собой ключевой компонент каркаса автоматизации управления жизненным циклом идентификаторов.

Предоставляемое право определяет, какие службы связаны с правилом политики и какие условия применимы к предоставляемому праву. Например, предоставляемое право может указывать, есть ли у связанной с ним роли доступ ко всем экземплярам службы, или только к какому-то одному экземпляру этой службы. С предоставляемыми правами также связаны рабочие потоки, которые позволяют реализовать процедуры утверждения при предоставлении доступа к службам.

1.2.3. Управление доступом на основе ролей

Управление доступом на основе ролей существенно сокращает затраты и сложность администрирования пользователей за счет реализации комплексного, основанного на правилах политики, решения по предоставлению пользователям доступа к ресурсам в соответствии с действующим на заводе требованиями к защите.

Функция управления доступом на основе ролей использует роли и правила политики предоставления доступа, чтобы оценивать, проверять и применять бизнес-процессы и правила для предоставления доступа пользователям. Главные администраторы создают правила политики предоставления доступа и назначают пользователям роли, для которых заданы наборы предоставляемых прав, определяющих разрешения на доступ к ресурсам. Роль, назначенная пользователю, отражает круг его обязанностей и сферу его деятельности в организации [7].

Функция управления доступом на основе ролей оценивает изменения в информации о пользователях, чтобы определить, влияют ли эти изменения на назначение пользователю той или иной роли. Если возникает такая необходимость, правила политики пересматриваются и сразу же вносятся изменения в предоставляемые права. И аналогично, изменение в наборе ресурсов, с которым связано правило политики, может инициировать изменение в соответствующих предоставляемых правах.

Управление доступом на основе ролей включает в себя следующие возможности:

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

§    Обязательные службы, доступ к которым должен предоставляться до того, как будут заданы те или иные права доступа. Например, права доступа к Windows NT(R) должны предоставляться до предоставления прав на доступ к Microsoft Outlook(R).

§    Права могут предоставляться по умолчанию, а также могут применяться ограничения предоставляемых прав, когда каждой характеристике предоставляемого права присваивается значение по умолчанию или, в зависимости от возможностей предоставляемого права, ограничивается область его действия.

§    Можно создать одну учетную запись с несколькими разрешениями, управляемыми разными правилами политики.

§    Можно создавать частные просмотры информации о пользователях и доступных ресурсах с применением фильтров.

§    Можно применять методы аутентификации пользователей, соответствующие внутренней политике защиты.

§    Можно безопасным образом распределять компоненты системы предоставления доступа по средам WAN и Интернет (включая переход через брандмауэры).

§    Можно создавать ID пользователей с использованием унифицированных, заданных пользователями алгоритмов.

Функция User_Connect(login, password) помимо подключения к базе данных, определяет к какой роли принадлежит данный пользователь и связывает его с определенными правами. В зависимости от привилегий конкретного пользователя, ему разрешается или запрещается просматривать, редактировать или удалять определенные записи в базе данных.


1.3. Алгоритмы работы подсистемы

Разработанная программа, после соединения с базой данных, формирует таблицу со списком каталогов, в которых хранится информация на состав конечного изделия. Из этой таблицы выбирается каталог и для этого каталога делается расчет потребности, если необходимо сделать расчет для нескольких каталогов, то выбирается несколько каталогов. Когда расчет произведен, формируется новая таблица с материалами и их потребностями. Каждому материалу соответствует свой уникальный код. Материал, который входит в состав изделия по необходимости можно заменить на какой-либо другой, но обязательно из той же группы. Замена может быть полной или частичной, так как часть необходимого материала может быть в наличии. Для каждого необходимого материала или для замены можно ввести соответствующего контрагента, то есть у кого будет производиться закупка. Для этого из справочника контрагентов, в котором содержится информация о названии, городе, физическом и юридическом адресе, индивидуальном налоговом номере и прочие характеристики, выбирается контрагент. После добавления контрагента необходимо ввести количество материала (в пределах ранее рассчитанной величины), требуемого на закупку, а так же единицу измерения (килограмм, метр, кубометр, литр и т.д.) и закупочную цену. После ввода всех необходимых данных формируется таблица заказов в которой содержится информация о материале, его количестве, цене и контрагенте. В этой таблице можно выбрать перечень материалов на которые надо оформлять заказ и формируется отчет.


2.4. Разработка таблиц

2.4.1. Структура таблицы «материалы»

«Таблица материалы» содержит в себе информацию о всех материалах и их характеристиках (табл.1).

Табл.1

Таблица имеет следующие поля:

MATERIAL_ID : Идентификатор

KOD_OKP : Код ОКП

NAME : Наименование

ED_IZM : Еденица измерения

NORMA : Минимальная норма запаса на складе

DECLARATION : Дополнительное описание

KORR_SCHET : Балансовый счет

USER_ID : Идентификатор пользователя

DATE_CREATE : Дата создания

DATE_LAST_CHANGE : Дата последнего изменения

MAT_TYPE : Тип еденицы

IMBASE_KEY : Ключ в IMBASE

SAPFORD_KEY : Ключ в SAPFORD

GR_ZAMEN : Номер группы взаимозаменяемых материалов

MIN_RASHOD : Минимальная партия выдачи

2.4.2. Структура таблицы «контрагенты»

«Таблица контрагенты» содержит информацию о контрагентах и их характеристиках (табл.2).

Табл.2

Таблица имеет следующие поля:

CODE : Внешний идентификатор (три знака почтового индекса + четырехзанчный код)

NAME : Наименование

FULL_NAME : Полное имя

INN : ИНН банка

KPP : КПП предприятия

ZIP : Почтовый индекс

REGION : Регион, край, область, автономный округ.

SUB_REGION : Район

CITY : Наиненование населенного пункта

NAS : Внутренний код

STREET : Улица

HOUSE : Дом

HOUSE_CASE : Корпус

HOUSE_CASE_STRUC : Строение

CONTRAGENT_ID : Внутренний код

PHONE : Телефон

FAX : Факс

E_MAIL : Электронный почтовый ящик

ADD_INF : Дополнительная информация

OFFICE : Офис

COUNTRY : Страна

DATE_CREATE : Дата создания записи

DATE_LAST_CHANGE : Дата изменения записи

USER_ID : Идентификатор пользователя

USER_ID_CHANGE : Идентифокатор изменившего пользователя


2.4.3. Структура таблицы «замены»

«Таблица замены» содержит информацию о заменах (табл.3).

Табл.3

Таблица имеет следующие поля:

MZ_ID : Уникальный идентификатор

MZ_KAT_ID : Каталог

MZ_MAT_ID : Идентификатор заменяемого материала

MZ_NEW_MAT_ID : Ифентификатор нового материала

MZ_KOL : Количество заменяемого материала

MZ_MAX_KOL : Всего заменяемого материала

MZ_NEW_KOL : Количество нового материала

MZ_TYPE : Тип замены (0 - полная, 1 - частичная)

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

CREATE OR REPLACE PROCEDURE "MATERIALS_ZAMEN_CREATE" (

 in_kat_id IN sostav.sos_kat_id%TYPE,

 in_mat_id IN materials_zamen.mz_mat_id%TYPE,

 in_new_mat_id IN materials_zamen.mz_mat_id%TYPE,

 in_old_kol IN materials_zamen.mz_kol%TYPE,

 in_max_kol IN materials_zamen.mz_max_kol%TYPE,

 in_new_kol IN materials_zamen.mz_new_kol%TYPE,

 in_zamen_type IN materials_zamen.mz_type%TYPE

)

/*добавление записи по материалу к версии расчета*/

IS

 out_id INTEGER;

 mat_count INTEGER := 0;

 summ_kol NUMBER := 0;

BEGIN

 SELECT seq_material_zamen_mz_id.NEXTVAL

 INTO out_id

 FROM DUAL;

 -- Ищем были ли произведены полные замены на данный материал

 SELECT COUNT (*)

 INTO mat_count

 FROM materials_zamen

 WHERE mz_mat_id = in_mat_id AND mz_type = 0

 AND mz_kat_id = in_kat_id;

 -- Если производится частичная замена и уже есть полная замена

 IF (in_zamen_type IN (0, 1) AND mat_count > 0)

 THEN

 raise_application_error

 (-20001,

 'Вы не можете проводить замену, т.к. с данным материалом уже была произведена полная замена.'

 );

 END IF;

 mat_count := 0;

 -- Ищем были ли произведены частичные замены на данный материал

 SELECT COUNT (*)

 INTO mat_count

 FROM materials_zamen

 WHERE mz_mat_id = in_mat_id AND mz_type = 1

 AND mz_kat_id = in_kat_id;

 -- Если производится полная замена и уже есть частичные замены

 IF (in_zamen_type = 0 AND mat_count > 0)

 THEN

 raise_application_error

 (-20001,

 'Вы не можете проводить полную замену, т.к. с данным материалом уже была произведена частичная замена.'

 );

 END IF;

 --Проверяем, можно ли произвести частичную замену

 IF (in_zamen_type = 1)

 THEN

 SELECT SUM (mz_kol)

 INTO summ_kol

 FROM materials_zamen

 WHERE mz_mat_id = in_mat_id AND mz_type = 1 AND mz_kat_id = in_kat_id;

 summ_kol := summ_kol + in_old_kol;

 IF (summ_kol > in_max_kol)

 THEN

 raise_application_error

 (-20001,

 'Общее количество материалов при проведении частичных замен превышает максимальное количество.'

 );

 END IF;

 END IF;

 INSERT INTO materials_zamen

 (mz_id, mz_kat_id, mz_mat_id, mz_new_mat_id, mz_kol,

 mz_max_kol, mz_new_kol, mz_type

 )

 VALUES (out_id, in_kat_id, in_mat_id, in_new_mat_id, in_old_kol,

 in_max_kol, in_new_kol, in_zamen_type

 );

END materials_zamen_create;

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

CREATE OR REPLACE PROCEDURE "MATERIALS_ZAMEN_DELETE" (

 in_mz_id IN materials_zamen.mz_id%TYPE

)

/*удаление замены материала*/

IS

BEGIN

 DELETE FROM materials_zamen

 WHERE mz_id = in_mz_id;

END materials_zamen_delete;

2.4.4. Структура таблицы «закупок»

«Таблица закупок» содержит информацию о заменах (табл.4).

Табл.4

MC_ID : Идентификатор

MC_MAT_ID : Идентификатор материала

MC_MZ_ID : Идентификатор замены материала

MC_POST_ID : Идентификатор контрагента

MC_NAME : Наименование контрагента

MC_COUNT : Количество на закупку

MC_COST : Цена

MC_EDIZM : Еденица измерения

MC_KAT_ID : Каталог

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

CREATE OR REPLACE PROCEDURE "MATERIALS_CONTRAGENT_CREATE" (

 in_mc_kat_id IN materials_contragent.mc_kat_id%TYPE, in_mc_mat_id IN materials_contragent.mc_mat_id%TYPE, in_mc_mz_id IN materials_contragent.mc_kat_id%TYPE, in_mc_post_id IN materials_contragent.mc_post_id%TYPE, in_mc_name IN materials_contragent.mc_name%TYPE, in_mc_count IN materials_contragent.mc_kat_id%TYPE, in_mc_cost IN materials_contragent.mc_cost%TYPE, in_mc_edizm IN materials_contragent.mc_edizm%TYPE, out_id OUT materials_contragent.mc_id%TYPE

)

/*добавление записи по материалу к версии расчета*/

IS

BEGIN

 SELECT seq_materials_contragent_mc_id.NEXTVAL

 INTO out_id

 FROM DUAL;

 INSERT INTO materials_contragent

 (mc_id, mc_mat_id, mc_mz_id, mc_post_id, mc_name,

 mc_count, mc_cost, mc_edizm, mc_kat_id

 )

 VALUES (out_id, in_mc_mat_id, in_mc_mz_id, in_mc_post_id, in_mc_name,

 in_mc_count, in_mc_cost, in_mc_edizm, in_mc_kat_id

 );

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. На сервере баз данных необходимо установить серверную часть Oracle.

2. Для сервера приложений необходимо установить: клиентскую часть Oracle – для связи с сервером Oracle, Borland Socket Server – для прослушивания порта, к которому будет происходить подключение и Borland Database Engine – для соединения сервера приложений с клиентской частью Oracle.

3. Также необходимо зарегистрировать сервер приложений, запустив его.

4. На клиентских машинах нет необходимости в установке дополнительного программного обеспечения, кроме самой подсистемы.

5. На клиентской машине необходимо однократно настроить имя сервера приложений и указать порт, к которому будет происходить подключение.

Порт должен быть точно таким же, какой указан Borland Socket Server.

Для успешного администрирования базы данных, также необходимо обладать знаниями навыками по настройке и администрированию сервера Oracle.

7. При запуске сервера приложений на панели задач появляется иконка сервера приложений. Когда сервер закрывается, иконка тоже исчезает.


2.4. Руководство оператора

3.3.1. Запуск подсистемы

После запуска операционной системы Microsoft Windows 98/ME/2000/XP запуск программы можно провести несколькими способами:

§    используя кнопку «Пуск» («Start» в англоязычной версии Windows);

§    используя значок «Расчет трудоемкости», расположенный на рабочем столе Windows;

§    используя команду выполнить с аргументом «C:\K_T_Base\ K_T_Base.exe»;

§    используя проводник Windows или аналогичную программу.

Для запуска первым способом необходимо нажать кнопку «Пуск» и выбрать в меню пункт «Программы» («Program» в англоязычной версии Windows). После чего в подменю выбрать строку «K_T_Base» и осуществить таким образом запуск программы.

Для запуска вторым способом необходимо дважды щелкнуть левой клавишей мыши на значок «K_T_Base», расположенный на рабочем столе.

Для запуска третьим способом необходимо нажать кнопку «Пуск» и выбрать в меню пункт «Выполнить». Далее ввести в окно текст «C:\K_T_Base\K_T_Base.exe» с клавиатуры или воспользовавшись возможностью обзора, нажать кнопку «Ok».

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

3.3.2. Начало работы

Разработанная подсистема выполняет следующие функции:

§    Расчет потребностей материалов

§    Добавление необходимых замен

§    Удаление необходимых замен

§    Добавление контрагентов

§    Удаление контрагентов

§    Формирование таблицы закупок

§    Вывод отчета

На рис. 9. показано окно подсистемы, с которого пользователь начинает работу.

Рис 9. Проверка доступа

В этом окне пользователю необходимо ввести имя пользователя и пароль. Доступ к серверу баз данных открывает администратор, пароль и имя пользователя вводятся латинскими буквами. Пароль не отоброжается, в случае необходимости просмотра пароля надо поставить галочку в ячейке «Показать пароль». После ввода данных надо нажать на кнопку «ОК», в результате, если данные верны, открывается сама программа (Рис.10).

Рис.10. Окно системы К_Т_Base.

В окне выбирается каталог, для которого будет производиться расчет потребности. В строке меню, при нажатии кнопки «Отчеты», появляется выпадающее меню в котором необходимо выбрать строку «Закупки материалов» (Рис.11).

Рис. 10. Меню «Отчеты».

3.3.3. Новый расчет

Для создания нового расчета пользователю необходимо выбрать будет ли расчет производиться на выбранный каталог или каталог будет формироваться. Данные параметры задаются в окне, представленном на рис. 11.

Рис.11. Окно выбора каталога

После выбора каталога следует нажать кнопку «Данные», в результате будет произведен расчет потребности, и будет сформирована форма с тремя взаимосвязанными таблицами. В таблице «Список материалов» находятся материалы, их код ОКП, количество и единица измерения. В таблице «Список замен» находятся заменяемые материалы, их код ОКП, количество заменяемого и нового материала. В таблице «Список контрагентов» находятся контрагенты, количество материала необходимого к закупке, его единица измерения и цена (рис. 12.). Все три таблицы взаимосвязаны: каждому материалу соответствует своя замена и контрагент, каждой замене соответствует свой контрагент.

Рис. 12. Основное окно программы

Чтобы начать ввод замен и контрагентов, необходимо в главном меню выбрать пункт «Действие», в результате появится выпадающее меню (рис.13), в котором пользователь выбирает необходимое действие.

Рис. 13. Меню «Действие».

3.3.4. Ввод замен

Ввод замен производится при выборе строки меню «Ввести замену», в результате появляется новое окно, отраженное на рис.14. В этом окне отображается к какой группе относится материал, тип замены (полная или частичная), старый материал и его количество, новый материал и его количество. Новый материал выбирается из таблицы, его количество вводится вручную. Если замена частичная, то количество замены, должно быть меньше, иначе появится окно с ошибкой замены. Материал можно заменять на несколько других, но общее количество замены не должно превышать рассчитанное по норме. Это производится аналогично полной замене. Когда все замены введены, надо нажать кнопку «Ввести замену», если замены не требуется – нажать «Отмена».

Рис. 14. Ввод замен

3.3.5. Ввод контрагентов

После того, как введены замены, можно начать ввод контрагентов. Контрагенты вводятся как для материала, так и для замены. Для этого надо выбрать в главном меню строку «Ввести контрагента» и появится окно, представленное на рис. 15., в нем выбирается контрагент. Если найден нужный контрагент, нажать кнопку «Выбрать», в противном случае «Отмена».

Рис. 15. Справочник контрагентов

После ввода контрагента появляется окно «Добавление контрагентов», в него заносим количество материала на закупку, предполагаемую цену и единицу измерения. Чтобы очистить поля данных, надо нажать кнопку «Очистить». Если данные не требуется изменять, следует нажать кнопку «Добавить в таблицу». Если требуется изменить контрагента нажать «Отмена» (Рис. 16).

Рис. 16. Добавление контрагентов

Далее, для формирования таблицы, отображающей все взаимосвязи материалов и контрагентов, необходимо в главном меню выбрать строку «Печать отчета», затем в выпадающем меню «На текущий каталог» или «На все каталоги». После нажатия на один из пунктов меню, появится форма с таблицей, отражающей материал, контрагента, количество, цену, еденицу измерения, и признак выбора.

2.3.6. Печать отчета

Печать отчета возможна после выбора материалов необходимых к закупке. Материалы выбираются в столбце признак выбора. Признаком вбора является галочка в соответствующей строке. Выбрав в меню «Печать отчета», на экране появляется отчет (Рис.18.)

3.4. Удаление подсистемы

Для удаления с жесткого диска подсистемы необходимо произвести следующие операции:

§    Удалить с жесткого диска каталог C:\K_T_Base и все его содержимое;

§    Удалить с рабочего стола операционной системы значок «K_T_Base»;

§    Удалить из главного меню элемент «K_T_Base»

                                       4. Организационно-экономическая часть

4.1. Особенности программного продукта как товара

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

Следует подчеркнуть, что у программных продуктов практически отсутствует процесс физического старения и износа. Для них основные затраты приходятся на разработку образца, тогда как процесс тиражирования представляет собой, обычно, сравнительно несложную и недорогую процедуру копирования магнитных носителей и сопровождающей документации.

4.2. Расчет затрат на изготовление подсистемы

Затраты в денежном выражении на изготовление и реализацию продукции определяют ее себестоимость.

Себестоимость продукции - это стоимостная оценка используемых в процессе производства продукции (работ, услуг) природных ресурсов, сырья материалов, топлива, энергии, основных фондов, а также других затрат на ее производство и продажу.

В общем случае себестоимость продукции складывается из следующих экономических элементов:

Прямые расходы:

-     материальные затраты (за вычетом стоимости возвратных отходов);

Страницы: 1, 2, 3


© 2010 Собрание рефератов