Клиентское программное обеспечение автоматизации рабочего места

 

СОДЕРЖАЕНИЕ


ВВЕДЕНИЕ

1 АНАЛИТИЧЕСКАЯ ЧАСТЬ

1.1 Концептуальное проектирование

.2 Логическое проектирование

2 ПРОЕКТНАЯ ЧАСТЬ

2.1 Общие положения

.2 Требования к системе

.3 Машинное проектирование

.4 Описание функциональных возможностей

3 ЭКОНОМИЧЕСКАЯ ЧАСТЬ

3.1 Затраты на разработку алгоритма

.2 Затраты на написание и отладку

.3 Затраты связанные с внедрением программы

.4 Требования к комплексу технических средств

4 ОХРАНА ТРУДА И ТЕХНИКА БЕЗОПАСНОСТИ

4.1 Техника безопасности на производстве

.2 Инструкции по технике безопасности при работе на персональном компьютере

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЕ

ВВЕДЕНИЕ


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

Акционерное общество «КЭМОНТ» - динамично развивающееся предприятие с 60-тилетним опытом работы в области проектирования и изготовления электротехнического оборудования среднего и низкого напряжения. Основным направлением деятельности является выпуск комплектных распределительных устройств 6-10 кВ.

Специалисты предприятия постоянно следят за новейшими достижениями и разработками, используя в своей работе материалы, оборудование и технологии ведущих фирм - SIEMENS <#"justify">Формирование списка оборудования по отдельным категориям, а так же ведение учета из расхода и потребности для того или иного заказа, либо формирование сводной ведомости по требующимся оборудованиям для отдельного заказа.

Целью данной дипломной работы является разработка клиентского программного обеспечения для автоматизации рабочего места комплектовщика на складе.

Для достижения поставленной цели были решены следующие задачи:

1.изучение предметной области

2.создание программного продукта

.написание пояснительной записки

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

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

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

База данных обеспечивает:

Внесение данных в базу из первичных входных документов.

Оперативный поиск данных;

Надежную защиту данных на удаленном сервере;

Формирование выходных документов в виде отчетов.

формирование сводной ведомости по заказам;

формирование списка имеющихся на складе оборудований;

На первом этапе проводится анализ информационных потребностей пользователей. Объектом исследования является склад Акционерного Общества «КЭМОНТ» Выявление информационных объектов и связей между ними. Результатом первого этапа является инфологическая модель.

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

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


1 АНАЛИТИЧЕСКАЯ ЧАСТЬ


1.1 Концептуальное проектирование


1.1.1Целью данной дипломной работы является автоматизация

следующих задач в производственных условиях

Разделение оборудования по техническим характеристикам и по марке оборудования;

Ввод данных о поступившем оборудовании;

Сохранение данных на удаленном сервере, в единой базе данных;

Получение оперативной информации об оставшихся материалах на складе;

Оперативное формирование списка требуемых материалов для отдельного заказа - формирование сводной ведомости;

Оперативное слежение за остатком материалов на складе;

Получение полной информации о каждом оборудовании на складе;

Для решения поставленных задач было проведено обследование предметной области - центральный склад АО «КЭМОНТ».

Обследование предметной области производилось непосредственно на центральном складе предприятия АО «КЭМОНТ»:

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


1.1.2 Документы предметной области, содержащие информацию,

необходимых для решения поставленной задачи

Автоматизации подлежит задача «оперативного поиска данных об оборудовании на складе, формирование сводной ведомости расхода требуемого оборудования, вывод оставшихся на складе материалов»

В результате исследования предметной области для пользователей (комплектовщики), представляют следующие выходные документы:

Выдача работникам сводной ведомости об оборудованиях;

вывод сводной ведомости расхода оборудования;

вывод списка отдельных групп оборудований;

вывод характеристики отдельного оборудования;

в разрабатываемом приложении предусмотрена возможность добавления данных о новом оборудовании, создание новой группы и подгруппы оборудований;


1.1.3 Определение информационных объектов, атрибутов, свойств

и построение инфологической модели

Исходя из информационных потребностей пользователей, были выделены следующие информационные объекты:

«номенклатура»

«оборудования»

«типы оборудований»

«детали»

«поставщики»

«заказы»

«ведомость»

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

Объект: номенклатура

Атрибуты: универсальный код, название.

Объект: оборудования

Атрибуты: код, код номенклатуры.

Объект: типы оборудований

Атрибуты: код, код оборудования, наименование.

Объект: детали

Атрибуты: код, код типа оборудований, обозначение, полное наименование, ячейка, остатки, единицы измерения.

Объект: поставщики

Атрибуты: код, код детали, поставщик, штрих-код.

Объект: заказ

Атрибуты: номер заказа, объект, заказчик, автор, комплектовщик, дата заказа.

Объект: ведомость

Атрибуты: код, код заказа, номенклатура, характеристика, количество, остатки, в ячейках.

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

После завершения построения инфологической модели переходим к логическому проектированию.


1.2 Логическое проектирование


1.2.1 На данном этапе определяется количество возможных связей

между сущностями

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

Показатель кардинальности может иметь следующие связи:

«один к одному» (1:1) и «один ко многим» (1:N);

Спецификация типов связей:

Номенклатура Оборудование (1:N);

Оборудование Типы оборудования (1:N);

Типы оборуд. Детали (1:N);

Детали Поставщики (1:N);

Заказ Ведомость (1:1);

Ведомость Номенклатура (1:N);

Для удобной работы с атрибутами- введем их идентификаторы.


Таблица 1.1 - Атрибуты и идентификаторы

ИдентификаторыАтрибуты12NameНазваниеDescriptionНаименованиеAssignationОбозначениеFullnameПолное названиеCellЯчейкаRemainsОстаткиUnitЕдиницы измеренияSupplierПоставщикиCodeШтрих-код

Продолжение таблицы 1.1

12NumКоличествоObjОбъектZakazЗаказчикAutorАвторPickerКомплектовщикYГодNomenclatНоменклатураDet_nameХарактеристика деталейSummКоличествоAlВсегоCellЯчейки

1.2.2 Нормализация отношений и построение логической схемы

реляционной базы данных

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

множество отношений должно обеспечить минимальную избыточность данных;

корректировка отношений не должна приводить к потере или двусмысленности информации;

при добавлении новых атрибутов в БД перестройка набора отношений должна быть минимальной.

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

Конечной целью будет являться БД третьей нормальной формы (3НФ). В большинстве случаев это оптимальный компромисс между двумя противоположными тенденциями - стремлением к нормализации и необходимостью сохранить функциональные возможности и простоту реализации. Существуют уровни и помимо 3НФ, но на практике их использование приводит к тому, что на первый план выходят вопросы, связанные со структурой, а не с функциональностью.

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

Справочник «номенклатура»

Код номенклатуры, название

Справочник «оборудования»

Код оборудования, код номенклатуры, наименование оборудования.

Справочник «типы товаров»

Код товаров, код оборудования, наименование

Справочник «детали»

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

Справочник «поставщики»

Код поставщиков, код деталей, поставщик, штрих-код

Справочник «заказ»

Код заказа, номер заказа, объект, заказчик, автор, комплектовщик, год заказа

Справочник «ведомость»

Код ведомости, код заказа, номенклатура, характеристика, количество, всего, в ячейках

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

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

Разработанная логическая модель будет выглядеть следующим образом:

NOMENCLATUREIDNAMEEQUIPMENTORDIDIDN_IDNUMNAMEOBJZAKAZTIPAUTORIDPICKERE_IDYDESCRIPTIONDETAILSIDT_IDSTATEMENTASIGNATIONIDFULLNAMEO_IDCELLNOMENCLATREMAINSDET_NAMEUNITSUMMALCELLSUPPLEIDD_IDSUPPLIERCODEРисунок 1.2 - Логическая структура

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

Описание таблиц со входящими в них полями приводятся в таблице 1.2


Таблица 1.2- Описание полей таблиц

ТаблицыИмя поляТип поляОписание1234NomenclatureIdIntegerКод номенклатурыNameVarchar(50)Название EquipmentIdIntegerКод оборудованияN_idintegerКод номенклатурыNameVarchar(50)оборудованиеTip_oIdIntegerКод типаE_idIntegerКод оборудованияDescriptionVarchar(60)Наименование оборудованияDetailsIdIntegerКод деталейT_idIntegerКод типа оборудованияAssignationVarchar(60)ОбозначениеFullnameVarchar(150)Полное названиеCellVarchar(15)ЯчейкиRemainsIntegerОстаткиUnitVarchar(5)Единицы измеренияSuppleIdIntegerКод поставщикаD_idIntegerКод деталейSupplierVarchar(30)ПоставщикCodeVarchar(15)Штрих-кодZakazzId IntegerКод заказаNumVarchar(7)Номер заказаObjVarchar(30)ОбъектZakazVarchar(30)ЗаказчикPickerVarchar(30)КомплектовщикYVarchar(10)Год заказаStatementIdIntegerКод ведомостиO_idIntegerКод заказаNomenclatVarchar(60)Название номенклатурыDet_nameVarchar(150)Полное наименованиеSummIntegerТребуемое количество оборудованияAlIntegerКоличество оборудования на складеCellVarchar(15)Ячейка расположения оборудованияПосле завершения инфологического проектирования, построения логической модели, указания полей для таблиц, с их описаниями и типами полей, переходим к машинному проектированию данной базы.


2 ПРОЕКТНАЯ ЧАСТЬ


.1 Общие положения


.1.1 Описание инструментальных средств проектирования

Создание приложения для управления базой данных, производится в системе программирования Delphi 7.0 . Среда программирования, в которой используется язык программирования object Pascal. Delphi существует во множестве конфигураций, которые используются как в ведомственных, так и в производственных учреждениях. С помощью Delphi пользователь может написать программу в рамках Windows на много быстрее и проще, чем это когда-либо было возможно. В основе Delphi-среды лежит язык программирования Паскаль. Delphi имеет возможность использования множества баз данных. Примерами могут быть локальные базы данных-Paradox, Dbase, сетевые серверные базы данных SQL - InterBase, SysBase.

Программы графического интерфейса Delphi разработан на основе высокоуровнегого языка программирования общего назначения
Язык Delphi можно отнести к категории объективно-ориентированных
Delphi поддерживает главные средства программного обеспечения
Delphi имеет редактор графического отладчика Delphi является функциональным приложением Turbo Pascal Многие виды программирования предполагают наличие специальной библиотеки объектов Элементы VCL-библиотеки позволяют создавать усовершенствованный графический интерфейс.
Осуществление визуального проектирования интерфейса
Borland занимается разработкой системы управления жизненным циклом приложений.предназначен для программистов, которые занимаются созданием новых комплексных программ для сложных приложений
элементы Delphi-основа языка программирования С#. Использование Delphi при разработке различных компонентов программного обеспечения
На сегодняшний день, последней, 12 версией программного средства является Delphi 2009

2.2 Требования к системе

Процессор Intel Pentium 160 МГц и выше
Операционная система Microsoft Windows XP/7, Windows 2000/98

Оперативная память 128 Мбайт

Пространство на жестком диске 75-160 Мбайт

Монитор SVGA или выше

Другое аппаратное обеспечение мышь

Наличие печатающего устройства, так как в программе предусмотрена система формирования отчетов.


2.3 Машинное проектирование


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


Рисунок 1.1 - Схема доступа к базе данных

Начнем работу с создания новой базы данных.

Команды для создания таблиц записываются на языке SQL. Not null означает что поле должно быть обязательно заполненным, character set win1251 набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для всех русских версий Microsoft Windows.


Рисунок 2.1 - Создание базы данных


После этого указываем параметры базы данных, псевдоним, расположение файла базы данных.


Рисунок 2.2 - Путь расположения файлов


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

Рисунок 2.3 - Авторизация пользователя


После чего открывается окно базы данных. В главном меню выбираем «interactive SQL» для создания таблиц, генераторов и триггеров для базы данных.


Рисунок 2.4 - Запуск окна для ввода SQL запросов


Открывается окно ввода запросов. Вводим SQL запросы для создания таблиц базы данных. Для выполнения данного запроса необходимо нажать кнопку молнии или же сочетание клавиш «Ctrl+E», если запрос не выполнен нужно внимательно пересмотреть текст запроса на наличие синтаксических ошибок и повторений названий таблиц.


Рисунок 2.5- Создание таблицы


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

Рисунок 2.6- Создание генераторов


Аналогично создаем генератор для каждой таблицы, имена генераторов должны быть уникальными. А после создаем триггеры. Триггер - это набор инструкций SQLServer, который выглядит и действует подобно хранимой процедуре, но триггер нельзя вызвать с помощью команды EXEC. Триггеры активизируются при выполнении пользователем определенной инструкции Transact-SQL. Существует два вида триггеров:

DML запускаются с помощью инструкций INSERT, UPDATE или DELETE

Настраиваем триггеры.


Рисунок 2.7-Создание триггеров


Аналогично создаем триггеры для каждой таблицы. А после чего приступаем к созданию клиентского приложения для управления базой данных. Запускаем Delphi 7.0 сохраняем проект, добавляем невидимые компоненты для базы данных, для удобного обращения к ним добавляем модуль DataModule, и располагаем на ней 2 компонента для подключения к базе данных. Это IBDatabase и IBTransaction. Первая отвечает за подключение к базе данных, а вторая за транзакцию данных во время работы с базой данных.

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


Рисунок 2.8-Добавление компонентов для обращения к базе данных


После расположения на модуле компонентов настраиваем данные компоненты для связи с файлом базы данных. Два раза нажимаем на компоненте IBDataBase1 и появляется окно настройки доступа к базе данных. На радио-переключателях выбираем Remote- это значит удаленный, то есть подразумевает что база данных будет находиться на удаленно сервере. В окошке Server вписываем имя сервера либо IP-адрес, а протокол выбираем TCP/IP. В окне DataBase пишем путь на сервере где будет располагаться файл баз данных. В окне User Name пишем SYSDBA, а в окне Password пишем masterkey. Character set устанавливаем Win1251 - для нормального отображения Русских букв в нашем приложении, и убираем галочку с Login Prompt чтобы при каждой попытке подключения не выдавало запрос на авторизацию. Нажимаем Test для проверки подключения. При подключении всегда нужно запускать InterBase Manager.

Рисунок 2.9 - Настройка подключения к базе данных


После завершения располагаем на форме компонент MainMenu, это компонент для создания главного меню в программе. Два раза нажимаем на данном компоненте и в свойстве Caption пишем «Файл» и нажимаем enter после чего появляется главное меню. Для создания подменю, нажимаем сочетание клавиш ctrl+ клавиша вправо. Появляется подменю.

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


Рисунок 2.10- Создание главного меню


После завершения создания меню, приступаем к созданию формы через которое будем управлять базой данных. В главном меню выбираем File-New-Form. Сохраняем форму и располагаем на них невизуальные компоненты IBQuery для создания запросов, DataSource для связи таблицы с базой данных, DBGrid для отображения данных, DBNavigator для передвижения по базе данных. Настраиваем IBQuery для вызова данных из таблицы.


Рисунок 2.11- Настройка IBQuery


Указываем в базе данных Database IBDatabse находящийся на модуле. Транзакция устанавливается автоматически. В SQL пишем код запроса на вывод всех данных из таблицы. Открывается окно ввода запроса из таблицы и закрываем окно.


Рисунок 2.12-Окно ввода запросов


После настраиваем компонент Datasource на компонент IBQuery. В Data Set выбираем IBQuery1. DBGrid настраиваем чтобы он брал данные из Datasource1.


Рисунок 2.13- Свойства Datasource


Рисунок 2.14-Свойства DBGrid


После завершения настройки компонентов на вывод данных, настраиваем DBNavigator на объект Datasource. В свойстве Datasource указываем Datasource1.


Рисунок 2.15-Свойства DBNavigator


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


Рисунок 2.16-Компоненты ввода данных


На форме располагаем два компонента BitBtn- первая для добавления данных, вторая для удаления записей из таблицы. Располагаем на форме компонент IBQuery- который будет создавать запрос на ввод данных, а так же компонент DBGrid для отображения данных при добавлении и удалении. Настраиваем компоненты для ввода данных- это IBQuery. Обращаемся к свойству SQL и пишем код для ввода данных, и создается программно параметры которые по типу абсолютно соответствуют типу полей в вводимой таблице. Данные считываются в отдельном окошке через функцию Inputbox, которая считывает данные в строковую переменную, а за тем через SQL-запрос отправляет данные в базу данных. Каждая операция связанная с добавлением и удалением записей управляется компонентом IBTransaction, которая отслеживает добавления данных в таблицу либо откатывает все неудачные попытки ввода и вывода данных.

Настраиваем вывод данных в виде отчета- QReport. Создаем новую форму на которой будем выводить данные в виде отчета. Располагаем на форме QuickRep, и располагаем на данном компоненте QRDBText для вывода данных одного поля из таблицы.

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


Рисунок 2.17-Свойства компонента QRDBText


Настраиваем главное меню чтобы при выборе в меню Склад-База, открывалась форма с базой данных. И на событие формы On Create пишем код для активации запроса данных из таблицы.

А в меню выход пишем событие на закрытие всех соединений и завершения работы приложения.

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


Рисунок 2.18-Выбор файла справки


После создания справочной информации мы связываем нашу программу с файлом справки. В меню Project, выбираем Options. Во вкладке Application нажимаем кнопку Browse напротив окна выбора файла справки, после чего выбираем файл справки для данного приложения.


2.4 Описание функциональных возможностей


После запуска программы открывается главное окно, в котором есть главное меню.


Рисунок 2.19-Главное окно программы


Для подключения к серверу, в главном меню выбираем Файл-Сервер-Подключиться. В нижнем правом углу главного окна должен появиться уровень сигнала с сервером, если он не равен нулю то сигнал есть.


Рисунок 2.20-Состояние соединения


Для открытия данных в базе в главном меню выбираем Склад-База, открывается окно базы данных об оборудованиях и материалах на складе.


Рисунок 2.21-Материалы на складе


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


Рисунок 2.22-Детали оборудования

Для ввода данных, так же нажимаем кнопку добавить, появляется окно ввода данных в таблицу «Детали», вводим данные и нажимаем кнопку «Записать».


Рисунок 2.23-Окно ввода данных в таблицу детали


По завершении операций с базой данных закрываем окна.

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


Рисунок 2.24-Окно поиска данных


Для открытия сводной ведомости в главном меню выбираем Документы - Сводная ведомость, появляется окно сводной ведомости.


Рисунок 2.25-Сводная ведомость

Нажимаем кнопку «Печать», для вывода на печать выбранной ведомости.


Рисунок 2.26-Вывод на печать сводной ведомости


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


Рисунок 2.27-Создание сводной ведомости.


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


Рисунок 2.28-Окно настройки подключения к серверу


Для вызова справочной информации, в главном меню выбираем Справка - Вызов справки.


Рисунок 2.29-Окно справочной информации


Окно справочной системы содержит всю необходимую по работе с данным программным приложением.


3 ЭКОНОМИЧЕСКАЯ ЧАСТЬ


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

Проектное решение позволит вести учет заказов клиентов, контролировать исполнение каждого конкретного заказа, вести более «тонкий» учет продукции на складе, производить оперативный анализ текущего состояния товарного запаса, оценивать эффективность работы и предоставлять ряд необходимых в хозяйственной деятельности отчетов. Следует принять во внимание, что организация уже имеет программный пакет Microsoft Office и ряд других программных продуктов, однако, данная система не позволяет вести анализ и отчетность по операциям сбора, хранения и обработки данных по заказам. Оформление документов «вручную» занимает значительный период времени. Это влечет за собой усложнение и увеличение непроизводственных затрат труда сотрудников, что отрицательно сказывается на результатах деятельности предприятия в целом. Следовательно, является актуальной задача автоматизации работы.

Целью проекта является разработка автоматизированного рабочего места, которое взяло бы на себя часть функций, выполняемых менеджерами. Автоматизация работы предназначена в первую очередь для повышения эффективности и скорости работы менеджера. Поэтому функциональные возможности АРМ должны быть направлены на решение конкретных задач менеджера, возникающих в процессе работы, к которым относятся: создание и учет заявок, расчет целевого товарного запаса, оформление приходных и расходных документов, ведение складской базы, создание различных отчетов по товарам и общим финансовым показателям, ведение справочников и т.д.Данные методические указания предназначены для расчета экономической части дипломного проекта студентами IVкурса специальности 1304000 «Автоматизированные системы обработки информации и управления» и представляют собой рекомендации по расчету экономической эффективности создания типовой базы данных, позволяющих автоматизировать рабочие места служащих. 4


3.1 Обоснование методики расчета экономической эффективности


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

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

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

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

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

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

.2 Выбор метода расчета экономической эффективности


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

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

косвенный эффект;

прямой эффект.

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

Преимущества, которые обеспечивает косвенный эффект следующие:

улучшения в доступе к информации;

улучшения в качестве обслуживания заказчиков;

более быстрое и качественное принятие решений;

усиление степени контроля со стороны руководства;

улучшение морального климата и степени удовлетворенности сотрудников своим трудом.

Прямой эффект характеризуется снижением трудовых и стоимостных показателей.

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

) Абсолютное снижение трудовых затрат (?Т, чел-ч)


?Т=T0-T1


где Т0-трудовые затраты на обработку информации по базовому варианту;

Т1-трудовые затраты на обработку информации по предлагаемому варианту;

) Коэффициент относительного снижения трудовых затрат (К)


К=?Т/Т0 *100%


) Индекс снижения трудовых затрат или повышение производительности труда (Y)

=T0/T1


К стоимостным показателям относятся следующие:

)Абсолютное снижение стоимостных затрат (?C, тенге)


?С = С0 - С1,


где С0 - стоимостные затраты на обработку информации вручную;

С1 - стоимостные затраты на обработку информации по предлагаемому проекту;

) Коэффициент относительного снижения стоимостных затрат (КС)


КС =(?С / С0) * 100% ;


3) Индекс снижения стоимостных затрат (IС)


IС = С0 / С1.


Помимо рассмотренных показателей целесообразно также рассчитать срок окупаемости затрат на внедрение проекта машинной обработки информации (Ток):


Ток = КП х ДРГ/?C ,


где КП - затраты на создание проекта машинной обработки информации (проектирование и внедрение);

ДРГ - количество рабочих дней в году (254 дня).

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

Ниже приведен пример расчета показателей эффективности проекта.


3.3 Пример расчета показателей экономической эффективности

проекта


Таблица 1 - Характеристика затрат на обработку информации при базовом и проектном вариантах

Наименование операций технологического процесса решения комплекса задачОбо-рудование, шт.Ед. изм.Объем работы в годПроизводительность устройств ЭВМ (в час) при базовом вариантеПроизводительность устройств ЭВМ (в час) при проектном вариантеТру- доем-кость при базовом варианте (ч) (гр5: гр6)Тру- доемкость при проектном вар-те (ч) (гр5: гр7)Средне часовая зарплата менеджера (тг)Стои-мостные затраты при базовом варианте (тг) (гр8* гр10) Стои-мостные затраты при проек тном варианте (тг) (гр9* гр10) 1234567891011Оформление «Приходной накладной»ЭВМЗап.5002025252035087507000Расчет целевого товарного запасаЭВМЗап524232621753509170061250Создание списка материалов к выполненной работеЭВМЗап50253021,6350700560Поиск необходимого автомобиля, обслуживаемого на СТОЭВМЗап5020252,52350875700Выборка данных из учетных документовЭВМЗап50010012054,135017501435Анализ данных учета, составление отчетовЭВМЗап500100250523501750700Итого 301,5204,7 10552571645

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

Трудоемкость определяется путем деления объема работы на производительность устройств ЭВМ. Суммарная трудоемкость показывает затраты труда на технологический процесс решения комплекса задач.

Т0= 301,5 ч - базовый вариант

Т1= 204,7 ч - проектный вариант.

Среднечасовая зарплата рассчитывается путем деления среднемесячной заработной платы работника на количество рабочих часов в месяце (8-ми часовой рабочий день): 59500/170=350 (тг.)

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

С0= 105525 (тг.) - базовый вариант

С1= 71645 (тг.) - проектный вариант.

Абсолютное снижение стоимостных затрат (?C) составляет 33880 тг


Таблица 2 - Показатели эффективности от внедрения проекта автоматизации

ЗатратыАбсолютноеКоэффициентИндекс БазовыйПроектныйизменениеизмененияизменения вариантвариантзатратзатратзатратТрудоемкость301,5 чел-ч204,7 чел-ч96,8 чел-ч32 %1,48Стоимость105525 тг71645 тг33880 тг32%1,48

Таким образом, при внедрении разработанной программы трудоемкость и стоимость выполняемых операций уменьшается на 32% соответственно. Индекс изменения трудоемкости и индекс изменения стоимости составили по 1,48. Это значит, что трудоемкость и денежные затраты на технологический процесс при базовом варианте почти в полтора раза больше относительно проектного варианта. Теперь целесообразно оценить затраты на разработку и внедрение программы, и исходя из этого срок ее окупаемости. Так как в настоящий момент рабочее место менеджера оборудовано на приемлемом уровне, нет необходимости в закупке дополнительного оборудования и замене текущего.

Затраты компании на разработку и внедрение подсистемы можно представить в виде следующей таблицы (таблица 3).


Таблица 3- Этапы разработки автоматизированной системы и их стоимость

Наименование этапа разработки подсистемыКоличество затраченных часовСтоимость одного часа работы (тенге)Общая стоимость разработанной программы (КП), тенге1 Обследование объекта автоматизации1050050002 Предварительное проектирование подсистемы20700140003 Проектирование подсистемы30700210004 Внедрение проекта105005000Итого 70-45000

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

Исходя из данных о стоимости работ при базовом и проектном варианте, их разница в пользу проектного варианта составит 33880 тг. Если разбить эту разницу на количество рабочих дней в году (254), то получится значение, отражающее выгодность использования проектируемой системы за каждый день ее использования - 133,3 тг. Разделив общую сумму проекта на полученное (45000/133,3) значение получим срок - 338 рабочих дней, за которые проект окупит свою себестоимость.


3.4 Требования к комплексу технических средств


Для разработки программы необходимо 2 комплекта:

1.Pentium IV (2.8 GHz);

2.RAM 256 Mb;

3.HDD, 160 Gb;

4.VGA 128 Mb Video;

5.CD-ROM;

.Монитор LG Flatron L1953s;

7.InterBase 6.5 стоимость 397480 тг;

8.Microsoft Office 2003;

В работе используется принтер HP 2050, стоимостью 9000тг;

Затраты на приобретение комплекса технических средств составляют:

Сктс=60000 + 9000= 69000,00 тг

Данный комплекс установлен на операционной системе Windows XP.

Затраты, на разработку и внедрение приложения составляют:

З=173838,21+95119,78+9249,2+397480+9000+69000=753687,19 тг


4 ОХРАНА ТРУДА И ТЕХНИКА БЕЗОПАСНОСТИ


4.1 Техника безопасности на производстве


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

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

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

улучшение конструкции действующего оборудования с целью предохранения работающих от ранений;

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

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

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

организованное ознакомление всех поступающих на работу с правилами поведения на территории предприятия и основными правилами техники безопасности, систематическое обучение и проверка знания работающими правил безопасной работы;

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

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

Общие требования техники безопасности на производстве.

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

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

.На территории завода (во дворе, здании, на подъездных путях) выполнять следующие правила:

не ходить без надобности по другим цехам предприятия;

быть внимательным к сигналам, подаваемым крановщиками электро кранов и водителями движущегося транспорта, выполнять их;

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

не проходить в местах, не предназначенных для прохода, не подлезать под стоящий железнодорожный состав и не перебегать путь впереди движущегося транспорта;

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

не прикасаться к электрооборудованию, клеммам и электропроводам, арматуре общего освещения и не открывать дверец электрошкафов;

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

. В случае травмирования или недомогания прекратить работу, известить об этом мастера и обратиться в медпункт.

Ниже приведены специальные требования безопасности.

Перед началом работы:

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

. Надеть рабочую обувь. Работа в легкой обуви (тапочках, сандалиях, босоножках) запрещается ввиду возможности ранения ног острой и горячей металлической стружкой.

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

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

. Если необходимо пользоваться переносной электрической лампой, проверить наличие на лампе защитной сетки, исправности шнура и изоляционной резиновой трубки. Напряжение переносных электрических светильников не должно превышать 36 В, что необходимо проверить по надписям на щитках и токоприемниках.

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

. При работе с талями или тельферами проверить их исправность, приподнять груз на небольшую высоту и убедиться в надежности тормозов, стропа и цепи.

. При подъеме и перемещении тяжелых грузов сигналы крановщику должен подавать только один человек.

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

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

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

. Заранее выбрать схему и метод обработки, учесть удобство смены инструмента и производства замеров.

Во время работы:

. При заточке инструмента на шлифовальных кругах обязательно надеть защитные очки (если при круге нет защитного экрана). Если имеется защитный экран, то не отодвигать его в сторону, а использовать для собственной безопасности. Проверить, хорошо ли установлен подручник, подвести его возможно ближе к шлифовальному кругу, на расстояние 3-4 мм. При заточке стоять не против круга, а в полуоборот к нему.

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

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

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


4.1.1 Общие требования безопасности

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


4.1.2 Требования безопасности перед началом работы

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


4.1.3 Требования безопасности во время работы

Для снижения или предотвращения влияния опасных и вредных факторов необходимо соблюдать. Санитарные правила и нормы. гигиенические требования к видеодисплейным терминалам, персональным электронно-вычислительным машинам и организации работы (Утверждено Постановлением Госкомсанэпиднадзора России от 14 июля 1996 г. N 14 СанПиН 2.2.2.542-96), и Приложение 1,2

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

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

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

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

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

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

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

4.1.4 Требования безопасности в аварийных ситуациях

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

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

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

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

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

На рабочем месте запрещается иметь огнеопасные вещества

В помещениях запрещается:

а) зажигать огонь;

б) включать электрооборудование, если в помещении пахнет газом;

в) курить;

г) сушить что-либо на отопительных приборах;

д) закрывать вентиляционные отверстия в электроаппаратуре

Источниками воспламенения являются:

а) искра при разряде статического электричества

б) искры от электрооборудования

в) искры от удара и трения

г) открытое пламя

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

Помещения с электрооборудованием должны быть оснащены огнетушителями типа ОУ-2 или ОУБ-3. программа автоматизация сервер


4.1.5 Требования безопасности по окончании работы

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


4.2 Инструкция по технике безопасности при работе на

компьютере


4.2.1 Введение

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

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

Соблюдение правил безопасной работы является необходимым условием предупреждения производственного травматизма.


4.2.2 Общие положения

Область распространения и порядок применения инструкции:

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

Требования к персоналу, эксплуатирующему средства вычислительной техники и периферийное оборудование:

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

Перед допуском к работе персонал должен пройти вводный и первичный инструктаж по технике безопасности с показом безопасных и рациональных приемов работы. Затем не реже одного раза в 6 мес. проводится повторный инструктаж, возможно, с группой сотрудников одинаковой профессии в составе не более 20 человек. Внеплановый инструктаж проводится при изменении правил по охране труда, при обнаружении нарушений персоналом инструкции по технике безопасности, изменении характера работы персонала.

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

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


4.2.3 Виды опасных и вредных факторов

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

1.поражение электрическим током,

2.механические повреждения

.электромагнитное излучение

.инфракрасное излучение

.опасность пожара

.повышенный уровень шума и вибрации

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


4.2.4 Требования электробезопасности

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

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

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

. Во избежание повреждения изоляции проводов и возникновения коротких замыканий не разрешается:

а) вешать что-либо на провода;

б) закрашивать и белить шнуры и провода;

в) закладывать провода и шнуры за газовые и водопроводные трубы, за батареи отопительной системы;

г) выдергивать штепсельную вилку из розетки за шнур, усилие должно быть приложено к корпусу вилки.

. Для исключения поражения электрическим током запрещается:

а) часто включать и выключать компьютер без необходимости;

б) прикасаться к экрану и к тыльной стороне блоков компьютера;

в) работать на средствах вычислительной техники и периферийном оборудовании мокрыми руками;

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

д) класть на средства вычислительной техники и периферийном оборудовании посторонние предметы.

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

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

. Ремонт электроаппаратуры производится только специалистами-техниками с соблюдением необходимых технических требований.

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

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

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

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

. Спасение пострадавшего при поражении электрическим током главным образом зависит от быстроты освобождения его от действия током.

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

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

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


4.2.5 Требования по обеспечению пожарной безопасности

На рабочем месте запрещается иметь огнеопасные вещества

В помещениях запрещается:

а) зажигать огонь;

б) включать электрооборудование, если в помещении пахнет газом;

в) курить;

г) сушить что-либо на отопительных приборах;

д) закрывать вентиляционные отверстия в электроаппаратуре

Источниками воспламенения являются:

а) искра при разряде статического электричества

б) искры от электроборудования

в) искры от удара и трения

г) открытое пламя

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

Помещения с электрооборудованием должны быть оснащены огнетушителями типа ОУ-2 или ОУБ-3.


ЗАКЛЮЧЕНИЕ


Целью данной дипломной работы являлась разработка программного приложения для автоматизации рабочего места кладовщика на центральном складе предприятия АО «КЭМОНТ». Решение поставленных задач в ходе его проектирования и реализации позволило достичь поставленных результатов с минимальными затратами материальных ресурсов, точную оценку экономической эффективности и затрат на реализацию программного продукта определить не является возможным, так как цифры в расчетах взяты по среднестатистическим данным в данном регионе.

В данном проекте используется удовлетворяющая всем условиям поставленной задачи клиент-серверная архитектура баз данных. Клиентская часть созданного программного продукта разработана в среде программирования Delphi 7 и Interbase для Windows 9X(NT).

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

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


СПИСОК ЛИТЕРАТУРЫ


1.Блюдина Л.С. «Проектирование баз данных в среде Delphi»- Ульяновск, 2001

2.Вирт Н. Алгоритмы и структуры данных / Пер. с англ. - М.: Мир, 1989. - 360 с., ил.

. Гринзоу Лу. Философия программирования для Windows 95/NT / Пер. с англ. - СПб.: Символ-Плюс, 1997. - 640 с., ил.

. Зелковиц М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения / Пер. с англ. - М.: Мир, 1982. - 386 с., ил.

. Практическое руководство по программированию / Пер. с англ. Б. Мик, П. Хит, Н. Рашби и др.; под ред. Б. Мика, П. Хит, Н. Рашби. - М.: Радио и связь, 1986. - 168 с., ил.

.С. И. Бобровский. Delphi 7. Учебный курс «Описание системы и языка программирования Delphi»- :Питер, 2004

.Семенова И.И «Разработка клиент-серверных приложений в Microsoft SQL SERVER 2000 и Borland Delphi 2007», учебно-методическое пособие- Омск, 2007

.Справочное пособие «Borland Delphi или о том, что лучше один раз увидеть, чем сто раз услышать.», 2008

.Фаронов В. «Программирование баз данных в Delphi 7-Реализация современных технологий баз данных средствами Delphi», -Москва :«Питер» учебный курс, 2006

. Фокс Дж. Программное обеспечение и его разработка / Пер. с англ. - М.: Мир, 1985. - 368 с., ил.

.Шкрыль Андрей «Разработка клиент-серверных приложений в Delphi+видеокурс»-«Питер» 2006

. Язык компьютера. Пер. с англ, под ред. и с предисл. В. М. Курочки-на. - М.: Мир, 1989. ~ 240 с., ил.

13.#"justify">14.#"justify">15.#"justify">16.#"justify">.#"justify">.#"justify">19.#"justify">20.#"justify">21.#"justify">Приложение


unit UMain;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, XPMan, ExtCtrls, ComCtrls, StdCtrls,shellapi;

TMAIN = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

N15: TMenuItem;

XPManifest1: TXPManifest;

Timer1: TTimer;

N16: TMenuItem;

GroupBox1: TGroupBox;

PB: TProgressBar;

N17: TMenuItem;

Image1: TImage;

Timer2: TTimer;

procedure N8Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N17Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure FormDestroy(Sender: TObject);

procedure N13Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Timer2Timer(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

MAIN: TMAIN;

s,ss:string;l:integer;UDM, UBASE, UDETAL, UINS_DET, UREP_INS, UREPORT, USET,Upoisk, UOPROG,

UAUTOR;

{$R *.dfm}TMAIN.N8Click(Sender: TObject);

//BASE:=TBASE.Create(SELF);.IBQuery1.Open;

//BASE.IBQuery4.Open;

//BASE.IBQuery7.Open;.IBTable1.Active:=TRUE;.IBTable2.Active:=TRUE;.BitBtn7.Visible:=TRUE;.BitBtn8.Visible:=FALSE; BASE.ShowModal;;TMAIN.N3Click(Sender: TObject);,ss:string;,FF:textfile;

{beginfileexists(ExtractFileDir(Application.ExeName)+'\DB_path.set') then(f,ExtractFileDir(Application.ExeName)+'\DB_path.set');(f);(f,s);(f);;fileexists(ExtractFileDir(Application.ExeName)+'\server.set') then(f,ExtractFileDir(Application.ExeName)+'\server.set');(f);(f,ss);(f);;.IBD.DatabaseName:=ss+':'+s;;}FILEEXISTS('DB.LOG') THEN(FF,'DB.LOG');(FF);WRITELN(FF,'ПОДКЛЮЧЕНИЕ='+DATETIMETOSTR(NOW));(FF);BEGIN(FF,'DB.LOG');(FF);WRITELN(FF,'ПОДКЛЮЧЕНИЕ='+DATETIMETOSTR(NOW));(FF);;.IBD.Connected:=TRUE;.N8.Enabled:=TRUE;.N9.Enabled:=TRUE;

MAIN.N16.Enabled:=TRUE;('НЕ ПОЛУЧИЛОСЬ ПОДКЛЮЧИТЬСЯ К УДАЛЕННОМУ СЕРВЕРУ!'+#13+#13+'*ПРОВЕРЬТЕ ПРАВИЛЬНОСТЬ УКАЗАННОГО ПУТИ БАЗЫ ДАННЫХ',MTWARNING,[MBOK,MBHELP],0);

END;;TMAIN.N4Click(Sender: TObject);.IBD.Connected:=FALSE;.N8.Enabled:=FALSE;.N9.Enabled:=FALSE;

MAIN.N16.Enabled:=FALSE;('НЕ УДАЛОСЬ ОТКЛЮЧИТЬСЯ ОТ СЕРВЕРА'+#13+'ПОПРОБУЙТЕ ЕЩЕ РАЗ');

end;END;

TMAIN.N5Click(Sender: TObject);.IBD.Connected:=FALSE;

APPLICATION.Terminate;('ОШИБКА ЗАВЕРШЕНИЯ РАБОТЫ ПРОГРАММЫ!!!'+#13+#13+

'ПОПРОБУЙТЕ ЗАВЕРШИТЬ РАБОТУ КОМПЬЮТЕРА!!!');

END;;TMAIN.Timer1Timer(Sender: TObject);;DM.IBD.Connected=FALSE THEN.Position:=0.Position:=RANDOM(21)+80;;TMAIN.N16Click(Sender: TObject);_INS.Show;;TMAIN.N9Click(Sender: TObject);.IBQuery1.Open;.IBTable1.Active:=TRUE;.Show;

EXCEPT('НЕ УДАЛОСЬ ОТКРЫТЬ БАЗУ!ПОПРОБУЙТЕ ЕЩЕ РАЗ');

END;;TMAIN.N11Click(Sender: TObject);.ShowModal;;TMAIN.N17Click(Sender: TObject);.ShowModal;;TMAIN.N14Click(Sender: TObject);_prog.ShowModal;;TMAIN.FormDestroy(Sender: TObject);:TEXTFILE;FILEEXISTS('DB.LOG') THEN(FF,'DB.LOG');(FF);WRITELN(FF,'ВЫКЛЮЧЕНИЕ='+DATETIMETOSTR(NOW));(FF);BEGIN(FF,'DB.LOG');(FF);WRITELN(FF,'ВЫКЛЮЧЕНИЕ='+DATETIMETOSTR(NOW));(FF);;;

TMAIN.N13Click(Sender: TObject);(handle,'open',pchar('WORKSTATHELP.HLP'+#0),nil,nil,sw_shownormal);;TMAIN.N15Click(Sender: TObject);.ShowModal;;TMAIN.FormCreate(Sender: TObject);:=LENGTH(application.Title);:=' '+application.Title+' ';.Title:=s;;TMAIN.Timer2Timer(Sender: TObject);:=application.Title;.Title:=application.Title+COPY(sS,1,1);:=application.Title;(s,1,1);.Title:=s;;.UBASE;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DBCtrls, Grids, DBGrids, DB, IBCustomDataSet, IBQuery,

ExtCtrls, ToolWin, ComCtrls, Buttons, IBTable, XPMan;

TBASE = class(TForm)

IBQuery1: TIBQuery;

DataSource1: TDataSource;

IBQuery1ID: TIntegerField;

IBQuery1NAME: TIBStringField;

DBGrid1: TDBGrid;

IBQuery2: TIBQuery;

IBQuery3: TIBQuery;

GroupBox1: TGroupBox;

DBNavigator1: TDBNavigator;

Splitter1: TSplitter;

GroupBox2: TGroupBox;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

Splitter2: TSplitter;

GroupBox3: TGroupBox;

DBGrid3: TDBGrid;

DBNavigator3: TDBNavigator;

ToolBar1: TToolBar;

ToolBar2: TToolBar;

ToolBar3: TToolBar;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

BitBtn6: TBitBtn;

IBQuery4: TIBQuery;

IBQuery5: TIBQuery;

IBQuery6: TIBQuery;

IBQuery7: TIBQuery;

IBQuery8: TIBQuery;

IBQuery9: TIBQuery;

DataSource2: TDataSource;

DataSource3: TDataSource;

IBQuery7ID: TIntegerField;

IBQuery7E_ID: TIntegerField;

IBQuery7DESCRIPTION: TIBStringField;

IBQuery10: TIBQuery;

IBTable1: TIBTable;

IBTable2: TIBTable;

IBQuery4ID: TIntegerField;

IBQuery4N_ID: TIntegerField;

IBQuery4NAME: TIBStringField;

BitBtn7: TBitBtn;

XPManifest1: TXPManifest;

IBTable1ID: TIntegerField;

IBTable1N_ID: TIntegerField;

IBTable1NAME: TIBStringField;

IBTable2ID: TIntegerField;

IBTable2E_ID: TIntegerField;

BitBtn8: TBitBtn;

IBTable2DESCRIPTION1: TIBStringField;

procedure ButtonClick(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

procedure BitBtn7Click(Sender: TObject);

procedure BitBtn8Click(Sender: TObject);

// procedure BitBtn8Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

BASE: TBASE;UDM, UMain, UDETAL, UINS_DET, UREP_INS, UREPORT, USET, UPR;

{$R *.dfm}TBASE.ButtonClick(Sender: TObject);

VAR:STRING;:=INPUTBOX('ДОБАВЛЕНИЕ ГРУППЫ','ВВЕДИТЕ НАЗВАНИЕ ГРУППЫ','');

IBQuery2.Params.ParamByName('NAME').Value:=S;.ExecSQL;:='ERROR';.IBT.RollbackRetaining;;END;.IBT.CommitRetaining;.Close;.Open;;TBASE.FormClose(Sender: TObject; var Action: TCloseAction);.IBQuery1.Close;;TBASE.Button2Click(Sender: TObject);

beginMessageDlg('ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ЭТУ ЗАПИСЬ?',

mtConfirmation,[mbYes,mbNo],0)=mrYes then

begin.Params.ParamByName('PAR1').Value:=ID.Value;.ExecSQL;('ОШИБКА УДАЛЕНИЯ!'+#13+

'ПОПРОБУЙТЕ ЕЩЕ РАЗ!ВОЗМОЖНО ЗАПИСЬ УДАЛЕНА!');

DM.IBT.RollbackRetaining;;

end;.IBT.CommitRetaining;.Close;.Open;

end;;TBASE.BitBtn3Click(Sender: TObject);

VAR:STRING;:=INPUTBOX('ДОБАВЛЕНИЕ ОБОРУДОВАНИЯ','ВВЕДИТЕ НАЗВАНИЕ ОБОРУДОВАНИЯ','');

IBQuery5.Params.ParamByName('NAME').Value:=S;.Params.ParamByName('N_ID').Value:=BASE.IBQuery1ID.Value;.ExecSQL;:='ERROR';.IBT.RollbackRetaining;;END;.IBT.CommitRetaining;.IBTable1.Active:=FALSE;.IBTable1.Active:=TRUE;;TBASE.BitBtn4Click(Sender: TObject);

beginMessageDlg('ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ЭТУ ЗАПИСЬ?',

mtConfirmation,[mbYes,mbNo],0)=mrYes then

begin.Params.ParamByName('PAR2').Value:=BASE.IBtable1ID.Value;.ExecSQL;('ОШИБКА УДАЛЕНИЯ!'+#13+

'ПОПРОБУЙТЕ ЕЩЕ РАЗ!ВОЗМОЖНО ЗАПИСЬ УДАЛЕНА!');

DM.IBT.RollbackRetaining;;

end;.IBT.CommitRetaining;.IBTable1.Active:=FALSE;.IBTable1.Active:=TRUE;

end;;TBASE.BitBtn5Click(Sender: TObject);

VAR:STRING;:=INPUTBOX('ДОБАВЛЕНИЕ ТИПА ОБОРУДОВАНИЯ','ВВЕДИТЕ НАЗВАНИЕ ОБОРУДОВАНИЯ','');

IBQuery8.Params.ParamByName('DESCRIPTION1').Value:=S;.Params.ParamByName('E_ID').Value:=BASE.IBTable1ID.Value;

TRY.ExecSQL;('Не удалось добавить данные в Таблицу, попробуйте еще раз!');

DM.IBT.RollbackRetaining;;END;.IBT.CommitRetaining;.Active:=FALSE;.Active:=TRUE;;TBASE.BitBtn6Click(Sender: TObject);

beginMessageDlg('ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ЭТУ ЗАПИСЬ?',

mtConfirmation,[mbYes,mbNo],0)=mrYes then

begin.Params.ParamByName('PAR1').Value:=BASE.IBTABLE2ID.VALUE;.ExecSQL;('ОШИБКА УДАЛЕНИЯ!'+#13+

'ПОПРОБУЙТЕ ЕЩЕ РАЗ!ВОЗМОЖНО ЗАПИСЬ УДАЛЕНА!');

DM.IBT.RollbackRetaining;;

end;.IBT.CommitRetaining;.IBTable2.Active:=FALSE;.IBTable2.Active:=TRUE;

end;;

{procedure TBASE.BitBtn8Click(Sender: TObject);

beginMessageDlg('ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ЭТУ ЗАПИСЬ?',

mtConfirmation,[mbYes,mbNo],0)=mrYes then

begin.Params.ParamByName('PAR1').Value:=ID.Value;.ExecSQL;('ОШИБКА УДАЛЕНИЯ!'+#13+

'ПОПРОБУЙТЕ ЕЩЕ РАЗ!ВОЗМОЖНО ЗАПИСЬ УДАЛЕНА!');

DM.IBT.RollbackRetaining;;

end;.IBT.CommitRetaining;.Close;.Open;

end;;}TBASE.BitBtn7Click(Sender: TObject);

//DETAL:=TDETAL.Create(SELF);.IBTable1.Active:=TRUE;.BitBtn1.Visible:=FALSE;DETAL.ShowModal;;TBASE.BitBtn8Click(Sender: TObject);_INS.Edit7.Text:=BASE.IBTable2DESCRIPTION1.Value;

//BASE.Close;

//DETAL:=DETAL.Create(SELF);.BitBtn7.Enabled:=FALSE;.BitBtn8.Enabled:=FALSE;.IBTable1.Active:=TRUE;

DETAL.BitBtn1.Visible:=TRUE;DETAL.ShowModal;;.UDETAL;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, IBCustomDataSet, IBQuery, StdCtrls, Buttons, ToolWin,

ComCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, IBTable, XPMan;

TDETAL = class(TForm)

GroupBox4: TGroupBox;

DBGrid4: TDBGrid;

DBNavigator4: TDBNavigator;

ToolBar4: TToolBar;

BitBtn7: TBitBtn;

BitBtn8: TBitBtn;

IBQuery10: TIBQuery;

IBQuery10ID: TIntegerField;

IBQuery10T_ID: TIntegerField;

IBQuery10ASIGNATION: TIBStringField;

IBQuery10FULLNAME: TIBStringField;

IBQuery10CELL: TIBStringField;

IBQuery10REMAINS: TIntegerField;

IBQuery10UNIT: TIBStringField;

IBQuery11: TIBQuery;

IBQuery12: TIBQuery;

DataSource4: TDataSource;

IBTable1: TIBTable;

XPManifest1: TXPManifest;

IBTable1ID: TIntegerField;

IBTable1T_ID: TIntegerField;

IBTable1ASIGNATION: TIBStringField;

IBTable1FULLNAME: TIBStringField;

IBTable1CELL: TIBStringField;

IBTable1REMAINS: TIntegerField;

IBTable1UNIT: TIBStringField;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure BitBtn7Click(Sender: TObject);

procedure BitBtn8Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

DETAL: TDETAL;UDM, UBASE, UMain, UINS_DET, UREP_INS, UREPORT, USET, UPR;

{$R *.dfm}TDETAL.FormClose(Sender: TObject; var Action: TCloseAction);.IBTable1.Active:=FALSE;;TDETAL.BitBtn7Click(Sender: TObject);_DET:=TINS_DET.Create(SELF);_DET.ShowModal;;TDETAL.BitBtn8Click(Sender: TObject);

beginMessageDlg('ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ЭТУ ЗАПИСЬ?',

mtConfirmation,[mbYes,mbNo],0)=mrYes then

begin.Params.ParamByName('PAR1').Value:=DETAL.IBTable1ID.Value;.ExecSQL;('ОШИБКА УДАЛЕНИЯ!'+#13+

'ПОПРОБУЙТЕ ЕЩЕ РАЗ!ВОЗМОЖНО ЗАПИСЬ УДАЛЕНА!');

DM.IBT.RollbackRetaining;;

end;.IBT.CommitRetaining;.IBTable1.Active:=FALSE;.IBTable1.Active:=TRUE;

end;;TDETAL.BitBtn1Click(Sender: TObject);_INS.Edit8.Text:=DETAL.IBTable1FULLNAME.Value;_INS.Label11.Caption:=INTTOSTR(DETAL.IBTable1REMAINS.Value);_INS.Edit10.Text:=DETAL.IBTable1CELL.Value;_INS.Tag:=DETAL.IBTable1ID.Value;.Tag:=DETAL.IBTable1REMAINS.Value;BASE.Tag<DETAL.Tag THEN.IBTable1.Edit;.IBTable1REMAINS.Value:=DETAL.Tag-BASE.Tag;.IBTable1.Edit;.IBTable1REMAINS.Value:=0;;.Close;.Close;;TDETAL.BitBtn2Click(Sender: TObject);.DBGrid4.Tag:=DETAL.IBTable1REMAINS.Value;.IBTable1.Edit;.IBTable1ID.Tag:=STRTOINT(INPUTBOX('Ввод количества оборудования','Введите количество',''));.IBTable1REMAINS.Value:=DETAL.IBTable1ID.Tag+DETAL.DBGrid4.Tag;.IBTable1.Post;;.UINS_DET;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, XPMan;

TINS_DET = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

GroupBox1: TGroupBox;

Label6: TLabel;

Edit6: TEdit;

Label7: TLabel;

Edit7: TEdit;

BitBtn1: TBitBtn;

XPManifest1: TXPManifest;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

INS_DET: TINS_DET;UDETAL, UDM, UBASE, UMain, USET;

{$R *.dfm}TINS_DET.BitBtn1Click(Sender: TObject);.IBQuery11.Params.ParamByName('ASIGNATION').Value:=INS_DET.Edit1.Text;.IBQuery11.Params.ParamByName('FULLNAME').Value:=INS_DET.Edit2.Text;.IBQuery11.Params.ParamByName('CELL').Value:=INS_DET.Edit3.Text;.IBQuery11.Params.ParamByName('REMAINS').Value:=STRTOINT(INS_DET.Edit4.Text);.IBQuery11.Params.ParamByName('UNIT').Value:=INS_DET.Edit5.Text;.IBQuery11.Params.ParamByName('T_ID').Value:=BASE.IBTable2ID.Value;.IBQuery11.ExecSQL;:='ERROR';.IBT.RollbackRetaining;;END;.IBT.CommitRetaining;.IBTable1.Active:=FALSE;.IBTable1.Active:=TRUE;;.UREP_INS;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DB, IBCustomDataSet, IBQuery, Buttons, IBTable, Grids,

DBGrids, Menus, ExtCtrls, DBCtrls, XPMan;

TREP_INS = class(TForm)

GroupBox1: TGroupBox;

Label7: TLabel;

Edit7: TEdit;

Label8: TLabel;

Edit8: TEdit;

Label9: TLabel;

Edit9: TEdit;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Edit10: TEdit;

Button1: TButton;

BitBtn1: TBitBtn;

IBQuery1: TIBQuery;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

IBTable1: TIBTable;

GroupBox2: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

DBGrid1: TDBGrid;

DataSource1: TDataSource;

DataSource2: TDataSource;

IBTable2: TIBTable;

DataSource3: TDataSource;

IBQuery2: TIBQuery;

DataSource4: TDataSource;

IBTable1ID: TIntegerField;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

DBNavigator1: TDBNavigator;

IBTable1NUM: TIBStringField;

Label13: TLabel;

IBTable2NOMENCLAT: TIBStringField;

IBTable2DET_NAME: TIBStringField;

IBTable2SUMM: TIntegerField;

IBTable2AL: TIntegerField;

IBTable2CELL: TIBStringField;

IBTable2ID: TIntegerField;

IBTable2O_ID: TIntegerField;

XPManifest1: TXPManifest;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

IBQuery3: TIBQuery;

IBQuery4: TIBQuery;

IBQuery5: TIBQuery;

DBGrid2: TDBGrid;

procedure Button1Click(Sender: TObject);

procedure Edit9Change(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

REP_INS: TREP_INS;UBASE, UDETAL, UDM, UINS_DET, UMain, UREPORT, USET;

{$R *.dfm}TREP_INS.Button1Click(Sender: TObject);

//BASE:=TBASE.Create(SELF);.IBTable1.Active:=TRUE;.IBQuery1.Active:=TRUE;.IBTable2.Active:=TRUE;.BitBtn1.Enabled:=FALSE;.BitBtn2.Enabled:=FALSE;.BitBtn3.Enabled:=FALSE;.BitBtn4.Enabled:=FALSE;.BitBtn5.Enabled:=FALSE;.BitBtn6.Enabled:=FALSE;BASE.BitBtn8.Visible:=TRUE;.BitBtn7.Visible:=FALSE;.Tag:=STRTOINT(REP_INS.Edit9.TEXT);.ShowModal;;TREP_INS.Edit9Change(Sender: TObject);

//IF DETAL.IBTable1REMAINS.Value<STRTOINT(REP_INS.Edit9.Text);;TREP_INS.BitBtn1Click(Sender: TObject);_INS.GroupBox2.Enabled:=TRUE;_INS.GroupBox1.Enabled:=FALSE;;TREP_INS.BitBtn2Click(Sender: TObject);_INS.IBQuery1.Params.ParamByName('NUM').Value:=EDIT1.Text;_INS.IBQuery1.Params.ParamByName('OBJ').Value:=EDIT2.Text;_INS.IBQuery1.Params.ParamByName('ZAKAZ').Value:=EDIT3.Text;_INS.IBQuery1.Params.ParamByName('AUTOR').Value:=EDIT4.Text;_INS.IBQuery1.Params.ParamByName('PICKER').Value:=EDIT5.Text;_INS.IBQuery1.Params.ParamByName('Y').Value:=EDIT6.Text;_INS.IBQuery1.ExecSQL;

EXCEPT('Не удалось создать ведомость!Попробуйте еще раз!');

dm.IBT.RollbackRetaining;exit;;.IBT.CommitRetaining;_INS.GroupBox1.Enabled:=TRUE;_INS.GroupBox2.Enabled:=FALSE;_INS.IBTable1.Active:=TRUE;_INS.IBTable2.Active:=TRUE;.Clear;EDIT2.Clear;EDIT3.Clear;EDIT4.Clear;EDIT5.Clear;EDIT6.Clear;;TREP_INS.N3Click(Sender: TObject);_INS.GroupBox1.Enabled:=TRUE;_INS.GroupBox2.Enabled:=TRUE;_INS.IBTable1.Open;;TREP_INS.BitBtn3Click(Sender: TObject);_INS.IBQuery2.Params.ParamByName('O_ID').Value:=REP_INS.IBTable1ID.Value;_INS.IBQuery2.Params.ParamByName('SUMM').Value:=STRTOINT(REP_INS.Edit9.Text);_INS.IBQuery2.Params.ParamByName('AL').Value:=STRTOINT(REP_INS.Label11.Caption);_INS.IBQuery2.Params.ParamByName('NOMENCLAT').Value:=REP_INS.Edit7.Text;_INS.IBQuery2.Params.ParamByName('DET_NAME').Value:=REP_INS.Edit8.Text;_INS.IBQuery2.Params.ParamByName('CELL').Value:=REP_INS.Edit10.Text;_INS.IBQuery2.ExecSQL;

EXCEPT('Не удалось добавить данные!попробуйте еще раз!');

dm.IBT.RollbackRetaining;exit;;.IBT.CommitRetaining;_INS.IBTable2.Active:=FALSE;_INS.IBTable2.Active:=TRUE;.Text:='0';.Clear;EDIT8.Clear;EDIT10.Clear;label11.Caption:='0';;TREP_INS.N4Click(Sender: TObject);_INS.Close;_ins.IBTable1.Close;_ins.IBTable2.Close;('Попробуйте еще раз');;;TREP_INS.BitBtn4Click(Sender: TObject);

beginMessageDlg('ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ЭТУ ЗАПИСЬ?',

mtConfirmation,[mbYes,mbNo],0)=mrYes then

begin.Params.ParamByName('PAR1').Value:=rep_ins.IBTable1ID.Value;_ins.IBQuery5.Params.ParamByName('PAR1').Value:=REP_INS.IBTable1ID.Value;.ExecSQL;.ExecSQL;('ОШИБКА УДАЛЕНИЯ!'+#13+

'ПОПРОБУЙТЕ ЕЩЕ РАЗ!ВОЗМОЖНО ЗАПИСЬ УДАЛЕНА!');

DM.IBT.RollbackRetaining;;

end;.IBT.CommitRetaining;_ins.IBTable1.Close;_ins.IBTable1.Open;_ins.IBTable2.Close;_ins.IBTable2.Open;

end;;TREP_INS.BitBtn5Click(Sender: TObject);

beginMessageDlg('ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ЭТУ ЗАПИСЬ?',

mtConfirmation,[mbYes,mbNo],0)=mrYes then

begin.Params.ParamByName('PAR1').Value:=REP_INS.IBTable2ID.Value;.ExecSQL;('ОШИБКА УДАЛЕНИЯ!'+#13+

'ПОПРОБУЙТЕ ЕЩЕ РАЗ!ВОЗМОЖНО ЗАПИСЬ УДАЛЕНА!');

DM.IBT.RollbackRetaining;;

end;.IBT.CommitRetaining;_INS.IBTable2.Close;_INS.IBTable2.Open;

end;;.UOPROG;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls, Buttons, XPMan, jpeg;

To_prog = class(TForm)

BitBtn1: TBitBtn;

Image1: TImage;

Label1: TLabel;

Label2: TLabel;

XPManifest1: TXPManifest;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

o_prog: To_prog;

{$R *.dfm}To_prog.BitBtn1Click(Sender: TObject);_prog.Close;;.UDM;

SysUtils, Classes, IBDatabase, DB;

TDM = class(TDataModule)

IBD: TIBDatabase;

IBT: TIBTransaction;

private

{ Private declarations }

public

{ Public declarations }

end;

DM: TDM;UMain, UBASE, UDETAL, UINS_DET, UREP_INS, UREPORT, USET, UPR, Upoisk;

{$R *.dfm}.UREPORT;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls, DBCtrls, ExtCtrls, Mask, DB, IBTable,

IBCustomDataSet, IBQuery, ComCtrls, XPMan, jpeg, QuickRpt, QRCtrls,

Buttons;

TFREP = class(TForm)

PageControl1: TPageControl;

IBQuery1: TIBQuery;

DataSource1: TDataSource;

XPManifest1: TXPManifest;

IBTable1: TIBTable;

IBTable1ID: TIntegerField;

IBTable1O_ID: TIntegerField;

IBTable1NOMENCLAT: TIBStringField;

IBTable1DET_NAME: TIBStringField;

IBTable1SUMM: TIntegerField;

IBTable1AL: TIntegerField;

IBTable1CELL: TIBStringField;

TabSheet1: TTabSheet;

DBText1: TDBText;

DBText2: TDBText;

DBText3: TDBText;

DBText4: TDBText;

DBText5: TDBText;

Label6: TLabel;

Label5: TLabel;

Label4: TLabel;

Label3: TLabel;

Label2: TLabel;

Label1: TLabel;

DBEdit1: TDBEdit;

DBNavigator1: TDBNavigator;

Button1: TButton;

DBGrid1: TDBGrid;

TabSheet2: TTabSheet;

DataSource2: TDataSource;

QuickRep1: TQuickRep;

QRBand1: TQRBand;

QRSubDetail1: TQRSubDetail;

QRLabel1: TQRLabel;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRDBText1: TQRDBText;

QRDBText2: TQRDBText;

QRLabel5: TQRLabel;

QRDBText3: TQRDBText;

QRDBText4: TQRDBText;

QRLabel6: TQRLabel;

QRDBText5: TQRDBText;

QRLabel7: TQRLabel;

QRDBText6: TQRDBText;

QRSysData1: TQRSysData;

QRLabel8: TQRLabel;

QRShape1: TQRShape;

QRShape2: TQRShape;

QRShape3: TQRShape;

QRShape4: TQRShape;

QRShape5: TQRShape;

QRShape6: TQRShape;

QRShape7: TQRShape;

QRShape8: TQRShape;

QRShape9: TQRShape;

QRShape10: TQRShape;

QRLabel9: TQRLabel;

QRLabel10: TQRLabel;

QRLabel11: TQRLabel;

QRLabel12: TQRLabel;

QRLabel13: TQRLabel;

QRDBText7: TQRDBText;

QRDBText8: TQRDBText;

QRDBText9: TQRDBText;

QRDBText10: TQRDBText;

QRDBText11: TQRDBText;

BitBtn1: TBitBtn;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

FREP: TFREP;UBASE, UDETAL, UDM, UINS_DET, UMain, USET, UREP_INS, UPR;

{$R *.dfm}TFREP.FormClose(Sender: TObject; var Action: TCloseAction);.IBQuery1.Close;;TFREP.Button1Click(Sender: TObject);.QuickRep1.Preview;;.USET;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, XPMan, Buttons, ExtCtrls;

Tsett = class(TForm)

XPManifest1: TXPManifest;

Memo1: TMemo;

BitBtn1: TBitBtn;

Memo2: TMemo;

Image1: TImage;

Label1: TLabel;

Label2: TLabel;

procedure BitBtn1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

sett: Tsett;UDM;

{$R *.dfm}Tsett.BitBtn1Click(Sender: TObject);fileexists('DB_path.set') then('DB_path.set');.Lines.SaveToFile(ExtractFileDir(Application.ExeName)+'\DB_path.set');fileexists('server.set') then('server.set');.Lines.SaveToFile(ExtractFileDir(Application.ExeName)+'\server.set');;Tsett.FormCreate(Sender: TObject);.Lines.Clear;fileexists('DB_path.set') then.Lines.LoadFromFile(ExtractFileDir(Application.ExeName)+'\DB_path.set');;.Lines.Clear;fileexists('server.set') then.Lines.LoadFromFile(ExtractFileDir(Application.ExeName)+'\server.set');;;.UPR;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, QRCtrls, QuickRpt, ExtCtrls;

TREPOTRFORM = class(TForm)

QuickRep1: TQuickRep;

QRSubDetail1: TQRSubDetail;

QRDBText1: TQRDBText;

QRLabel1: TQRLabel;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRDBText2: TQRDBText;

QRLabel4: TQRLabel;

QRDBText3: TQRDBText;

QRLabel5: TQRLabel;

QRDBText4: TQRDBText;

QRLabel6: TQRLabel;

QRDBText5: TQRDBText;

QRLabel7: TQRLabel;

QRDBText6: TQRDBText;

QRLabel8: TQRLabel;

QRDBText7: TQRDBText;

QRSysData1: TQRSysData;

QRLabel9: TQRLabel;

QRSubDetail2: TQRSubDetail;

QRDBText8: TQRDBText;

QRDBText9: TQRDBText;

QRDBText10: TQRDBText;

QRDBText11: TQRDBText;

QRDBText12: TQRDBText;

private

{ Private declarations }

public

{ Public declarations }

end;

REPOTRFORM: TREPOTRFORM;UBASE, UDETAL, UDM, UINS_DET, UMain, Upoisk, UREP_INS, UREPORT;

{$R *.dfm}.UAUTOR;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons,shellapi;

TAutor = class(TForm)

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Memo1: TMemo;

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

Autor: TAutor;UMain;

{$R *.dfm}TAutor.BitBtn2Click(Sender: TObject);(application.Handle,'open','#"justify">SysUtils, Classes, IBDatabase, DB;

TDM = class(TDataModule)

IBDATA: TIBDatabase;

IBT: TIBTransaction;

private

{ Private declarations }

public

{ Public declarations }

end;

DM: TDM;UBASE, UDETAL, UMain;

{$R *.dfm}.Upoisk;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, XPMan, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, DB, IBQuery,

IBCustomDataSet, IBTable, Buttons;

TFpoisk = class(TForm)

RadioGroup1: TRadioGroup;

Edit1: TEdit;

BitBtn1: TBitBtn;

IBTable1: TIBTable;

DataSource1: TDataSource;

RadioGroup2: TRadioGroup;

RadioGroup3: TRadioGroup;

ComboBox1: TComboBox;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

XPManifest1: TXPManifest;

Splitter1: TSplitter;

procedure BitBtn1Click(Sender: TObject);

procedure RadioGroup3Click(Sender: TObject);

procedure RadioGroup2Click(Sender: TObject);

procedure RadioGroup1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

Fpoisk: TFpoisk;UBASE, UDETAL, UDM, UINS_DET, UMain, UREP_INS, UREPORT;

{$R *.dfm}TFpoisk.BitBtn1Click(Sender: TObject);T:STRING;I:INTEGER;F:TEXTFILE;fpoisk.RadioGroup3.ItemIndex of

:

//поиск по ведомости.TableName:='VEDOMOST';.IBTable1.Filtered:=false;.IBTable1.FILTER:='NUM like'+#39+'%'+edit1.Text+'%'+#39;;.IBTable1.Filtered:=true;.IBTable1.Active:=TRUE;

except('ошибка загрузки запроса из файла');

end;

end;

//--------------------------------------------------------

:

begin

//поиск по базе

case fpoisk.RadioGroup2.ItemIndex of

0:

begin

//по номенклатуре

try

IBTABLE1.TableName:='NOMENCLATURE';

fpoisk.IBTable1.Filtered:=false;.IBTable1.FILTER:='name like'+#39+'%'+edit1.Text+'%'+#39;.IBTable1.Filtered:=true;.IBTable1.Active:=TRUE;('ошибка загрузки запроса');;

end;

1:

begin

//по оборудованию

try

IBTABLE1.TableName:='EQUIPMENT';.IBTable1.Filtered:=false;.IBTable1.FILTER:='NAME like'+#39+'%'+edit1.Text+'%'+#39;;.IBTable1.Filtered:=true;.IBTable1.Active:=TRUE;('ошибка загрузки SQL-запроса');;

end;

2:

begin

try

IBTABLE1.TableName:='TIP_O';.IBTable1.Filtered:=false;.IBTable1.FILTER:='DESCRIPTION like'+#39+'%'+edit1.Text+'%'+#39;;.IBTable1.Filtered:=true;.IBTable1.Active:=TRUE;('ошибка загрузки SQL-запроса');;

end;

3:

begin

//поиск по делаям

case fpoisk.RadioGroup1.ItemIndex of

0:

begin

//обозначение.TableName:='DETAILS';.IBTable1.Filtered:=false;.IBTable1.FILTER:='ASIGNATION like'+#39+'%'+edit1.Text+'%'+#39;;.IBTable1.Filtered:=true;.IBTable1.Active:=TRUE;('ошибка загрузки SQL-запроса');

end;

end;

1:

begin

//поиск по полному наименованию

try

IBTABLE1.TableName:='DETAILS';.IBTable1.Filtered:=false;.IBTable1.FILTER:='FULLNAME like'+#39+'%'+edit1.Text+'%'+#39;;.IBTable1.Filtered:=true;.IBTable1.Active:=TRUE;('ошибка загрузки SQL-запроса');;

end;

2:

begin

//поиск по ячейкам

try

IBTABLE1.TableName:='DETAILS';.IBTable1.Filtered:=false;.IBTable1.FILTER:='CELL like'+#39+'%'+edit1.Text+'%'+#39;;.IBTable1.Filtered:=true;.IBTable1.Active:=TRUE;('ошибка загрузки SQL-запроса');

end;

end;

3:

begin

//поиск по количеству

try

IBTABLE1.TableName:='DETAILS';.IBTable1.Filtered:=false;.IBTable1.FILTER:='REMAINS'+COMBOBOX1.Text+EDIT1.Text;.IBTable1.Filtered:=true;.IBTable1.Active:=TRUE;('ошибка загрузки SQL-запроса');;

end;

end;

end;;end;end;end;TFpoisk.RadioGroup3Click(Sender: TObject);fpoisk.RadioGroup3.ItemIndex of

: fpoisk.RadioGroup2.Enabled:=true;

: begin fpoisk.RadioGroup2.Enabled:=false; fpoisk.RadioGroup1.Enabled:=false;end;;;TFpoisk.RadioGroup2Click(Sender: TObject);fpoisk.RadioGroup2.ItemIndex of

..2: fpoisk.RadioGroup1.Enabled:=false;

:fpoisk.RadioGroup1.Enabled:=true;;;TFpoisk.RadioGroup1Click(Sender: TObject);fpoisk.RadioGroup1.ItemIndex of

: fpoisk.ComboBox1.Enabled:=true;

..2:fpoisk.ComboBox1.Enabled:=false;;;.


СОДЕРЖАЕНИЕ ВВЕДЕНИЕ 1 АНАЛИТИЧЕСКАЯ ЧАСТЬ 1.1 Концептуальное проектирование .2 Логическое проектирование 2 ПРОЕКТНАЯ ЧАСТЬ 2.1 Общие поло

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ