Автоматизированная система учета отказов и основных дефектов электроэнергетического оборудования

 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

Учреждение образования

«Гомельский государственный технический университет

имени П.О. Сухого»

Факультет автоматизированных и информационных систем

Кафедра «Информационные технологии»

направление специальности 1-40 01 02-01 «Информационные системы и технологии в проектировании и производстве»


ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к дипломной работе

на тему «Автоматизированная система учета отказов и основных дефектов электроэнергетического оборудования»


Разработал ст-т гр. ИТ-51Лещенко Д.В.

Руководитель работы доцент, к.т.н. Трохова Т. А.

Консультант по экономической части

преподаватель Ермалинская Н.В.

Консультант по охране труда и технике безопасности

доцент, к.т.н. Кротенок В.В.

Нормоконтроль доцент, к.т.н. Токочаков В.И.

Рецензент доцент, к.т.н., заведующий кафедр

Автоматизированные системы обработки информации

УО «ГГУ им. Ф. Скорины» Левчук В.Д.

Зав. кафедрой

Информационные технологии

доцент, к.т.н. Курочка К.С.


Гомель 2013г.


РЕФЕРАТ


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

Объектом разработки является автоматизированная система учета отказов и основных дефектов электроэнергетического оборудования.

Цель работы - создание ПО автоматизированного ведения учета отказов и основных дефектов электроэнергетического оборудования.

В процессе работы выполнены следующие исследования:

анализ существующих методов ведения учета;

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

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

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

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



РЕЗЮМЕ


Тема работы - автоматизированная система учета отказов и основных дефектов электроэнергетического оборудования.

Объектом разработки является автоматизированная система учета отказов и основных дефектов электроэнергетического оборудования.

Цель работы - разработка ПО для автоматизированного ведения учета отказов и основных дефектов электроэнергетического оборудования.

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



Содержание


Перечень условных обозначений и сокращений

Введение

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

.1 Основные определения предметной области

.2 Классификация аварий

.3 Классификация нарушений

.4 Порядок сообщения об авариях, расследования аварий и отказов в работе электроустановок

.5 Инструментарий реализации программного комплекса

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

.1 Функциональная модель системы

.2 Информационная модель системы

Разработка программного обеспечения

.1 Описание интерфейса программного комплекса

.2 Описание программного комплекса

. Опытная эксплуотация разработанного программного обеспечения

. Экономическое обоснование дипломной работы

.1 Оценка трудоемкости работ по созданию программного обеспечения

.2 Расчет общей трудоемкости разработки программного обеспечения

.3 Расчет затрат на разработку программного продукта

.4 Расчет договорной (отпускной) цены разрабатываемого программного продукта

.5 Расчет эффекта от реализации программного обеспечения

.6 Технико-экономические показатели

. Охрана труда

.1 Требования безопасности, производственной санитарии и пожарной безопасности

.2 Мероприятия по охране труда

. Ресурсо- и энергосбережение при внедрении программного обеспечения

Заключение

Список использованных источников

Приложение А Листинги программ

Приложение Б Руководство системного программиста

Приложение В Руководства программиста

Приложение Г Руководство пользователя



ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ


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

Клиент - это аппаратный или программный компонент вычислительной системы, посылающий запросы серверу.

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

СУБД - система управления базами данных.

ABAP/4 (англ. Advanced Business Application Programming, изначально по-немецки Allgemeiner Berichts-Aufbereitungs-Prozessor) - язык расширенного программирования бизнес-приложений четвертого поколения.(англ. HyperText Transport Protocol) - протокол передачи гипертекста.

PAI (англ. Process After Input) - процесс после ввода.

PBO (англ. Process Before Output) - процесс перед выводом.

SQL (англ. Structured Query Language) - язык структурированных запросов.


Введение


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

значительное повышение производительности труда и снижение трудозатрат;

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

снижение количества ошибок в документации;

повышение эффективности учета.

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

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

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

информационное обеспечение, функциональную модель автоматизированной системы;

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

Разрабатываемое приложение предназначено для апробации прототипа реальной системы, так как реализовано на Mini SAP Basis System для использования в учебных целях.



1АНАЛИТИЧЕСКИЙ ОБЗОР СУЩЕСТВУЮЩИХ МЕТОДОВ РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ


1.1 Основные определения предметной области


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

Авария промышленная - авария на промышленном объекте, в технической системе или на промышленной установке.

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

Исправное состояние (исправность) - состояние объекта, при котором он соответствует всем требованиям нормативной и (или) конструкторской (проектной) документации.

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

Объекты энергетического хозяйства - энергетическое оборудование и сооружения, которые находятся на балансе организации: электростанции (блок-станции), системы внешнего электроснабжения потребителей; котельные установки и другие источники теплоснабжения, тепловые сети, оборудование тепловых пунктов; электрические подстанции, распределительные устройства и линии электропередачи; электрооборудование основных технологических агрегатов; теплоиспользующее оборудование, участвующее в технологическом процессе; системы управления, автоматизации и контрольно-измерительных приборов (КИП), телемеханики и связи, автоматизированные системы управления энергохозяйством потребителя (АСУЭ), устройства релейной защиты, автоматики и телемеханики и противоаварийной автоматики (РЗАиТ и ПА) и связи.

Отказ - событие, заключающееся в нарушении работоспособного состояния объекта.

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

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

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

Энергетическое оборудование - оборудование, предназначенное для производства, преобразования, распределения, передачи и потребления основных видов энергии (электрической и тепловой) и энергоносителей [1].


1.2 Классификация аварий


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

В системах внешнего электроснабжения к авариям относятся следующие нарушения:

а)нарушения в системах внешнего электроснабжения, вызвавшие перерыв в электроснабжении:

1)электроприемников I категории на время, превышающее время действия устройств автоматического повторного включения (АПВ) или автоматического ввода резервного питания (АВР), или время, допустимое по технологии производства для отдельных электроприемников I категории (кратковременное прекращение электроснабжения, не более 20 мин);

2)электроприемников II категории на 10 ч и более;

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

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

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

д)разрушение (обрушение) несущих элементов технологических зданий, сооружений энергетического объекта.

В электрических сетях и на подстанциях, а также в цеховых электроустановках:

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

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

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

В системах управления, автоматизации и КИП, телемеханики и связи:

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

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

К отказам в работе I степени относятся:

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

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

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

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

а)электроприемников I категории по одному из двух источников электроснабжения на время, превышающее время действия АПВ или АВР;

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

в)потребителей II категории на срок свыше 1 ч и до 10 ч.

В системах управления, автоматизации и контрольно-измерительных приборов, телемеханики и связи нарушения классифицируются так:

а)нарушение работы компьютеров и основного периферийного оборудования автоматизированной системы управления производством на срок менее 16 ч, повлекшее за собой задержку выдачи оперативной информации на 5-8 ч;

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

К отказам в работе II степени относятся все нарушения нормальной работы объектов энергетического хозяйства, а также повреждения энергетического оборудования, если они не являются авариями или отказами в работе I степени, в том числе:

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

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

в)автоматическое или ошибочное отключение персоналом оборудования, если оно не вызвало аварию или отказ в работе I степени;

г)нарушение нормального режима работы электротехнического оборудования:

)недопустимое по ТКП 181 отключение и включение разъединителей под нагрузкой; включение разъединителей или выключателей на временно установленные переносные заземляющие устройства или на заземляющие ножи; ошибочное включение стационарных заземляющих ножей; снижение уровня масла из маслонаполненных электрических аппаратов ниже допустимого предела;

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

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

е)дефекты и неисправности оборудования, выявленные при профилактических испытаниях или ремонте оборудования [2].


1.3 Классификация нарушений


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

Причины возникновения нарушений делятся на следующие группы:

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

дефекты конструкции и технологии изготовления;

дефекты монтажа;

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

старение и износ изоляционных и конструктивных материалов;

дефекты ремонта и наладки;

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

невыявленные причины.

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

персонал организации, обслуживающий энергоустановки;

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

персонал энергоснабжающей организации;

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

посторонние лица.

Классификация нарушений, допущенных персоналом:

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

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

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

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

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

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

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

нарушения посторонних лиц, происшедшие вследствие несоблюдения условий нахождения людей [3].

1.4 Порядок сообщения об авариях, расследования аварий и отказов в работе электроустановок


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

В оперативном сообщении должны быть следующие сведения:

?наименование организации;

?наименование энергоустановок, на которых произошла авария;

?дата и время начала и ликвидации аварийной ситуации (фиксируется оперативным персоналом записью в оперативном журнале);

?краткое описание аварии, предполагаемая причина.

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

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

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

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

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

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

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

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

Расследование аварий и отказов проводят:

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

1)органов Госэнергонадзора и их структурных подразделений (при расследовании аварий, связанных с нарушением электроснабжения электроприемников I категории по надежности);

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

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

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

По каждой аварии составляется акт расследования и заполняется карта отказа. Оформляет акт расследования комиссия. Акт расследования подписывают все члены комиссии. По отказу I степени заполняется только карта отказа. Отказы в работе II степени регистрируются только в журнале учета аварий и отказов в работе.

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

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

В организации (структурном подразделении) должен быть обеспечен учет аварий и отказов в работе. Срок хранения журнала учета аварий и отказов в работе, актов расследований, карт отказов - не менее 3 лет [4].


1.5 Инструментарий реализации программного комплекса


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

Существуют разные уровни программирования с применением ООП: можно просто использовать огромные библиотеки классов таких сред разработки программного обеспечения, как Delphy, C++ Builder или Visual С++, а можно изначально строить программу как дом, добавляя к ней все новые блоки - объекты, для реализации которых придется создавать свои классы [5].- язык мира баз данных. Приложения для работы с реляционныыми базами данных занимаются размещением и извлечением данных из базы, что в конечном счете является вопросом знания SQL.

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

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

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

Объединение интернет технологий и технологии систем управления базами данных (СУБД) как способ организации доступа к данным имеет следующие достоинства:

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

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

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

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

Результатом применения объединенной технологии интернет/СУБД является удешевление установки и сопровождения программного обеспечения как пользователей сети интернет, так и программного обеспечения информационных систем, построенных на основе использования СУБД [6].

Система R/3 компании SAP представляет собой пакет стандартных международных приложений в таких областях бизнеса, как финансовые расчеты и бухгалтерский учет (Financial Accounting), управление производством (Controlling), логистика (Logistics) и руководство персоналом (Human Resources). Система R/3 включает в себя программные решения, работающие в распределенной среде клиент/сервер, для управления предприятием во всех указанных прикладных областях. Внедрение системы R/3 обеспечит компании наряду с множеством других полезных функций возможность управлять финансовыми расчетами в международном масштабе. С помощью R/3 можно отслеживать выполнение заявок на товары, организовывать работу с персоналом и получать соответствующую информацию от служащих разных подразделений предприятия. Система R/3 предоставляет широкий набор средств для организации диалога с пользователем, что позволяет охватить все аспекты бизнеса: от ежедневной работы персонала до принятия управленческих решений. Многие компании из списка Fortune 500, в том числе такие лидеры в области высоких технологий, как American Airlines, Chevron, IBM, Mercedes и Microsoft, организуют управление своей деятельностью на основе системы R/3 [7].

Неотъемлемой частью системы R/3 является язык четвертого поколения АВАР/4, разработанный компанией SAP. Все приложения R/3 и даже часть базовой системы созданы на АВАР/4. Этот простой язык помогает разработчику быстро генерировать приложения как для малых фирм, так и для очень крупных предприятий. Надежность его эксплуатационных качеств обеспечивается широкими функциональными возможностями и высокой производительностью системы R/3, что позволяет создавать приложения, с помощью которых пользователь без особого труда обрабатывает гигантские массивы данных и распечатывает огромное количество счетов-фактур. Система R/3 включает широкий набор инструментов для разработки приложений. С помощью АВАР/4 можно создавать новые приложения в архитектуре клиент/сервер, а также расширять функциональность существующих модулей R/3. Вызов удаленных функций (Remote Function Call) дает возможность строить открытые приложения, обеспечивающие распределенную обработку данных с участием нескольких R/3 и даже внешних систем. Приложения АВАР/4 могут быть перенесены в среду многих СУБД и ОС. В частности, в АВАР/4 интегрировано подмножество SQL (так называемый открытый SQL - Open SQL). Открытый SQL и интерфейс с базой данных системы R/3 образуют тот уровень, который располагается между СУБД и прикладной программой. Эта многоуровневая архитектура позволяет разработчику полностью сконцентрироваться на концептуальных аспектах задачи и не заботиться о таких технических деталях, как распределение памяти, операции с указателями или организация работы в сети.

Система R/3 предоставляет многочисленные средства для коллективной работы. Интегрированные функции АВАР/4 Development Workbench обеспечивают работу команды программистов в среде клиент/сервер. Это ПО использовалось при создании самой системы R/3, над пакетом коммерческих приложений которой трудились более тысячи программистов. В частности, применение словаря Dictionary гарантирует непротиворечивость данных во всей системе и позволяет избежать избыточности. Хранилище данных АВАР/4 Repository служит источником информации для всех разрабатываемых и выполняемых объектов. Repository состоит из словаря (Dictionary), модели данных, программы, определения экранов и многих других элементов. Активный интегрированный словарь (Dictionary) и архивная информационная система (Repository) являются тем краеугольным камнем, который обеспечивает широкие возможности и гибкость средств разработки АВАР/4 Development Workbench.

ABAP/4 (Advanced Business Application Programming 4GL) - развитый язык программирования коммерческих приложений четвертого поколения, разработанный компанией SAP. Он является основой системы R/3. Все приложения R/3 и даже части базовой системы были разработаны на АВАР/4. Гибкость и простота использования языка в сочетании со специальным набором команд позволяют как небольшим, так и крупномасштабным коммерческим предприятиям быстро разрабатывать и оперативно внедрять системы R/3.

АВАР/4 имеет целый ряд преимуществ, которые делают его исключительно удобным для создания таких сложных систем, как R/3. Он относится к разряду языков, в которых реализовано управление событиями, т.е. выполнение приложения координируется действиями пользователя и системными событиями. Важной особенностью языка является концепция применения внутренних таблиц, суть которой в отображении постоянных таблиц базы данных на объекты, существующие во время выполнения, и наоборот. Язык АВАР/4 - это не отдельно используемое средство, а часть общей среды разработки Development Workbench, в которую входит также широкий набор инструментов для планирования и реализации приложений. Язык АВАР/4 подходит как для создания новых приложений в архитектуре клиент/сервер, так и для расширения возможностей действующих модулей R/3, а такие средства, как Remote Function Call (RFC), дают возможность разрабатывать распределенные приложения. Кроме того, приложения, написанные на АВАР/4, поддерживают различные СУБД и ОС, что облегчает их интегрирование в информационную систем)' компании. Надежность эксплуатационных качеств языка АВАР/4 основывается на многообразии функций и высокой производительности системы R/3 [8].


2. РАЗРАБОТКА АЛГОРИТМОВ И ТЕХНОЛОГИИ РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ


2.1 Функциональная модель системы


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

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

Поэтому были поставлены следующие задачи разрабатываемого программного обеспечения:

автоматизация ведение журнала учета;

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

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

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

блок ведения базы данных;

блок ведения журнала;

блок анализа.

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

Функции:

заполнение основных справочников;

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


Рисунок 2.1 - Функциональная модель


Входные данные:

список оборудования;

список узлов;

список объектов;

список цехов;

список отказов;

список причин отказов;

список возможных виновников отказов.

Выходные данные:

таблицы базы данных.

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

Функции:

ведение журнала учета отказов;

Входные данные:

отказавшее оборудование;

отказавший узел;

отказавший объект;

цех;

вид отказа;

причина отказа;

виновник отказа.

Выходные данные:

таблица базы данных «журнал учета».

Состав блока анализа приведен ниже.

Функции:

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

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

Входные данные:

оборудование;

узел;

объект;

цех;

Выходные данные:

таблицы истории выходов из строя;

гистограммы.


2.2 Информационная модель системы


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

Таблицы-справочники:

список цехов;

список объектов;

список оборудования;

список групп;

список узлов;

список видов отказов;

список причин отказов;

список виновников отказов.

Оперативные таблицы:

журнал учета;

состав цеха;

состав объекта.

Справочник «Список цехов» содержит наименование имеющихся цехов и включает в себя поля, представленные в таблице 2.1.


Таблица 2.1 - Поля справочника «Список цехов»

Название поляТип данныхНаличие ключаКлючСчетчикПервичный ключКодТекстовый-НаименованиеТекстовый-Краткое наименованиеТекстовый-

Справочник «Список объектов» содержит классификатор электроустановок, технологических объектов и включает в себя поля, представленные в таблице 2.2.


Таблица 2.2 - Поля справочника «Список объектов»

Название поляТип данныхНаличие ключаКлючСчетчикПервичный ключКодТекстовый-НаименованиеТекстовый-

Справочник «Список оборудования» содержит классификатор отказавшего оборудования, элемента сооружения и включает в себя поля, представленные в таблице 2.3.


Таблица 2.3 - Поля справочника «Список оборудования»

Название поляТип данныхНаличие ключаКлючСчетчикПервичный ключКодТекстовый-НаименованиеТекстовый-Ключ группыТекстовыйВторичный ключ

Справочник «Список групп» содержит классификатор групп и включает в себя поля, представленные в таблице 2.4.


Таблица 2.4 - Поля справочника «Список групп»

Название поляТип данныхНаличие ключаКлючСчетчикПервичный ключКодТекстовый-НаименованиеТекстовый-

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


Таблица 2.5 - Поля справочника «Список узлов»

Название поляТип данныхНаличие ключаКлючСчетчикПервичный ключКодТекстовый-НаименованиеТекстовый-Ключ группыТекстовыйВторичный ключ

Справочник «Список видов отказов» содержит классификатор вида, характера отказа и включает в себя поля, представленные в таблице 2.6.


Таблица 2.6 - Поля справочника «Список видов отказов»

Название поляТип данныхНаличие ключаКлючСчетчикПервичный ключКодТекстовый-НаименованиеТекстовый-

Справочник «Список причин отказов» содержит классификатор аварий и отказов по причинам их возникновения и включает в себя поля, представленные в таблице 2.7.


Таблица 2.7 - Поля справочника «Список причин отказов»

Название поляТип данныхНаличие ключаКлючСчетчикПервичный ключКодТекстовый-НаименованиеТекстовый-

Справочник «Список виновников отказов» содержит классификатор отказов электрооборудования по вине персонала и включает в себя поля, представленные в таблице 2.8.


Таблица 2.8 - Поля справочника «Список виновников отказов»

Название поляТип данныхНаличие ключаКлючСчетчикПервичный ключКодТекстовый-НаименованиеТекстовый-

Таблица «Журнал учета» содержит сведения об отказах и включает в себя поля, представленные в таблице 2.9.

Таблица 2.9 - Поля оперативной таблицы «Журнал учета»

Название поляТип данныхНаличие ключаКлючСчетчикПервичный ключДата начала отказаДата-Время начала отказаВремя-Дата ликвидации отказаДата/время-Время ликвидации отказаВремя-Ключ отказаТекстовыйВторичный ключКлюч узлаТекстовыйВторичный ключКлюч причиныТекстовыйВторичный ключКлюч виновникаТекстовыйВторичный ключКлюч цехаТекстовыйВторичный ключКлюч объектаТекстовыйВторичный ключКлюч оборудованияТекстовыйВторичный ключ

Таблица «Состав объектов» содержит информацию об объектах и оборудовании входящих в его состав и включает в себя поля, представленные в таблице 2.10.


Таблица 2.10 - Поля оперативной таблицы «Состав объектов»

Название поляТип данныхНаличие ключаКлючСчетчикПервичный ключКлюч объектаТекстовыйВторичный ключКлюч оборудованияТекстовыйВторичный ключ

Таблица «Состав цеха» содержит информацию о цехах и объектах входящих в его состав и включает в себя поля, представленные в таблице 2.11.


Таблица 2.11 - Поля оперативной таблицы «Состав цеха»

Название поляТип данныхНаличие ключаКлючСчетчикПервичный ключКлюч цехаТекстовыйВторичный ключКлюч объектаТекстовыйВторичный ключУчетный номерТекстовыйВторичный ключ

Связи между данными таблицами отображены в таблице 2.12.


Таблица 2.12 - Связи между таблицами

Наименование таблицыНаименование таблицыТип связиСправочник видов отказовЖурнал учетаОдин ко многимСправочник причин отказовЖурнал учетаОдин ко многимСправочник отказов по вине персоналаЖурнал учетаОдин ко многимСправочник группСправочник оборудованияОдин ко многимСправочник группСправочник узловОдин ко многимСправочник оборудованияСправочник состав объектаОдин ко многимСправочник объектовСправочник состав объектаОдин ко многимСправочник объектовСостав цехаОдин ко многимСправочник цеховСостав цехаОдин ко многим

Схема базы данных отображающая данные связи отображена на рисунке 2.2.


Рисунок 2.2 - Схема данных



3. РАЗРАБОТКА ПРОГРАМНОГО ОБЕСПЕЧЕНИЯ


3.1 Описание интерфейса программного комплекса


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

область кнопок;

область выбора таблицы;

область ввода данных;

область отображения таблицы.

Область кнопок состоит из трех кнопок: добавить, удалить и исправить. Данная область отмечена цифрой 1 на рисунке 3.1.

Область выбора таблицы представляет набор управляемых кнопок, при переключении которых происходит активация соответствующей таблицы. Эта область отмечена цифрой 2 на рисунке 3.1.

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

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

авария отказ электроустановка инструментарий


Рисунок 3.1 - Окно приложения ведения БД


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

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

Область журнал учета представлена в виде таблицы, отображающей значение базы данных «Журнал учета». Она отмечена цифрой 2 на рисунке 3.2.


Рисунок 3.2 - Окно приложения системы учета


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


Рисунок 3.3 - Диалоговое окно добавления записи в журнал


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


Рисунок 3.4 - Диалоговое окно возобновления оборудования


По нажатию на кнопку «Отчет», появляется диалоговое окно ,отображенное на рисунке 3.5, для задания параметров для отображения гистограммы.


Рисунок 3.5 - Диалоговое окно задания параметров отображения гистограммы


В этом окне вводится год и выбирается параметр исследования: цех, объект, оборудование, отказ, причина и виновники. По нажатию на кнопку «Построить диаграмму» откроется окно отображения гистограммы, показанное на рисунке 3.6.


Рисунок 3.6 - Квартальный отчет о выходах из строя оборудования


3.2 Описание программного комплекса


Программный комплекс состоит из двух транзакций: ztm и ztd.

Транзакция ztm выводит экран 100 проекта zmodify. Логика работы которого описана двумя группами событий PBO и PAI. В свою очередь группа событий PBO состоит из четырех модулей: initialize, initalv, show, status_0100.

Модуль initialize считывает таблицы базы данных во внутренние таблицы.

Модуль initalv создает компонент для отображения таблицы и подготавливает её шапку, соответствующую выбранной управляющей кнопки. Текст модуля приведен на рисунке 3.7.


Рисунок 3.7 - Текст модуля initalv


Модуль show скрывает ненужные компоненты.

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

Событие PAI состоит из модуля user_command_0100, предназначенного для обработки событий экрана. Для обработки событий таблицы разработан класс manager. Описание класса приведено на рисунке 3.8.


Рисунок 3.8 - Текст класса manager


Транзакция ztd выводит экран 100 проекта zdiplom. События PBO состоят из четырех модулей: init_control_table, init_control_tree, init_icon_tree, status_0100.

Модуль init_control_table создает контрол для отображения таблицы журнала учета.

Модуль init_control_tree создает компонент для отображения дерева. Текст модуля приведен на рисунке 3.9.


Рисунок 3.9 - Текст модуля init_control_tree


Модуль init_icon_tree задает необходимые иконки оборудованиям, отображаемым в дереве.

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

Событие PAI состоит из модуля user_command_0100, предназначенного для обработки событий экрана. Для обработки событий таблицы и дерева разработаны классы manager и cl_application_tree соответственно. Описание классов приведено на рисунках 3.10 и 3.11.


Рисунок 3.10 - Текст класса cl_application_tree


Рисунок 3.11 - Текст класса manager


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

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

Запрос получения данных для вывода истории отказов выбранного оборудования представлен на рисунке 3.12. Он выбирает записи из таблицы базы данных «Журнал учета» соответствующие выбранному оборудованию.

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


Рисунок 3.12 - Запрос получения истории отказов


Рисунок 3.12 - Окно вывода истории отказов


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


Рисунок 3.13 - Запрос получения гистограммы квартального отчета


4ОПЫТНАЯ ЭКСПЛУАТАЦИЯ РАЗРАБОТАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ


Для начала работы необходимо зайти в систему SAP R/3. Для этого необходимо ввести номер манданта, логин и пароль, выданные администратором.


Рисунок 4.1 - Диалоговый экран 300


Далее, в появившемся пользовательском меню, в поле для ввода транзакций ввести необходимую нам транзакцию: ztm или ztd. Это поле выделено на рисунке 4.2.


Рисунок 4.2 - Поле для ввода транзакций


При вводе транзакции ztm появится окно позволяющее редактировать справочники и оперативные таблицы. Это окно представлено на рисунке 4.3. Выбираем справочник, при этом появляются поля для ввода данных в выбранную таблицу. Заносим данные и нажимаем кнопку «Добавить». Эту операцию проводим со всеми справочниками. В справочниках «Состав объеков» и «Состав цеха» поля для ввода представлены в виде выпадающих списков.


Рисунок 4.3 - Окно ведения справочников


Справочники расположены в порядке необходимом для заполнения.

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

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

При возникновении отказа, выбираем из дерева принадлежности оборудования отказавшее оборудование. При этом появляется диалоговое окно отображающее информацию выбранного оборудования, представленное на рисунке 4.6. Здесь выбираем узел отказавшего оборудования и нажимаем кнопку «Вышел из строя».


Рисунок 4.4 - Окно ведения журнала учета отказов


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


Рисунок 4.6 - Диалоговое окно отображающее информацию выбранного оборудования


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


Рисунок 4.7 - Окно ввода причины и виновников отказа


При необходимости таблицу Журнала учета можно экспортировать в MS Word. Для этого необходимо нажать кнопку Export/Word processing из набора кнопок расположенных над таблицей журнала учета. Таблица, экспортированная в MS Word, показана на рисунке 4.8.

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


Рисунок 4.8 - Документ MS Word с экспортированным журналом учета


Рисунок 4.9 - Диалоговое окно задания параметров отображения диаграммы


Рисунок 4.10 -Диаграмма о выходах из строя оборудования

5ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ДИПЛОМНОЙ РАБОТЫ


.1 Оценка трудоемкости работ по созданию программного обеспечения


В соответствии с [9] основой для определения общей трудоемкости разработки программного обеспечения (ПО), объемов финансирования на стадии его технико-экономического обоснования используются укрупненные нормы затрат труда. На основе общей трудоемкости разработки ПО составляется смета затрат, а также определяется численность исполнителей и трудоемкость выполняемы ими работ по этапам разработки ПО. Стадиями разработки ПО согласно ГОСТам Единой системы программной документации являются: техническое задание (ТЗ), эскизный проект (ЭП), технический проект (ТП), рабочий проект (РП),ввод в действие (ВН).


5.2 Расчет общей трудоемкости разработки программного обеспечения


В качестве единицы измерения объема ПО примем строку исходного кода программы. Общий объем ПО (Vо) определяется исходя из количества и объема функций, реализуемых программой, по каталогу функций программного обеспечения [10, приложение 1], и рассчитывается по фор- муле:



где Vi - объем отдельной функции ПО;- общее число функций.

В зависимости от организационных и технологических условий, в которых разрабатываем ПО исполнители по согласованию с руководством организации могут корректировать объем на основе экспертных оценок. Уточненный объем ПО (Vy) определяется по формуле (5.2):



где - уточненный объем отдельной функции ПО в строках исходного кода (LOC) таблица 5.1.


Таблица 5.1 - Каталог функций программного обеспечения

Код функцийНаименование (содержание) функцийОбъем функции строк исходного кода (LOC)по каталогу (Vo)уточненный (Vy)101Организация ввода информации100130208Реорганизация базы данных130130403Формирование служебных таблиц570399506Обработка ошибочных сбойных ситуаций970776703Расчет показателей410451707Графический вывод результатов300240Итого24802126

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

На основании принятого к расчету уточненного объема строк программы и ее категории сложности определяем нормативную трудоемкость выполняемых работ согласно [10, приложение 3] Тн = 100 чел.-дн.

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



где Ki - коэффициент степени повышения сложности;

n - количество учитываемых характеристик из таблицы 5.2.


Таблица 5.2 - Коэффициенты повышения сложности ПО (Кс)

№Характеристика повышения сложности ПОЗначение Кi1.Интерактивный доступ02.Обеспечение хранения, ведения, поиска данных в сложных структурах0.073.Наличие у ПО свыше трех характеристик из [14, приложение 1.2]0

Подставив соответствующее значение в формулу (5.3), получаем:

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


Таблица 5.3 - Результат экспертной оценки новизны ПО

Категория новизны ПОСтепень новизныИспользованиеКоэффи-циент новизныНа основе нового типа ПКВ среде новой ОСАПринципиально новые ПО, не имеющие подобных аналогов--1

Влияние фактора новизны на трудоемкость учитывается путем умножения нормативной трудоемкости на соответствующий коэффициент, учитывающий новизну ПО (Кн).

В созданной системе компьютерного моделирования используется от 20% до 40% стандартных модулей, что соответствует значению коэффициента КТ = 0,77.

Еще одним фактором, влияющим на трудоемкость разработки программного обеспечения, является коэффициент, учитывающий средства разработки ПО (Кур). Учитывая, что программа разработана с применением системы программирования на основе СУДБ типа Oracle, SQLServer , и предназначена для работы в глобальных сетях, Кур = 0,6.

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


Таблица 5.4 - Значения коэффициентов удельных весов трудоемкости стадий разработки

Категория новизны ПОБез применения CASE-технологииСтадии разработки ПОТЗЭПТПРПВНЗначения коэффициентовА0,120,210,320,260,09

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

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


,(5.4)

(5.5)


(5.6)

Трудоемкость работ на стадии рабочего проекта определяется по формуле:


.(5.7)


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

Общая трудоемкость разработки ПО (ТО) определяется суммированием нормативной (скорректированной) трудоемкости ПО по стадиям разработки:


,(5.8)


где Туi - нормативная (скорректированная) трудоемкость разработки ПО на i-й стадии (чел.-дн.);

n - количество стадий разработки.

Подставив соответствующие значения в формулы (5.4 - 5.8), получаем:

чел.-дн.,

чел.-дн.,

чел.-дн. ,

чел.-дн. ,

чел.-дн.,

чел.-дн.

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

Таблица 5.5 - Результаты расчетов общей трудоемкости ПО

ПоказателиСтадии разработкиИтогоТЗЭПТПРПВНОбщий объем ПО (Vо), количество строк-----2480Общий уточненный объем ПО (Vy), количество строк-----2126Категория сложности ПО-----3Нормативная трудоемкость разработки ПО (Тн), чел.-дн.-----100Коэффициент повышения сложности ПО (Кс)1,071,071,071,071,07-Коэффициент, учитывающий новизну ПО (Кн)11111-Коэффициент, учитывающий степень использования стандартных модулей (Кт)---0,77--Коэффициент, учитывающий средства разработки ПО (Кур)0,60,60,60,60,6-Коэффициенты удельных весов трудоемкости стадий разработки ПО (Ктз, Кэп, Ктп, Крп, Квн)0,120,210,320,260,091,0Распределение скорректированной (с учетом Кс, Кн,Кт, Кур) трудоемкости ПО по стадиям, чел.-дн.813205652Общая трудоемкость разработки ПО (То), чел.-дн.-----52

5.3 Расчет затрат на разработку программного продукта


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

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

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

затраты на изготовление эталонного экземпляра (Зэт);

затраты на технологию (затраты на приобретение и освоение программных средств, используемых при разработке программного продукта; затраты на ПО, используемое как эталон) (Зтех);

затраты на машинное время (расходы на содержание и эксплуатацию технических средств разработки, эксплуатации и сопровождения) (Змв);

затраты на материалы (информационные носители) (Змат);

затраты на энергию, на использование каналов связи (для отдельных видов);

общепроизводственные расходы (затраты на управленческий персонал, на содержание помещений) (Зобщ_пр);

непроизводственные (коммерческие) расходы (затраты связанные с рекламой, поиском заказчиков, поставками конкретных экземпляров) (Знепр).

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


.(5.9)


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


,(5.10)


где ЗПосн - основная заработная плата разработчика, руб.;

ЗПдоп - дополнительная заработная плата разработчиков, руб.;

ОТЧзп - сумма отчислений от заработной платы (социальные нужды, страхование от несчастных случаев), руб.

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


,(5.11)


где Сср_час - средняя часовая тарифная ставка разработчика ПО.;

То - общая трудоемкость разработки, чел-час.;

Кув - коэффициент, учитывающий доплаты стимулирующего харак-тера (Кув=1,5-2,0), принимаем Кув= 1,6.

Средне часовая тарифная ставка рассчитывается по формуле:


,(5.12)


где См1 - часовая тарифная ставка 1-ого разряда, руб. На 29.05.2013 составляет 250000 руб [11];

Тк - тарифный коэффициент. Для инженера-программиста Тк =2,81 [12];

Fмес - месячный фонд рабочего времени, час. Составляет 168 час.

Дополнительная заработная плата разработчика определется по формуле:


,(5.13)


где Ндоп - норматив отчислений на дополнительную заработную разработчика. Принимаем Ндоп = 13%.

Отчисления от основной и дополнительной заработной платы (отчисления на социальные нужды и обязательное страхование) рассчитываются по формуле:


,(5.14)


где Hзп - процент отчислений на социальные нужды и обязательное страхование от суммы основной и дополнительной заработной платы. Принимаем Hзп = 35% (34% - социальное страхование, 1% - обязательное страхование).

Подставив соответствующие значения в формулы (5.10 - 5.14), получаем:

ЗПосн = 418152 8 1,6 = 2783238 руб.,

ЗПдоп = 2783238 0,13 = 361820 руб.,

ОТЧсн = (2783238+ 361820) 0,35 = 1100770 руб.,

Зтр = 2783238+ 361820+ 1100770 = 4245829 руб.


Затраты машинного времени определяются по формуле:


(5.15)


где Сч - стоимость одного часа машинного времени рассчитывают по формуле (5.16);

Кт - коэффициент мультипрограммности, показывающие распределение времени работы ЭВМ в зависимости от количества пользователей ЭВМ, Кт=1;

tэвм - машинное время ЭВМ, необходимое для разработки и отладки проекта (ч.).


, (5.16)


где ЗПоб - затраты на заработную плату обслуживающего персонала с учетом всех отчислений, руб./год;

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

Зам - амортизационные отчисления за год, руб./год;

Зэп - затраты на электроэнергию, руб./год;

Звм - затраты на материалы, необходимые для обеспечения нормальной работы ЭВМ, руб./год;

Зтр - затраты на текущий и профилактический ремонт ЭВМ, руб./год;

Зпр - прочие затраты, связанные с эксплуатацией ЭВМ, руб./год;

Fэвм - действительный фонд времени работы ЭВМ, час/год.

Все статьи затрат формируются в расчете на единицу ЭВМ.

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

Годовые затраты на аренду помещения (Зар) определяются по формуле:


,(5.17)


где Cар - средняя годовая ставка арендных платежей, руб./м2. По состоянию на 29.05.2013 составляет 86000 руб;

S- площадь помещения, м2

Сумма годовых амортизационных отчислений (Зам) определяется по формуле вида


,(5.18)


где Зпр.i - затраты на приобретение i-го вида основных фондов, руб.;

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

Кдоп = 12-13 % от Зпр.;

mi- количество оборудования i-го вида;

Нам.i - норма амортизации для i-го вида ЭВМ, %.

К основным фондам в данной работе относятся:

-Персональный компьютер. Стоимость - 3600000 руб;

Стоимость покупки фондов бралась на момент начала разработки, то есть 12.02.2013г.

Стоимость электроэнергии, потребляемой за год, (Зэп) определяется по формуле:


,(5.19)


где Мсум - суммарная мощность всей применяемой для разработки проекта техники, М = 0,42 кВт;

Сэл - стоимость одного кВтч электроэнергии, 324,9 руб. по состоянию на 29.05.2013[12];

А - коэффициент интенсивного использования мощности, А=0,96.

Действительный годовой фонд времени работы ЭВМ (Fэвм) рассчитывается по формуле:


,(5.20)


где Дг - общее количество дней в году; Дг = 365 дн.;

Двых, Дпр- число выходных и праздничных дней в году, Двых + Дпр = =119 дн.;

Fсм - продолжительность 1 смены, Fсм = 8 часов;

Ксм - коэффициент сменности, т.е. количество рабочих смен ЭВМ, Ксм = 1;

Кпот - коэффициент, учитывающий потери рабочего времени, связанные с профилактикой и ремонтом ЭВМ, Кпот = 0,15-0,30

,

Затраты на материалы (Звм) необходимые для обеспечения нормальной работы ЭВМ составляют около 1% от балансовой стоимости ЭВМ и определяются по формуле:


,(5.21)


где Зпр - затраты на приобретение ЭВМ, руб.;

Кдоп - коэффициент, характеризующий дополнительные затраты, связанные с доставкой, монтажом и наладкой оборудования, Кдоп= 12-13 %;

Кмз - коэффициент, характеризующий затраты на вспомогательные материалы (Кмз = 0,01)

Прочие затраты, связанные с эксплуатацией ЭВМ (Зпр) состоят из амортизационных отчислений на здания, стоимости услуг сторонних организаций и составляют 5 % от балансовой стоимости и рассчитываются по формуле:


, (5.22)

где Кпр - коэффициент, характеризующий размет прочих затрат, связанных с эксплуатацией ЭВМ (Кпр = 0,05)

,

Затраты на машинное время включают:

-время, требуемое на составление программы по готовой блок-схеме;

-время на отладку программы на ЭВМ;

-время на редактирование, распечатку и оформление документации.

Для расчета машинного времени ЭВМ (tэвм в часах), необходимого для разработки и отладки проекта следует использовать формулу:


(5.23)


где tРП - срок реализации стадии «Рабочий проект», 5 дней;

tВН - срок реализации стадии «Ввод в действие», 6 дней;

Fсм - продолжительность рабочей смены, (ч.), Fсм = 8 ч.;

Ксм - количество рабочих смен, Ксм = 1.

,

.

Расчет затрат на изготовление эталонного экземпляра (Зэт) производится по формуле:


(5.24)


.,

где Кэт - коэффициент, учитывающий размер затрат на изготовление эталонного экземпляра, (Кэт =0,05).

Общепроизводственные затраты (Зобщ.пр) рассчитываются последующей формуле:


,(5.25)


где Ндоп - норматив общепроизводственных затрат , 5%.

руб.

Непроизводственные затраты (Знепр) рассчитываются по следующей формуле:

,(5.26)


где Ндоп - норматив общепроизводственных затрат , 5%.

руб.

Результаты расчетов по статьям затрат на разработку ПО сведены в таблицу 5.6.


Таблица 5.6 - Результаты расчетов затрат на разработку ПО

№ п/пСтатья затратИтого, руб.1Затраты на оплату труда разработчиков (Зтр)42458291.1Основная заработная плата разработчиков27832381.2Дополнительная заработная плата разработчиков3618201.3Отчисления отосновной и дополнительнойзаработной платы11007702Затраты машинного времени (Змв)8971602.1Стоимость машино-часа10185Затраты на заработную плату обслуживающего персонала0Годовые затраты на аренду помещения10200000Сумма годовых амортизационных отчислений943488Стоимость электроэнергии, потребляемой за год206245Действительный годовой фонд времени работы ПЭВМ1574.4Затраты на материалы47174Затраты на текущий и профилактический ремонт0Прочие затраты, связанные с эксплуатацией ЭВМ2358722.2Машинное время ЭВМ883Затраты на изготовление эталонного экземпляра(Зэт)2571494Затраты на технологию (Зтех)05Затраты на материалы (Змат)06Общепроизводственные затраты (Зобщ.пр)1391617Непроизводственные (коммерческие) затраты (Знепр)1391618Суммарные затраты на разработку ПО (Зр)5678463

5.4 Расчет договорной (отпускной) цены разрабатываемого программного продукта


Оптовая цена ПП (Цопт) определяется следующим образом:


,(5.27)

,(5.28)


где С(Зр) - себестоимость ПО, руб.;

Пр-прибыль от реализации ПП, руб.;

Ур-уровень рентабельности ПП, % (Ур= 30 %).

руб.

Прогнозируемая отпускная цена ПП без НДС рассчитывается:


,(5.29)


руб.

Налог на добавленную стоимость (Рндс) рассчитывается по формуле


,(5.30)


где Нндс-ставка налога на добавленную стоимость, %, Нндс=20,0 %.

Прогнозируемая отпускная цена ПО с НДС рассчитывается:


,(5.31)


Розничную цену на ПП (Црозн) можно определить следующим образом:


(5.32)


где Тн- торговая наценка при реализации программного обеспечения через специализированные магазины (торговых посредников), ее значение принимается в размере 10-20 % от отпускной цены с НДС.

руб.

Стоимостьразработки ППпредставлена в таблице 5.7.


Таблица 5.7-Плановая калькуляция разработки программного продукта

№ п/пНаименование статьи расходовУсловные обозначенияЗначение, руб.1Затраты на оплату труда разработчиковЗтр42458291.1Основная заработная плата разработчиков2832381.2Дополнительная заработная плата разработчиков3618201.3Отчисления от основной и дополнительной заработной платы11007702Затраты машинного времениЗм.в8971603Затраты на изготовление эталонного экземпляраЗэт2571494Затраты на технологиюЗтех05Затраты на материалыЗмат06Общепроизводственные затратыЗобщ.пр1391617Производственная себестоимость8Непроизводственные (коммерческие) затратыЗнепр1391619Полная себестоимость (суммарные затраты на разработку ПО)Зр567846410Прибыль от реализации ПОПр170359911Отпускная цена ПО без НДСЦотп738200312Налог на добавленную стоимостьРндс147640013Отпускная цена ПО с НДСЦотп.ндс885840314Торговая наценкаТн132876015Розничнаяцена ПОЦрозн10187164

5.5 Расчет эффекта программного обеспечения


Так как отсутствуют аналоги ПО, то расчет эффективности будем делать за счет экономии ресурсов. Экономия рассчитывается по формуле 5.33.


,(5.33)


где Зтек - затраты без использования ПО;

Зпо - затраты при использовании ПО.

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


,(5.34)


где t1 - время затраченное при фиксации отказа без ПО, мин t1=15мин,

ЗП - заработная плата сотрудника в единицу времени, руб/мин.


,(5.34)

где t2 - время затраченное при фиксации одного отказа при использовании ПО, мин t2=2мин,


,(5.35)


где ЗПср - среднемесячная заработная плата,

нд - число рабочих дней в месяце, нд=22,

тс - количество часов в одной смене, тс=8.

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


,(5.36)


.

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


5.6 Технико-экономические показатели


На основании расчетов, выполненных в данном разделе, была составлена таблица технико-экономических показателей:


Таблица 5.8 - Технико-экономические показатели

№ п/пНаименование показателяЕдиница измере-нияБазовый вариантПроектный вариантПоказатели затрат на разработку1Общая трудоемкость разработки ПОчел.-дн.0522Капитальные вложения в продуктруб.042120003Затраты на разработку программыруб.056784643.1Затраты на оплату труда разработчиковруб.042458293.2Затраты машинного временируб.08971603.3Затраты на изготовление эталонного образцаруб.02571493.4Затраты на технологиюруб.003.5Затраты на материалыруб.003.6Общепроизводственные затратыруб.01391613.7Непроизводственные (коммерческие) затратыруб.0139161Показатели экономической эффективности4Экономия на осуществление одной операции (фиксирование одного отказа)руб.095705Количество операций (зафиксированных отказов) в год, обеспецивающих окупаемость затрат на разработкушт.0593


6Охрана труда


6.1 Требования безопасности, производственной санитарии и пожарной безопасности


Требования безопасности.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Требования производственной санитарии.

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

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

Оптимальные параметры микроклимата должны быть:

-температура в производственных помещениях в зависимости от категории работ от 16 до 24°С в холодный период и от 18 до 25°С в теплый период;

-относительная влажность воздуха в зависимости от температуры в пределах 40-75%;

-скорость движения воздуха в пределах 0,1-0,5 м/с;

-интенсивность теплового облучения работников в пределах 35-100 Вт/м2 в зависимости от величины поверхности тела которое облучается.

Объем производственного помещения на одного работника должен составлять не меньше 15 м3, а площадь - не меньше 4,5 м2.

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

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

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

По принципу действия она разделяется на естественную (аэрацию) и искусственную (механическую).

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

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

Освещение.

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

Освещение бывает естественным, искусственным и комбинированным.

Естественное освещение обеспечивается проникновением солнечных лучей через крышные фонари и окна.

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

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

-рабочее;

-аварийное.

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

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

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

Требования пожаробезопасности.

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

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

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

Мероприятия по пожарной профилактике:

-организационные;

-технические;

-режимные;

-эксплуатационные.

Организационные мероприятия предусматривают:

-правильную эксплуатацию машин и внутризаводского транспорта;

-правильное содержание зданий, территории;

-противопожарный инструктаж рабочих и служащих;

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

-издание приказов по вопросам усиления пожарной безопасности и т. д.

К техническим мероприятиям относится:

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

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

-эксплуатационными мероприятиями являются своевременные профилактические осмотры, ремонты и испытания технологического оборудования [14].

Организация пожарной безопасности промышленных предприятий.

В соответствии со ст. 17 Закона Республики Беларусь «О пожарной безопасности» руководители и другие должностные лица организаций независимо от форм собственности:

-обеспечивают пожарную безопасность и противопожарный режим;

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

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

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

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

-содержат в исправном состоянии пожарную технику, оборудование и инвентарь;

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

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

Кроме Закона Республики Беларусь «О пожарной безопасности» обязанности руководителей и должностных лиц предприятий изложены в Правилах пожарной безопасности.

В соответствии с требованиями Общих правил пожарной безопасности Республики Беларусь для промышленных предприятий (ППБ РБ 1.01-94) руководители предприятий или лица, их заменяющие, а также владельцы несут персональную ответственность за обеспечение пожарной безопасности.

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

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

Согласно требованиям ППБ РБ 1.01-94 работники предприятий обязаны:

-знать и выполнять на производстве требования пожарной безопасности;

-соблюдать и поддерживать противопожарный режим;

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

-знать характеристики пожарной опасности применяемых или производимых веществ и материалов;

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

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

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

-главный инженер (председатель);

-начальник пожарной охраны объекта;

-энергетик;

-технолог;

-механик;

-инженер по охране труда и другие специалисты [15].


6.2 Мероприятия по охране труда


Мероприятия по охране труда - запланированная конкретная деятельность организации, направленная на выполнение целей в области охраны труда, определяемых требованиями законодательных и иных нормативных правовых актов, а также политикой организации в области охраны труда; является составной частью системы управления охраной труда (СУОТ), обеспечивает осуществление программ по охране труда.

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

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

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

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

Организационные мероприятия по охране труда - часть общей системы организации труда и производства; предусмотрены нормативными документами. К ним относятся:

выполнение требований научной организации труда;

аттестация и сертификация рабочих мест;

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

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

социальное страхование;

расстановка персонала в соответствии с квалификацией;

разработка планов ликвидации последствий аварий;

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

разработка графика уборки рабочих мест;

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

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

организация специального питания;

пропаганда охраны труда;

разработка системы мер поощрения и наказания.

На опасных производственных объектах к числу организационных мероприятий по охране труда относятся также:

лицензирование опасных работ;

сертификация оборудования;

расследование аварий и ликвидация их последствий;

прогнозирование чрезвычайных ситуаций;

экспертиза и декларирование промышленной безопасности; страхование ответственности.

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

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

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

обеспечение качества освещения; обеспечение санитарно-бытовыми помещениями и санитарно-техническими устройствами;

выполнение требований производственной эстетики и санитарной защиты окружающей среды.

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

автоматизация и механизация работ;

дистанционное управление;

использование управляющих машин;

блокировка и сигнализация.

Частные мероприятия:

устройство ограждений;

экранирование от излучений;

выполнение требований электробезопасности и т. п.

Мероприятия по индивидуальной защите предусматривают:

выбор эффективных средств индивидуальной защиты (СИЗ) работников;

обеспечение правильного хранения и исправности СИЗ;

обучение персонала правилам использования СИЗ.

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

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

Контроль соблюдения требований к плану мероприятий по охране труда осуществляется сторонами коллективного договора, а также государственными органами надзора и контроля, вышестоящими органами профсоюзов (их объединений) в пределах их полномочий [15].

Основные направления планирования и разработки мероприятий по охране труда:

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

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

)устройство тротуаров, переходов, тоннелей, галерей на территории организации, строительной площадки, осуществление мероприятий по профилактике дорожно-транспортного травматизма;

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

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

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

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

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

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

)приобретение и установка (монтаж) оборудования для испытаний средств индивидуальной и коллективной защиты;

)устройство новых и реконструкция эксплуатируемых отопительных и вентиляционных систем, тепловых, водяных и воздушных завес;

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

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

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

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

)очистке воздуховодов и вентиляционных установок, осветительной арматуры, окон, фрамуг, световых фонарей;

)складированию и транспортированию сырья, полуфабрикатов, готовой продукции, отходов производства;

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

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

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

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

)приобретение транспортных средств для оборудования передвижных кабинетов и лабораторий по охране труда;

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

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

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

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



7РЕСУРСО- И ЭНЕРГОСБЕРЕЖЕНИЕ ПРИ ВНЕДРЕНИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ


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

Ресурсы - ценности, запасы, возможности, источники дохода в государственном бюджете. В общем виде ресурсы делятся на природные и экономические (материальные, трудовые, финансовые) [17].

Ресурсосбережение обеспечивается посредством:

использования ресурсосберегающих и энергосберегающих технологий;

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

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

сокращения затрат живого и овеществленного труда.

Рассчитаем экономию (Э) остальных расходов (канцелярские и пр.) по формуле [18]:


(7.1)


где - остальные расходы, %;

- среднемесячная заработная плата непроизводственных рабочих, руб.;

К - коэффициент сокращения остальных расходов;

n - количество рабочих.

Среднемесячная заработная плата рабочего составляет 8 043 650 рублей. Остальные расходы принимаем равным 4%. Коэффициент сокращения равен 0,5. Количество рабочих n=2.

руб.

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

Эффекты от мероприятий энергосбережения рассчитывают:

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

как количество тонн условного топлива (т у.т.) сэкономленных энергоресурсов или доля от величины потребляемых энергоресурсов в т у.т.;

в натуральном выражении (кВт?ч., Гкал и т.д.);

как снижение доли энергоресурсов в валовом внутреннем продукте в стоимостном выражении, либо в натуральных единицах (т у.т., кВт?ч.) на 1 руб. валового внутреннего продукта.

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

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

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


,(7.2)


где Тр - трудоемкость работы вручную, часов;

Та - трудоемкость работы с помощью программного обеспечения, часов;

М - паспортная мощность персонального компьютера, кВт;

Сэл - стоимость одного кВт?ч электроэнергии, руб [12].

Для проведения всего цикла работы по заполнению данных о процессинге тратится около 1 человеко-часов рабочего времени с использованием одного персонального компьютера, для той же операции в разработанной автоматизированной системе требуется - порядка 0.2 человека-часа на том же компьютере. По состоянию на 26 марта 2013 года стоимость 1 кВт?ч. электроэнергии для юридических лиц в Республике Беларусь равна 382,4 рубля. Приняв паспортную мощность персонального компьютера в 0,5 кВт, рассчитаем стоимость сэкономленной электроэнергии за разовый запуск операции добавления данных в журнал учета:



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


Заключение


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

Основными результатами работы являются:

информационное обеспечение, состоящее из семи справочников и трех оперативных таблиц;

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

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

Программный продукт располагается на сервере и доступ к нему осуществляется удаленно с клиентской машины.


Список использованных источников


1.Технический кодекс установившейся практики. Расследование и учет нарушений в работе объектов энергетического хозяйства потребителей электрической и (или) тепловой энергии. - Утв. Приказом Министерства энергетики Республики Беларусь № 106 от 30 мая 2012 г, рег. № 8/1117 от 11.10.1999.

2.Республика Беларусь. Законы. О промышленной безопасности опасных производственных объектов. № 363-3 [Текст] : [подписан Президентом Респ. Беларусь 10 января 2000 г.]. рег. № 1/2614 от 07.05.2001 : текст по состоянию на 7 июн. 2011 г.

.Правила расследования и учета несчастных случаев на производстве и профессиональных заболеваний. - Утв. Постановлением Совета Министров Республики Беларусь № 30 от 15 января 2004 г.

4.Джордж В. SAP за 24 часа / Джордж В. Андерсон, Дэниэл Ларокка. - Днепропетровский баланс бизнес букс, 2007. - 432 с.

5.Рюдигер К. Разработка приложений SAP R/3 на языке АВАР/4 / Рюдигер Кречмкр, Вольфганг Вейс. - Лори, 2002. - 335 с.

6.Виейра Р. Программирование баз данных Microsoft SQL Server 2008. Базовый курс / Роберт Виейра - Вильямс, 2010. - 816 с.

.Иванова Г.С. Объектно-ориентированное программирование / Г.С.Иванова, Т.Н. Ничушкина, Е.К.Пугачев. - МГТУ имени Н.Э.Баумана, 2001. - 319 с.

.Хомоненко А. Д. Базы данных / Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. - Санкт-Петербург КОРОНА принт, 2004. - 736 с.

9.Укрупненные нормы затрат труда на разработку программного обеспечения. - Утв. Постановлением Министерства труда и социальной защиты Республики Беларусь № 91 от 27.06.2007, рег. № 1966/12от 04.07.2007.

.Расчет экономической эффективности разработки программных продуктов. Методические указания по подготовке организационно-экономического раздела дипломных работ для студентов специальности 1-40 01 02 «Информационные системы и технологии ( по направлениям )» дневной формы обучения (м/ук №) / Е. А . Кожевников, Н. В. Ермалинская. - Гомель: ГГТУ им. П. О. Сухого, 2012 - 64с.

. Об установлении размера тарифной ставки первого разряда для оплаты труда работников бюджетных организаций и иных организаций, получающих субсидии, работники которых приравнены по оплате труда к работникам бюджетных организаций. - Утв. Постановлением Министерства труда и социальной защиты Республики Беларусь №226 от 29.03.2013. Рег. №5/37066 от 02.04.2013.

. Об установлении размера тарифной ставки первого разряда для оплаты труда работников бюджетных организаций и иных организаций, получающих субсидии, работники которых приравнены по оплате труда к работникам бюджетных организаций. - Утв. Постановлением Министерства труда и социальной защиты Республики Беларусь №1230 от 28.12.2012. Рег. №5/36708 от 30.12.2012.

13.Охрана труда. Техника безопасности на предприятиях. [Электронный ресурс]. - Режим доступа: #"justify">.Пожпрная безопасность в огранизациях. [Электронный ресурс]. - Режим доступа: #"justify">.Мероприятия по охране труда [Электронный ресурс]. - Режим доступа: #"justify">.Бобок С. А. Чрезвычайные ситуации: защита населения и территории. Учебное пособие / С. А. Бобок, В. И. Юртушкин. - М.: «Издательство ГНОМ и Д», 2000. - 288 с.


ПРИЛОЖЕНИЕ А


Листинги программ


*----------------------------------------------------------------------*

* INCLUDE Z_DATA_DIPLOM *

*----------------------------------------------------------------------*: item_table_type like standard table of MTREEITM with default key.: begin of ttreenodekey,like mtreeitm-node_key,(100) type c,of ttreenodekey.: rb1,rb2,rb3.= 'X'.eyear(4) type c.logbook type table of zlogbook with header line.OK_CODE like sy-ucomm.: d1(4), d2(2),d3(2),d(10).kl(100) type c.: dd(100) type c,(100) type c,(100) type c,(100) type c,(10) type c,(8) type c,(100) type c,(100) type c.: begin of tdata07,_equip like zdirequip-key_equip,like zdirequip-name,_key like zdirequip-group_key,like zdirequip-visible,like zdirequip-code,_name like zdirgroup-name,of tdata07.: data01 type table of zdirrefusals with header line,type table of zdirreasonsref with header line,type table of zdirreffaultstaf with header line,type table of zdirdep with header line,type table of zdirgroup with header line,type table of zdirobj with header line,type table of tdata07 with header line,type table of zdirsites with header line,type table of zdirobjstruct with header line,type table of zcompdep with header line.: indclic(100) type c.

* Поля для ввода вывода инф на экранах

data: ecode200(100) type c,(100) type c,(100) type c,(100) type c,(100) type c,(100) type c,(100) type c,(100) type c,(100) type c,(100) type c,(100) type c,(100) type c,(100) type c,(100) type c,(100) type c.

* Для вывода даты

data: date type d,type d,(10) type c.

*таблица соответствия кодов узлов дерева с шифром

data treenodekey type ttreenodekey occurs 100 with header line.

* Данные контейнера дерева: cont type scrfname value 'CCONTROL', " Имя контейнераtype ref to cl_gui_custom_container,type ref to cl_gui_list_tree,type ref to cl_application_tree.

* Данные для отображения дерева

data: node_table type treev_ntab,

item_table type item_table_type,type item_table_type,type cntl_simple_events,type cntl_simple_event.: node type treev_node, type mtreeitm.

* параметры контейнера для отображения таблицы учета

data: cont_table type scrfname value 'CC_LOGBOOK'," Имя контейнера_container type ref to cl_gui_custom_container,type ref to cl_gui_alv_grid,type LVC_S_LAYO,_manager type ref to manager.

* параметры контейнера для отображения таблицы истории отказов

data: cont_table500 type scrfname value 'CCONTROL500'," Имя контейнера_container500 type ref to cl_gui_custom_container,type ref to cl_gui_alv_grid.

* данные для отоюбражения журнала учета

types: begin of tdatalogbook,

key_logbook like zlogbook-key_logbook,_dep like zdirdep-lname,_obj like zdirobj-name,_equip like zdirequip-name,like zlogbook-code,_sities like zdirsites-name,_ref like zlogbook-date_ref,_ref like zlogbook-time_ref,_start like zlogbook-date_start,_liquid like zlogbook-time_liquid,_refusals like zdirrefusals-name,_reason like zdirreasonsref-name,_causer like zdirreffaultstaf-name,like zlogbook-bool,of tdatalogbook.: data_logbook type table of tdatalogbook with header line,_logbook500 type table of tdatalogbook with header line,_logbook type table of tdatalogbook with header line,_logbook type lvc_t_fcat.

*----------------------------------------------------------------------*

* INCLUDE ZMAKROS ZDIPLOM *

*----------------------------------------------------------------------*: n type i,(10) type c.clear_edit._01 = ''._01 = ''._02 = ''._02 = ''._03 = ''._03 = ''._04 = ''._04 = ''._04 = ''._05 = ''._05 = ''._06 = ''._06 = ''._07 = ''._07 = ''._07 = ''._08 = ''._08 = ''._08 = ''.of-definition.

*----------------------------------------------------------------------*

* INCLUDE ZMAKROS ZMODIFY *

*----------------------------------------------------------------------*set_data01.* from zdirrefusals into table data01." where visible = 'X'.of-definition.set_data02.* from zdirreasonsref into table data02.of-definition.set_data03.* from zdirreffaultstaf into table data03.of-definition.set_data04.* from zdirdep into table data04." where visible = 'X'.of-definition.set_data05.* from zdirgroup into table data05." where visible = 'X'.of-definition.set_data06.* from zdirobj into table data06." where visible = 'X'.of-definition.set_data07.e~key_equip e~name e~group_key e~visible e~code g~namezdirequip as e inner join zdirgroup as ge~group_key = g~key_grouptable data07." where e~visible = 'X'.of-definition.set_data08.s~key_sites s~name s~group_key s~visible s~code g~namezdirsites as s inner join zdirgroup as gs~group_key = g~key_grouptable data08." where visible = 'X'.of-definition.set_data09.s~key_struct s~obj s~eqip s~visible o~name e~namezdirobjstruct as s inner join zdirobj as os~obj = o~key_obj inner join zdirequip as es~eqip = e~key_equiptable data09." where visible = 'X'.of-definition.set_data10.c~key_comp c~obj c~dep c~visible c~code c~date_start o~name~namezcompdep as c inner join zdirobj as oc~obj = o~key_obj inner join zdirdep as dc~dep = d~key_deptable data10." where visible = 'X'.-of-definition.

*&---------------------------------------------------------------------*

* Задание параметров выводимой таблицы

define set_table.method grid->set_table_for_first_display_layout = &1_fieldcatalog = &2_outtab = &3.method grid->refresh_table_display.of-definition.

*----------------------------------------------------------------------*addfcat.

* p_fieldcat fieldname inttype outputlen coltext seltextfieldname = &2.inttype = &3.outputlen = &4.coltext = &5.seltext =&6.fcat to &1.fcat.of-definition.

* ... добавление данных в таблицы БД ...

*01--------------------------------------------------------------------*addtable_zdirrefusals.count( * ) from zdirrefusals into n.= n + 1.inttostr using n s.key_refusals = s.visible = 'X'.code = &1.name = &2.zdirrefusals.of-definition.

*02--------------------------------------------------------------------*addtable_zdirreasonsref.count( * ) from zdirreasonsref into n.= n + 1.inttostr using n s.key_reason = s.visible = 'X'.code = &1.name = &2.zdirreasonsref.of-definition.

*03--------------------------------------------------------------------*addtable_zdirreffaultstaf.count( * ) from zdirreffaultstaf into n.= n + 1.inttostr using n s.key_causer = s.visible = 'X'.code = &1.name = &2.zdirreffaultstaf.of-definition.

*04--------------------------------------------------------------------*addtable_zdirdep.count( * ) from zdirdep into n.= n + 1.inttostr using n s.key_dep = s.visible = 'X'.code = &1.name = &2.lname = &3.zdirdep.of-definition.

*05--------------------------------------------------------------------*addtable_zdirgroup.count( * ) from zdirgroup into n.= n + 1.inttostr using n s.key_group = s.visible = 'X'.code = &1.name = &2.zdirgroup.of-definition.

*06--------------------------------------------------------------------*addtable_zdirobj.count( * ) from zdirobj into n.= n + 1.inttostr using n s.key_obj = s.visible = 'X'.code = &1.name = &2.zdirobj.of-definition.

*07--------------------------------------------------------------------*addtable_zdirequip.count( * ) from zdirequip into n.= n + 1.inttostr using n s.key_equip = s.visible = 'X'.code = &1.name = &2.group_key = &3.zdirequip.of-definition.

*08--------------------------------------------------------------------*addtable_zdirsites.count( * ) from zdirsites into n.= n + 1.inttostr using n s.key_sites = s.visible = 'X'.code = &1.name = &2.group_key = &3.zdirsites.of-definition.

*09--------------------------------------------------------------------*addtable_zdirobjstruct.count( * ) from zdirobjstruct into n.= n + 1.inttostr using n s.key_struct = s.visible = 'X'.obj = &1.obj = &2.eqip = &3.zdirobjstruct.of-definition.

*10--------------------------------------------------------------------*addtable_zcompdep.count( * ) from zcompdep into n.= n + 1.inttostr using n s.key_comp = s.visible = 'X'.obj = &1.dep = &2.code = &3.date_start = &4.zcompdep.of-definition.

*01--------------------------------------------------------------------*chtable_zdirrefusals.key_refusals = &1.code = &2.name = &3.visible = 'X'.zdirrefusals.of-definition.

*02--------------------------------------------------------------------*chtable_zdirreasonsref.code = &1.reason = &2.zdirreasonsref.of-definition.

*03--------------------------------------------------------------------*chtable_zdirreffaultstaf.code = &1.name = &2.zdirreffaultstaf.of-definition.

*04--------------------------------------------------------------------*chtable_zdirdep.code = &1.name = &2.lname = &3.zdirdep.of-definition.

*05--------------------------------------------------------------------*chtable_zdirgroup.code = &1.name = &2.zdirgroup.of-definition.

*06--------------------------------------------------------------------*chtable_zdirobj.code = &1.name = &2.zdirobj.of-definition.

*07--------------------------------------------------------------------*chtable_zdirequip.code = &1.name = &2.code_group = &3.zdirequip.of-definition.

*08--------------------------------------------------------------------*chtable_zdirsites.code = &1.name = &2.code_group = &3.zdirsites.of-definition.

*09--------------------------------------------------------------------*chtable_zdirobjstruct.code = &1.code_obj = &2.code_eqip = &3.zdirobjstruct.of-definition.

*01--------------------------------------------------------------------*deltable_zdirrefusals.from zdirrefusals where key_refusals = &1.of-definition.

*02--------------------------------------------------------------------*deltable_zdirreasonsref.from zdirreasonsref where code = &1.of-definition.

*03--------------------------------------------------------------------*deltable_zdirreffaultstaf.from zdirreffaultstaf where code = &1.of-definition.

*04--------------------------------------------------------------------*deltable_zdirdep.from zdirdep where code = &1.of-definition.

*05--------------------------------------------------------------------*deltable_zdirgroup.from zdirgroup where code = &1.of-definition.

*06--------------------------------------------------------------------*deltable_zdirobj.from zdirobj where code = &1.of-definition.

*07--------------------------------------------------------------------*deltable_zdirequip.from zdirequip where code = &1.of-definition.

*08--------------------------------------------------------------------*deltable_zdirsites.from zdirsites where code = &1.of-definition.

*09--------------------------------------------------------------------*deltable_zdirobjstruct.from zdirobjstruct where code = &1.of-definition.


*----------------------------------------------------------------------*

* INCLUDE Z_CLASS_DEFINITION_DIPLOM *

*----------------------------------------------------------------------*CL_APPLICATION_TREE definition.section.:_dblclickevent node_double_click of cl_gui_list_tree_key,_dblclickevent item_double_click of cl_gui_list_tree_key item_name..manager definition.section.:

* constructor "конструктор

* importing alv_grid type ref to cl_gui_alv_grid,_double_clickevent double_click of cl_gui_alv_gride_row e_column..

*----------------------------------------------------------------------*

* INCLUDE Z_CLASS_IMPLEMENTATION_DIPLOM *

*----------------------------------------------------------------------*cl_application_tree implementation.node_dblclick..item_dblclick.tmp type ttreenodekey.

* ecode = node_key.table treenodekey into tmp index node_key.= tmp-code.f type n.bool_cod using ecode200 f.f = 4.screen 200 starting at 10 10 ending at 60 22.....: tmp type table of zlogbook with header line,like tmp." with hesder line.manager implementation.on_double_click.table data_logbook index e_row-index into tmp_logbook.= tmp_logbook-key_logbook.= tmp_logbook-code_dep.= tmp_logbook-code.= tmp_logbook-code_obj.= tmp_logbook-code_equip.= tmp_logbook-code_sities.= tmp_logbook-date_ref.= tmp_logbook-time_ref.*zlogbooktable tmpvisible = 'X'key_logbook = tmp_logbook-key_logbook.table tmp index 1tmp1.= tmp1-code_dep.= tmp1-code_obj.= tmp1-code_equip.= tmp1-code_sities.= tmp1-date_ref.= tmp1-time_ref.tmp1-bool = 'X'.screen 300 starting at 10 10 ending at 60 27..

* уже востановленно

endif.

endmethod.


endclass.

*----------------------------------------------------------------------*

* INCLUDE Z_FORM_DIPLOM *

*----------------------------------------------------------------------*

*преобразование числа в строкуinttostr USING int TYPE i str TYPE c.= ''.: x TYPE i, n TYPE i.= int.x > 0 .= x MOD 10.n.0.'0' str INTO str.1.'1' str INTO str.2.'2' str INTO str.3.'3' str INTO str.4.'4' str INTO str.5.'5' str INTO str.6.'6' str INTO str.7.'7' str INTO str.8.'8' str INTO str.9.'9' str INTO str..= x DIV 10...

* Построение и вывод дереваadd_nodes_and_items.keydep(100) TYPE c.: keyobj(200), keyequip(300).: p1(12) TYPE c,(12) TYPE c.

*----------------------------------------------------------------------dep TYPE TABLE OF zdirdep WITH HEADER LINE.: BEGIN OF obj OCCURS 10,LIKE zcompdep-obj,LIKE zdirobj-name,LIKE zcompdep-code,OF obj.: BEGIN OF equip OCCURS 10,LIKE zdirobjstruct-eqip,LIKE zdirequip-name,OF equip.colitem TYPE i.treenodekey.= 1.inttostr USING colitem treenodekey-key.code = 'root'.treenodekey._node treenodekey-key '' 0 'X' ''._item: treenodekey-key '1' 'Дерево_принадлежности_оборудования' 4

'' ''.dep.* FROM zdirdep INTO TABLE dep.AT dep.'root' dep-key_dep INTO keydep SEPARATED BY '*'.= colitem + 1.inttostr USING colitem treenodekey-key.code = keydep.treenodekey.= treenodekey-key._node treenodekey-key '1' 1 'X' ''._item treenodekey-key '1' dep-name 10 'X' ''.obj.c~obj o~name c~codezcompdep AS c INNER JOIN zdirobj AS o ON c~obj = o~key_objTABLE objc~dep = dep-key_dep.AT obj.keydep obj-code obj-key INTO keyobj SEPARATED BY '*'.= colitem + 1.inttostr USING colitem treenodekey-key.code = keyobj.treenodekey.= treenodekey-key._node treenodekey-key p1 1 'X' ''._item treenodekey-key '1' obj-name 10 'X' ''.equip.s~eqip e~namezdirobjstruct AS sJOIN zdirequip AS e ON s~eqip = e~key_equipTABLE equips~obj = obj-key.AT equip.keyobj equip-key INTO keyequip SEPARATED BY '*'.= colitem + 1.inttostr USING colitem treenodekey-key.code = keyequip.treenodekey._node treenodekey-key p2 1 'X' ''._item treenodekey-key '1' equip-name 10 'X' '@01@'....eventid = cl_gui_list_tree=>eventid_node_double_click.appl_event = 'X'.event TO events.eventid = cl_gui_list_tree=>eventid_item_double_click.appl_event = 'X'.event TO events.METHOD tree->set_registered_events= events.OBJECT application.HANDLER: application->node_dblclick>item_dblclick FOR tree.METHOD tree->add_nodes_and_items_table = node_table_table = item_table_table_structure_name = 'MTREEITM'..

* Построение шапки таблицы журнала учета

FORM build_fieldcat.fcat TYPE lvc_s_fcat.fieldcat_logbook.:" fieldcat_logbook 'KEY_LOGBOOK' 'c' 10 'Ключ' 'Ключ',_logbook 'CODE_DEP' 'c' 8 'Цех' 'Цех',_logbook 'CODE_OBJ' 'c' 10 'Объект' 'Объект',_logbook 'CODE' 'c' 15 'Учетный номер' 'Учетный номер',

fieldcat_logbook 'CODE_EQUIP' 'c' 11 'Оборудование'

'Оборудование',_logbook 'CODE_SITIES' 'c' 11 'Узел' 'Узел',_logbook 'DATE_REF' 'd' 10 'Дата отказа' 'Дата отказа',_logbook 'TIME_REF' 'с' 8 'Впемя отказа' 'Впемя отказа',

fieldcat_logbook 'DATE_START' 'c' 8 'Дата ликвидации'

'Дата ликвидации',_logbook 'TIME_LIQUID' 'с' 8 'Время ликвидации' 'Время',_logbook 'CODE_REFUSALS' 'c' 15 'Отказ' 'Отказ',_logbook 'CODE_REASON' 'c' 11 'Причина' 'Причина',_logbook 'CODE_CAUSER' 'c' 11 'Виновники' 'Виновники',_logbook 'BOOL' 'c' 3 'Состояние отказа' 'Состояние отказа'.

ENDFORM. " build_fieldcatlicvid.. " licvid

create_otch.:OF ty_performance,(100) TYPE c,TYPE i,TYPE i,type i,type i,OF ty_performance,OF ty_opttable,(30) TYPE c,OF ty_opttable.: it_performance TYPE STANDARD TABLE OF ty_performance,_performance TYPE ty_performance,_opttable type standard table of ty_opttable,_opttable type ty_opttable,(100) type c.WA_PERFORMANCE.wa_opttable.t_o type table of zlogbook with header line.: yyyy(4),(2),(8).: k1(5) type n value 0,(5) type n value 0,(5) type n value 0,(5) type n value 0.rb1 = 'X'.= 'Цех'._data04.at data04.= 0.= 0.= 0.= 0.* from zlogbooktable t_ocode_dep = data04-key_dep.at t_o.= t_o-date_ref.= yyyymmdd.yyyymmdd by 4 places.= yyyymmdd.mmmm.'01' or '02' or '03'.= k1 + 1.'04' or '05' or '06'.= k2 + 1.'07' or '08' or '09'.= k3 + 1.'10' or '11' or '12'.= k4 + 1...data04-lname k1 k2 k3 k4..rb2 = 'X'.= 'Объект'._data06.at data06.= 0.= 0.= 0.= 0.* from zlogbooktable t_ocode_obj = data06-key_obj.at t_o.= t_o-date_ref.= yyyymmdd.yyyymmdd by 4 places.= yyyymmdd.mmmm.'01' or '02' or '03'.= k1 + 1.'04' or '05' or '06'.= k2 + 1.'07' or '08' or '09'.= k3 + 1.'10' or '11' or '12'.= k4 + 1...data06-name k1 k2 k3 k4..rb3 = 'X'.= 'Оборудование'._data07.at data07.= 0.= 0.= 0.= 0.* from zlogbooktable t_ocode_equip = data07-key_equip.at t_o.= t_o-date_ref.= yyyymmdd.yyyymmdd by 4 places.= yyyymmdd.mmmm.'01' or '02' or '03'.= k1 + 1.'04' or '05' or '06'.= k2 + 1.'07' or '08' or '09'.= k3 + 1.'10' or '11' or '12'.= k4 + 1...data07-name k1 k2 k3 k4...

*Задаем параметры вывода_opttable-options = 'P3TYPE = TO'.wa_opttable TO it_opttable._opttable-options = 'P3SIDE = 4'.wa_opttable TO it_opttable._opttable-options = 'P2TYPE = VB'.wa_opttable TO it_opttable._opttable-options = 'TISIZE = 1'.wa_opttable TO it_opttable.FUNCTION 'GRAPH_MATRIX_3D'1 = 'Квартал 1'

col2 = 'Квартал 2'

col3 = 'Квартал 3'

col4 = 'Квартал 4'

dim1 = 'Кварталы'= dim2_focus = 'X'= 'Квартальный отчет'= it_performance= it_opttable= 1.. " create_otchbool_cod using cod p.i type n value 0.cod using '*a'.cod for 'a'.sy-subrc = 0.'a' with '*' into cod.= i + 1.subrc = 0.cod for 'a'..= i.. " bool_cod


*----------------------------------------------------------------------*

* INCLUDE Z_MACROS *

*----------------------------------------------------------------------*addfcat.

* p_fieldcat fieldname inttype outputlen coltext seltextfieldname = &2.inttype = &3.outputlen = &4.coltext = &5.seltext =&6.fcat to &1.fcat.of-definition.


*----------------------------------------------------------------------*

* INCLUDE Z_MACROS_DIPLOM *

*----------------------------------------------------------------------*addcrit._performance-company = &1._performance-q1 = &2._performance-q2 = &3._performance-q3 = &4._performance-q4 = &5.wa_performance to it_performance.of-definition.

add_node.node.node_key = &1.relatkey = &2.&3 = 0.relatship = 0..relatship = cl_gui_list_tree=>relat_last_child..hidden = ''.disabled = ''.isfolder = &4.expander = &5.node to node_table.of-definition.add_item.item.node_key = &1.item_name = &2.class = cl_gui_list_tree=>item_class_text.alignment = cl_gui_list_tree=>align_auto.font = cl_gui_list_tree=>item_font_prop.text = &3.length = &4.usebgcolor = &5.t_image = &6.item to item_table.-of-definition.


* Задание параметров выводимой таблицы

define set_table.method grid->set_table_for_first_display_layout = &1_fieldcatalog = &2_outtab = &3.method grid->refresh_table_display.of-definition.


*----------------------------------------------------------------------*

* INCLUDE Z_MODULE_DIPLOM *

*----------------------------------------------------------------------*init_200 output.ecode200 at '*' into dr dd ecode do de.

* select name from zdirdep where key_dep = dd into edep._data04.table data04 with key key_dep = dd.= data04-name._data06.table data06 with key key_obj = do.= data06-name._data07.table data07 with key key_equip = de.= data07-name.= data07-group_key._data05.table data05 with key key_group = dg.= data05-name.

* set_data08.pools vrm.values type vrm_values with header line.* from zdirsites into table data08 where group_key = dg.values.at data08.text = data08-name.key = data08-key_sites.values..function 'VRM_SET_VALUES'= 'esites'= values[]..

* Инициализация контейнера таблицinit_control_table output.grid is initial.object custom_containercontainer_name = cont_table.object gridi_parent = custom_container.sy-subrc <> 0.

* возникла ошибка.build_fieldcat.sel_mode = 'A'.

* вешаем обработчики контроловobject gcl_manager.

* exporting alv_grid = grid.handler: gcl_manager->on_double_click for grid..l~key_logbook d~lname o~name e~name l~code s~name l~date_ref~time_ref l~date_start l~time_liquid r~name reas~name c~name l~boolzlogbook as ljoin zdirdep as dl~code_dep = d~key_depjoin zdirobj as ol~code_obj = o~key_objjoin zdirequip as el~code_equip = e~key_equipjoin zdirsites as sl~code_sities = s~key_sitesjoin zdirrefusals as rl~code_refusals = r~key_refusalsjoin zdirreasonsref as reasl~code_reason = reas~key_reasonjoin zdirreffaultstaf as cl~code_causer = c~key_causertable data_logbookl~visible = 'X'.method grid->set_table_for_first_display_layout = layo_fieldcatalog = fieldcat_logbook_outtab = data_logbook[].method grid->refresh_table_display.

* set_table layo fieldcat_logbook data_logbook[].. " initcontrol OUTPUT


* Инициализация 100 экранаSTATUS_0100 output.PF-STATUS 'GUI'.TITLEBAR 'TITLE' with

'АВТОМАТИЗИРОВАННАЯ СИСТЕМА УЧЕТА ОТКАЗОВ И ОСНОВНЫХ ДЕФЕКТОВ'.

endmodule. " STATUS_0100 OUTPUT

* Обработка событий 100 экранаUSER_COMMAND_0100 input.ok_code.'EXIT'.program.'OTCH'.screen 400 starting at 10 10 ending at 60 20... " USER_COMMAND_0100 INPUT

addtable_zlogbook.

* data n type i.

* data s(10) type c.count( * ) from zlogbook into n.= n + 1.inttostr using n s.key_logbook = s.visible = 'X'.code_dep = dd.code_obj = do.code_equip = de.date_ref = sy-datum.time_ref = sy-UZEIT.code = ecode.code_sities = esites.bool = 'X'.date_start = '00000000'.time_liquid = '000000'.code_refusals = ''.code_reason = ''.code_causer = ''.zlogbook.of-definition.


* Обработка событий 200 экранаUSER_COMMAND_0200 input.ok_code.'EXIT'.screen 100.'B1C'. " вышел из строяfbool type c value ''.* from zlogbook into table logbookvisible = 'X' and_dep = dd and_obj = do and_equip = de and= ecode.at logbook.logbook-bool = 'X'.

"нельзя нажать= 'X'...fbool <> 'X'._zlogbook.= ''.= ''.= ''.= ''.= ''.screen 100..'B2C'.l~key_logbook d~lname o~name e~name l~code s~name~date_ref l~time_ref l~date_start l~time_liquid r~name~name c~name l~boolzlogbook as ljoin zdirdep as dl~code_dep = d~key_depjoin zdirobj as ol~code_obj = o~key_objjoin zdirequip as el~code_equip = e~key_equipjoin zdirsites as sl~code_sities = s~key_sitesjoin zdirrefusals as rl~code_refusals = r~key_refusalsjoin zdirreasonsref as reasl~code_reason = reas~key_reasonjoin zdirreffaultstaf as cl~code_causer = c~key_causertable data_logbook500l~visible = 'X'l~code_dep = ddl~code_obj = dol~code_equip = de.screen 500 starting at 5 5 ending at 155 35... " USER_COMMAND_0200 INPUT

* Инициализация контейнера дереваinit_control_tree output.tree is initial.object ccontainer_name = cont.sy-subrc <> 0.i001(zmessage)..object tree= ccontainer_selection_mode = cl_gui_list_tree=>node_sel_mode_single_selection = 'X'_headers = ' '.sy-subrc <> 0.i001(zmessage)..add_nodes_and_items... " init_control_tree OUTPUT

* задание иконок для неисправных оборудований

module init_icon_tree output.

data: cc(100) type c,_key type TV_NODEKEY,type TV_IMAGE.* from zlogbook into table logbookvisible = 'X'.at logbook where bool = ''.'root' logbook-code_dep logbook-codecode_obj logbook-code_equip into cc separated by '*'.table treenodekey with key code = cc._key = treenodekey-key.= '@01@'.method tree->item_set_t_image_key = node_key_name = '1'_IMAGE = image..at logbook where bool = 'X'.'root' logbook-code_dep logbook-codecode_obj logbook-code_equip into cc separated by '*'.table treenodekey with key code = cc._key = treenodekey-key.= '@02@'.method tree->item_set_t_image_key = node_key_name = '1'_IMAGE = image... " init_icon_tree OUTPUT

* Обработка событий 300 экранаUSER_COMMAND_0300 input.ok_code.'EXIT'.screen 100.'BC1'.key_logbook = kl.visible = 'X'.code_dep = dd.code_obj = do.code_equip = de.date_ref = dr.time_ref = tr.code = ecode.code_sities = ds.bool = ''.date_start = sy-datum.time_liquid = sy-UZEIT.code_refusals = eref.code_reason = ereas.code_causer = ecauser.zlogbook.screen 100.

* perform licvid.

* message i001(zmessage)..

. " USER_COMMAND_0300 INPUT

*init_300 output.sy-datum to d.= d.= sy-uzeit.pools vrm._data01.values.at data01.text = data01-name.key = data01-key_refusals.values..function 'VRM_SET_VALUES'= 'eref'= values[].= '1'._data02.values.at data02.text = data02-name.key = data02-key_reason.values..function 'VRM_SET_VALUES'= 'ereas'= values[].= '1'._data03.values.at data03.text = data03-name.key = data03-key_causer.values..function 'VRM_SET_VALUES'= 'ecauser'= values[].= '1'.. " init_300 OUTPUTSTATUS_0400 output.PF-STATUS 'GUI400'.

* SET TITLEBAR 'xxx'.. " STATUS_0400 OUTPUTUSER_COMMAND_0400 input.ok_code.'CANCEL'.screen 100.'OK'.create_otch.screen 100.'RBCLICK'... " USER_COMMAND_0400 INPUTinit_list output.ecrit(100) type c.rb2 = 'X'._data06.values.at data06.text = data06-name.key = data06-key_obj.values..rb1 = 'X'._data04.values.at data04.text = data04-name.key = data04-key_dep.values..rb3 = 'X'._data07.values.at data07.text = data07-name.key = data07-key_equip.values...function 'VRM_SET_VALUES'= 'ecrit'= values[].= '1'.. " init_list OUTPUTSTATUS_0500 output.PF-STATUS 'GUI'.

* SET TITLEBAR 'xxx'.. " STATUS_0500 OUTPUTUSER_COMMAND_0500 input.ok_code.'CANCEL' or 'EXIT'.program.'BACK'.screen 200 starting at 10 10 ending at 60 22... " USER_COMMAND_0500 INPUTinit_control output.grid500 is initial.object custom_container500container_name = cont_table500.object grid500i_parent = custom_container500.sy-subrc <> 0.

* возникла ошибка.build_fieldcat.sel_mode = 'A'..method grid500->set_table_for_first_display_layout = layo_fieldcatalog = fieldcat_logbook_outtab = data_logbook500[].method grid500->refresh_table_display.. " init_control OUTPUT


*&---------------------------------------------------------------------

*& Report ZDIPLOM

*&---------------------------------------------------------------------

zdiplom.

: zdirdep,,,.

z_class_definition_diplom.z_data_diplom.

*include z_data_modify.cl_gui_cfw DEFINITION LOAD.z_macros_diplom.zmacros.z_macros.z_class_implementation_diplom.z_form_diplom.z_module_diplom.

.sy-datum TO d.= d.

OF-SELECTION. SCREEN 100.


* Листинг программы ведения справочников

*----------------------------------------------------------------------*

* INCLUDE Z_DATA_MODIFY *

*----------------------------------------------------------------------*

ok_code LIKE sy-ucomm.

: flag_delete(1) type c value '',(10) type c value ''.


* Поля ввода на эеране

DATA: ecod_01(10) TYPE c,

evid_01(200) TYPE c,_02(10) TYPE c,_02(200) TYPE c,_03(10) TYPE c,_03(200) TYPE c,_04(10) TYPE c,_04(200) TYPE c,_04(200) TYPE c,_05(10) TYPE c,_05(200) TYPE c,_06(10) TYPE c,_06(200) TYPE c,_07(10) TYPE c,_07(200) TYPE c,_07(10) TYPE c,_08(10) TYPE c,_08(200) TYPE c,_08(10) TYPE c,_09(10) type c,_obj_09(10) type c,_equip_09(10) type c,_obj_10(10) type c,_dep_10(10) type c,_10(10) type c,_10(10) type c.

* Радио-батоны: rb01_0(1) TYPE c value 'X',_0(1) TYPE c,_0(1) TYPE c,_0(1) TYPE c,_0(1) TYPE c,_0(1) TYPE c,_0(1) TYPE c,_0(1) TYPE c,_0(1) TYPE c,10_0(1) TYPE c.

* параметры контейнера для отображения таблиц

data: cont type scrfname value 'CCONTROL_0'," Имя контейнера_container type ref to cl_gui_custom_container,type ref to cl_gui_alv_grid,type LVC_S_LAYO,_manager type ref to manager.: begin of tdata07,_equip like zdirequip-key_equip,like zdirequip-name,_key like zdirequip-group_key,like zdirequip-visible,like zdirequip-code,_name like zdirgroup-name,of tdata07,of tdata08,_sites like zdirsites-key_sites,like zdirsites-name,_key like zdirsites-group_key,like zdirsites-visible,like zdirsites-code,_name like zdirgroup-name,of tdata08,of tdata09,_struct like zdirobjstruct-key_struct,like zdirobjstruct-obj,like zdirobjstruct-eqip,like zdirobjstruct-visible,_name like zdirobj-name,_name like zdirequip-name,of tdata09,of tdata10,_comp like zcompdep-key_comp,like zcompdep-obj,like zcompdep-dep,like zcompdep-visible,like zcompdep-code,_start like zcompdep-date_start,_name like zdirobj-name,_name like zdirdep-name,of tdata10.


* Внутренние таблицы: data01 type table of zdirrefusals with header line,type table of zdirreasonsref with header line,type table of zdirreffaultstaf with header line,type table of zdirdep with header line,type table of zdirgroup with header line,type table of zdirobj with header line,type table of tdata07 with header line,type table of tdata08 with header line,type table of tdata09 with header line,type table of tdata10 with header line,type lvc_t_fcat,type lvc_t_fcat,type lvc_t_fcat,type lvc_t_fcat,type lvc_t_fcat,type lvc_t_fcat,type lvc_t_fcat,type lvc_t_fcat,type lvc_t_fcat,type lvc_t_fcat.

* Строка таблицы: line_data01 type table of zdirrefusals with header line,_data02 type table of zdirreasonsref with header line,_data03 type table of zdirreffaultstaf with header line,_data04 type table of zdirdep with header line,_data05 type table of zdirgroup with header line,_data06 type table of zdirobj with header line,_data07 type table of zdirequip with header line,_data08 type table of zdirsites with header line,_data09 type table of zdirobjstruct with header line,_data10 type table of zcompdep with header line.


*----------------------------------------------------------------------*

* INCLUDE ZMAKROS ZMODIFY *

*----------------------------------------------------------------------*set_data01.* from zdirrefusals into table data01." where visible = 'X'.of-definition.set_data02.* from zdirreasonsref into table data02.of-definition.set_data03.* from zdirreffaultstaf into table data03.of-definition.set_data04.* from zdirdep into table data04." where visible = 'X'.of-definition.set_data05.* from zdirgroup into table data05." where visible = 'X'.of-definition.set_data06.* from zdirobj into table data06." where visible = 'X'.of-definition.set_data07.e~key_equip e~name e~group_key e~visible e~code g~namezdirequip as e inner join zdirgroup as ge~group_key = g~key_grouptable data07." where e~visible = 'X'.of-definition.set_data08.s~key_sites s~name s~group_key s~visible s~code g~namezdirsites as s inner join zdirgroup as gs~group_key = g~key_grouptable data08." where visible = 'X'.of-definition.set_data09.s~key_struct s~obj s~eqip s~visible o~name e~namezdirobjstruct as s inner join zdirobj as os~obj = o~key_obj inner join zdirequip as es~eqip = e~key_equiptable data09." where visible = 'X'.of-definition.set_data10.c~key_comp c~obj c~dep c~visible c~code c~date_start o~name~namezcompdep as c inner join zdirobj as oc~obj = o~key_obj inner join zdirdep as dc~dep = d~key_deptable data10." where visible = 'X'.-of-definition.

*&---------------------------------------------------------------------*

* Задание параметров выводимой таблицы

define set_table.method grid->set_table_for_first_display_layout = &1_fieldcatalog = &2_outtab = &3.method grid->refresh_table_display.of-definition.

*----------------------------------------------------------------------*addfcat.

* p_fieldcat fieldname inttype outputlen coltext seltextfieldname = &2.inttype = &3.outputlen = &4.coltext = &5.seltext =&6.fcat to &1.fcat.of-definition.

* ... добавление данных в таблицы БД ...

*01--------------------------------------------------------------------*addtable_zdirrefusals.count( * ) from zdirrefusals into n.= n + 1.inttostr using n s.key_refusals = s.visible = 'X'.code = &1.name = &2.zdirrefusals.of-definition.

*02--------------------------------------------------------------------*addtable_zdirreasonsref.count( * ) from zdirreasonsref into n.= n + 1.inttostr using n s.key_reason = s.visible = 'X'.code = &1.name = &2.zdirreasonsref.of-definition.

*03--------------------------------------------------------------------*addtable_zdirreffaultstaf.count( * ) from zdirreffaultstaf into n.= n + 1.inttostr using n s.key_causer = s.visible = 'X'.code = &1.name = &2.zdirreffaultstaf.of-definition.

*04--------------------------------------------------------------------*addtable_zdirdep.count( * ) from zdirdep into n.= n + 1.inttostr using n s.key_dep = s.visible = 'X'.code = &1.name = &2.lname = &3.zdirdep.of-definition.

*05--------------------------------------------------------------------*addtable_zdirgroup.count( * ) from zdirgroup into n.= n + 1.inttostr using n s.key_group = s.visible = 'X'.code = &1.name = &2.zdirgroup.of-definition.

*06--------------------------------------------------------------------*addtable_zdirobj.count( * ) from zdirobj into n.= n + 1.inttostr using n s.key_obj = s.visible = 'X'.code = &1.name = &2.zdirobj.of-definition.

*07--------------------------------------------------------------------*addtable_zdirequip.count( * ) from zdirequip into n.= n + 1.inttostr using n s.key_equip = s.visible = 'X'.code = &1.name = &2.group_key = &3.zdirequip.of-definition.

*08--------------------------------------------------------------------*addtable_zdirsites.count( * ) from zdirsites into n.= n + 1.inttostr using n s.key_sites = s.visible = 'X'.code = &1.name = &2.group_key = &3.zdirsites.of-definition.

*09--------------------------------------------------------------------*addtable_zdirobjstruct.count( * ) from zdirobjstruct into n.= n + 1.inttostr using n s.key_struct = s.visible = 'X'.obj = &1.obj = &2.eqip = &3.zdirobjstruct.of-definition.

*10--------------------------------------------------------------------*addtable_zcompdep.count( * ) from zcompdep into n.= n + 1.inttostr using n s.key_comp = s.visible = 'X'.obj = &1.dep = &2.code = &3.date_start = &4.zcompdep.of-definition.

*01--------------------------------------------------------------------*chtable_zdirrefusals.key_refusals = &1.code = &2.name = &3.visible = 'X'.zdirrefusals.of-definition.

*02--------------------------------------------------------------------*chtable_zdirreasonsref.code = &1.reason = &2.zdirreasonsref.of-definition.

*03--------------------------------------------------------------------*chtable_zdirreffaultstaf.code = &1.name = &2.zdirreffaultstaf.of-definition.

*04--------------------------------------------------------------------*chtable_zdirdep.code = &1.name = &2.lname = &3.zdirdep.of-definition.

*05--------------------------------------------------------------------*chtable_zdirgroup.code = &1.name = &2.zdirgroup.of-definition.

*06--------------------------------------------------------------------*chtable_zdirobj.code = &1.name = &2.zdirobj.of-definition.

*07--------------------------------------------------------------------*chtable_zdirequip.code = &1.name = &2.code_group = &3.zdirequip.of-definition.

*08--------------------------------------------------------------------*chtable_zdirsites.code = &1.name = &2.code_group = &3.zdirsites.of-definition.

*09--------------------------------------------------------------------*chtable_zdirobjstruct.code = &1.code_obj = &2.code_eqip = &3.zdirobjstruct.of-definition.

*01--------------------------------------------------------------------*deltable_zdirrefusals.from zdirrefusals where key_refusals = &1.of-definition.

*02--------------------------------------------------------------------*deltable_zdirreasonsref.from zdirreasonsref where code = &1.of-definition.

*03--------------------------------------------------------------------*deltable_zdirreffaultstaf.from zdirreffaultstaf where code = &1.of-definition.

*04--------------------------------------------------------------------*deltable_zdirdep.from zdirdep where code = &1.of-definition.

*05--------------------------------------------------------------------*deltable_zdirgroup.from zdirgroup where code = &1.of-definition.

*06--------------------------------------------------------------------*deltable_zdirobj.from zdirobj where code = &1.of-definition.

*07--------------------------------------------------------------------*deltable_zdirequip.from zdirequip where code = &1.of-definition.

*08--------------------------------------------------------------------*deltable_zdirsites.from zdirsites where code = &1.of-definition.

*09--------------------------------------------------------------------*deltable_zdirobjstruct.from zdirobjstruct where code = &1.of-definition.

*----------------------------------------------------------------------*

* INCLUDE Z_CLASS_DEFENITION_MODIFY *

*----------------------------------------------------------------------*

manager definition.section.:

* constructor "конструктор

* importing alv_grid type ref to cl_gui_alv_grid,_double_clickevent double_click of cl_gui_alv_gride_row e_column..


*----------------------------------------------------------------------*

* INCLUDE Z_CLASS_IMPLEMENTATION_MODIFY *

*----------------------------------------------------------------------*manager implementation.on_double_click._delete = 'X'.rb01_0 = 'X'.table data01 index e_row-index into line_data01.= line_data01-key_refusals._01 = line_data01-code._01 = line_data01-name.rb02_0 = 'X'.table data02 index e_row-index into line_data02.rb03_0 = 'X'.table data03 index e_row-index into line_data03.rb04_0 = 'X'.table data04 index e_row-index into line_data04.rb05_0 = 'X'.table data05 index e_row-index into line_data05.rb06_0 = 'X'.table data06 index e_row-index into line_data06.rb07_0 = 'X'.table data07 index e_row-index into line_data07.rb08_0 = 'X'.table data08 index e_row-index into line_data08.rb09_0 = 'X'.table data09 index e_row-index into line_data09.rb10_0 = 'X'.table data10 index e_row-index into line_data10..screen 200...


*----------------------------------------------------------------------*

* INCLUDE Z_FORM_MODIFY *

*----------------------------------------------------------------------*

create_list_box.pools vrm.values type vrm_values with header line._data05.values.at data05.text = data05-name.key = data05-key_group.values..function 'VRM_SET_VALUES'= 'ecodgr_07'= values[].function 'VRM_SET_VALUES'= 'ecodgr_08'= values[]._data06.values.at data06.text = data06-name.key = data06-key_obj.values..function 'VRM_SET_VALUES'= 'ecod_obj_09'= values[].function 'VRM_SET_VALUES'= 'ecod_obj_10'= values[]._data07.values.at data07.text = data07-name.key = data07-key_equip.values..function 'VRM_SET_VALUES'= 'ecod_equip_09'= values[]._data04.values.at data04.text = data04-name.key = data04-key_dep.values..function 'VRM_SET_VALUES'= 'ecod_dep_10'= values[]..


*преобразование числа в строкуinttostr using int type i str type c.= ''.: x type i, n type i.= int.x > 0 .= x mod 10.n.0.'0' str into str.1.'1' str into str.2.'2' str into str.3.'3' str into str.4.'4' str into str.5.'5' str into str.6.'6' str into str.7.'7' str into str.8.'8' str into str.9.'9' str into str..= x div 10...


*создание заголовков для отоблажения таблиц БД

form build_fieldcat.fcat type lvc_s_fcat.fieldcat01.: fieldcat01 'KEY_REFUSALS' 'c' 10 'Ключ' 'Ключ',01 'VISIBLE' 'c' 1 'Видимость' 'видимость',

fieldcat01 'CODE' 'c' 10 'Код' 'Код','NAME' 'c' 30 'Вид' 'Вид'.fieldcat02.: fieldcat02 'KEY_REASON' 'c' 10 'Ключ' 'Ключ',02 'VISIBLE' 'c' 1 'Видимость' 'видимость',

fieldcat02 'CODE' 'c' 10 'Код' 'Код причины',

fieldcat02 'NAME' 'c' 30 'Причина' 'Причина'.

refresh fieldcat03.: fieldcat03 'KEY_CAUSER' 'c' 10 'Ключ' 'Ключ',03 'VISIBLE' 'c' 1 'Видимость' 'видимость',

fieldcat03 'CODE' 'c' 10 'Код' 'Код',03 'NAME' 'c' 30 'Наименоваие' 'Наименоваие'.

refresh fieldcat04.: fieldcat04 'KEY_DEP' 'c' 10 'Ключ' 'Ключ',04 'VISIBLE' 'c' 1 'Видимость' 'видимость',

fieldcat04 'CODE' 'c' 10 'Код' 'Код цеха',

fieldcat04 'NAME' 'c' 30 'Название' 'Название',

fieldcat04 'LNAME' 'c' 30 'Кр. назв' 'Краткое название'.

refresh fieldcat05.: fieldcat05 'KEY_GROUP' 'c' 10 'Ключ' 'Ключ',05 'VISIBLE' 'c' 1 'Видимость' 'видимость',

fieldcat05 'CODE' 'c' 10 'Код' 'Код группы',

fieldcat05 'NAME' 'c' 30 'Название' 'Название'.

refresh fieldcat06.: fieldcat06 'KEY_OBJ' 'c' 10 'Ключ' 'Ключ',06 'VISIBLE' 'c' 1 'Видимость' 'видимость',

fieldcat06 'CODE' 'c' 10 'Код' 'Код объекта',

fieldcat06 'NAME' 'c' 30 'Название' 'Название'.

refresh fieldcat07.

addfcat: fieldcat07 'CODE' 'c' 10 'Код' 'Код оборудования',

fieldcat07 'NAME' 'c' 30 'Название' 'Название оборудования',

fieldcat07 'GROUP_NAME' 'c' 20 'Назв. группы'

'Название группы' ,

fieldcat07 'GROUP_KEY' 'c' 10 'Код группы' 'Код группы' ,

fieldcat07 'KEY_EQUIP' 'c' 10 'Ключ' 'Ключ',07 'VISIBLE' 'c' 1 'Видимость' 'Bидимость'.

refresh fieldcat08.: fieldcat08 'CODE' 'c' 10 'Код' 'Код узла',08 'NAME' 'c' 30 'Название' 'Название узла',

fieldcat08 'GROUP_NAME' 'c' 20 'Назв. группы'

'Название группы' ,

fieldcat08 'GROUP_KEY' 'c' 10 'Код группы' 'Код группы' ,

fieldcat08 'KEY_SITES' 'c' 10 'Ключ' 'Ключ',08 'VISIBLE' 'c' 1 'Видимость' 'видимость'.

refresh fieldcat09.: fieldcat09 'EQIP_NAME' 'c' 20 'Назв. обор.'

'Название оборудования',

fieldcat09 'OBJ_NAME' 'c' 20 'Назв. объекта'

'Название объекта',

fieldcat09 'KEY_STRUCT' 'c' 10 'Ключ' 'Ключ',

fieldcat09 'VISIBLE' 'c' 1 'Видимость' 'видимость',

fieldcat09 'CODE' 'c' 10 'уч номер' 'Учетный номер',

fieldcat09 'OBJ' 'c' 10 'Код объекта' 'Код объекта',

fieldcat09 'EQIP' 'c' 10 'Код обор' 'Код оборудования'.

refresh fieldcat10.: fieldcat10 'DEP_NAME' 'c' 20 'Назв. цеха'

'Название цеха ',

fieldcat10 'OBJ_NAME' 'c' 20 'Назв. объекта'

'Название объекта',

fieldcat10 'CODE' 'c' 10 'Учетный № объекта' '№ объекта',

fieldcat10 'DEP' 'c' 10 'Код цеха' 'Код цеха',

fieldcat10 'OBJ' 'c' 10 'Код объекта' 'Код объекта',

fieldcat10 'DATE_START' 'c' 10 'Дата ввода' 'Дата ввода','KEY_COMP' 'c' 10 'Ключ' 'Ключ',10 'VISIBLE' 'c' 1 'Видимость' 'видимость'.

endform. " build_fieldcat


* Добавление записи в таблицу

form addtable.rb01_0 = 'X'._zdirrefusals ecod_01 evid_01._data01.rb02_0 = 'X'._zdirreasonsref ecod_02 ereas_02._data02.rb03_0 = 'X'._zdirreffaultstaf ecod_03 ename_03._data03.rb04_0 = 'X'._zdirdep ecod_04 edep_04 eldep_04._data04.rb05_0 = 'X'._zdirgroup ecod_05 egroup_05._data05.rb06_0 = 'X'._zdirobj ecod_06 eobj_06._data06.rb07_0 = 'X'._zdirequip ecod_07 eeqip_07 ecodgr_07._data07.rb08_0 = 'X'._zdirsites ecod_08 esites_08 ecodgr_08._data08.rb09_0 = 'X'._zdirobjstruct ec_09 ecod_obj_09 ecod_equip_09._data09.rb10_0 = 'X'._zcompdep ecod_obj_10 ecod_dep_10 ecode_10 edstart_10._data10... " addtable


* Модификация объектов БДmodtable.rb01_0 = 'X'._zdirrefusals key ecod_01 evid_01._data01.rb02_0 = 'X'.

* chtable_zdirreasonsref ecod_02 ereas_02._data02.rb03_0 = 'X'.

* chtable_zdirreffaultstaf ecod_03 ename_03._data03.rb04_0 = 'X'.

* chtable_zdirdep ecod_04 edep_04 eldep_04._data04.rb05_0 = 'X'.

* chtable_zdirgroup ecod_05 egroup_05._data05.rb06_0 = 'X'.

* chtable_zdirobj ecod_06 eobj_06._data06.rb07_0 = 'X'.

* chtable_zdirequip ecod_07 eeqip_07 ecodgr_07._data07.rb08_0 = 'X'.

* chtable_zdirsites ecod_08 esites_08 ecodgr_08._data08.rb09_0 = 'X'.

* chtable_zdirobjstruct e_09 e_09 e_09._data09... " chtable


* Удаление елемента БДdeltable.rb01_0 = 'X'.

* deltable_zdirrefusals key._01 = ''._01 = ''.key_refusals = key.visible = ''.zdirrefusals._data01.rb02_0 = 'X'.

* deltable_zdirreasonsref ecod_02._data02.rb03_0 = 'X'.

* deltable_zdirreffaultstaf ecod_03._data03.rb04_0 = 'X'.

* deltable_zdirdep ecod_04._data04.rb05_0 = 'X'.

* deltable_zdirgroup ecod_05._data05.rb06_0 = 'X'.

* deltable_zdirobj ecod_06._data06.rb07_0 = 'X'.

* deltable_zdirequip ecod_07._data07.rb08_0 = 'X'.

* deltable_zdirsites ecod_08._data08.rb09_0 = 'X'.

** deltable_zdirobjstruct e_09._data09.

ENDIF.

endform. " deltable


* Меняем заголовок экрана на название соответствующего справочника

FORM rbclick.rb01_0 = 'X'.TITLEBAR 'TITLE' with 'Справочник видов отказов'.rb02_0 = 'X'.TITLEBAR 'TITLE' with 'Справочник причин отказов'. rb03_0 = 'X'.

SET TITLEBAR 'TITLE' with 'Справочник отказов по вине персонала'.

ELSEIF rb04_0 = 'X'.TITLEBAR 'TITLE' with 'Справочник цехов'.rb05_0 = 'X'.TITLEBAR 'TITLE' with 'Справочник групп'.rb06_0 = 'X'.TITLEBAR 'TITLE' with 'Справочник объектов'.rb07_0 = 'X'.TITLEBAR 'TITLE' with 'Справочник оборудования'.rb08_0 = 'X'.TITLEBAR 'TITLE' with 'Справочник узлов'.rb09_0 = 'X'.TITLEBAR 'TITLE' with 'Справочник состав объектов'.rb10_0 = 'X'.TITLEBAR 'TITLE' with 'Справочник состав цеха'...


*----------------------------------------------------------------------*

* INCLUDE Z_MODULE_MODIFY *

*----------------------------------------------------------------------*

*----------------------------------------------------------------------*status_0100 OUTPUT.PF-STATUS 'GUI'.create_list_box.

. " STATUS_0100 OUTPUT

*-модуль отображения объектов экрана-----------------------------------*

MODULE show OUTPUT.showmodal.at screen.screen-name cp &1.active = 1.screen-name cp '*_0'.active = 1..active = 0..screen..OF-DEFINITION.rb01_0 = 'X'.'*_01'.rb02_0 = 'X'.'*_02'.rb03_0 = 'X'.'*_03'.rb04_0 = 'X'.'*_04'.rb05_0 = 'X'.'*_05'.rb06_0 = 'X'.'*_06'.rb07_0 = 'X'.'*_07'.rb08_0 = 'X'.'*_08'.rb09_0 = 'X'.'*_09'.rb10_0 = 'X'.'*_10'... " show OUTPUT


*----------------------------------------------------------------------*initalv output.custom_container is initial.object custom_containercontainer_name = cont.object gridi_parent = custom_container.sy-subrc <> 0.

* возникла ошибка.build_fieldcat.sel_mode = 'A'.

" вешаем обработчики контроловobject gcl_manager.handler: gcl_manager->on_double_click for grid..rb01_0 = 'X'._table layo fieldcat01 data01[].rb02_0 = 'X'._table layo fieldcat02 data02[].rb03_0 = 'X'._table layo fieldcat03 data03[].rb04_0 = 'X'._table layo fieldcat04 data04[].rb05_0 = 'X'._table layo fieldcat05 data05[].rb06_0 = 'X'._table layo fieldcat06 data06[].rb07_0 = 'X'._table layo fieldcat07 data07[].rb08_0 = 'X'._table layo fieldcat08 data08[].rb09_0 = 'X'._table layo fieldcat09 data09[].rb10_0 = 'X'._table layo fieldcat10 data10[]... " initalv OUTPUT


*----------------------------------------------------------------------*user_command_0100 INPUT.ok_code.'EXIT'.PROGRAM.

* WHEN 'BTNCLICK'.

* PERFORM btnclick.'RBCLICK'._delete = ''.rbclick.'ADD'.addtable.'DEL'.flag_delete = ''. i002(message) with 'Вы не выбрали строку для удаления.'.

elseif flag_delete = 'X'._delete = ''.deltable..'CHANG'.flag_delete = ''.i002(message) with 'Вы не выбрали строку для изменения.'flag_delete = 'X'._delete = ''.modtable..'m1'.._edit.. " USER_COMMAND_0100 INPUTinitialize output._data01._data02._data03._data04._data05._data06._data07._data08._data09._data10.. " initialize OUTPUT

*&---------------------------------------------------------------------*zmodifydb.: zdirrefusals,,,,,,,,,.z_class_defenition_modify.zmacros.z_data_modify.z_form_modify.z_class_implementation_modify.z_module_modify.of-selection..TITLEBAR 'TITLE' with 'Справочник видов отказов'. SCREEN 200.


ПРИЛОЖЕНИЕ Б


Руководство системного программиста


Общие сведения о программе.

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

Разработанное программное обеспечение было создано в системе Mini SAP Basis System. Данные хранятся на сервере, и доступ к ним осуществляется удаленно с клиентской машины.

Требования:

ERP система SAP R/3.

Структура программы.

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

Настройка программы.

Для того чтобы настроить программу для начала работы необходимо:

-заполненить все справочники;

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

Сообщения системному программисту.

При возникновении сообщения «Соединение разорвано» необходимо проверить подключение к серверу и убедиться, что сервер системы SAP R/3 запущен.


ПРИЛОЖЕНИЕ В


Руководство программиста


Назначение и условия применения программы.

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

Разработанное программное обеспечение было создано в системе Mini SAP Basis System.

Характеристики программы.

Данный программный продукт подразумевает использовании ERP системы SAP R/3

Обращение к программе.

Разработанное ПО выполняется в ERP системе SAP R/3.

Для получения доступа к программе исполизуются транзакции ztm и ztd.

Для доступа к исходному коду ПО необходимо открыть программы zmodify и zdiplom в ABAP development workbench.

Входные и выходные данные.

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

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

Сообщения программисту.

Программа защищена от ввода некорректных параметров.



ПРИЛОЖЕНИЕ Г


Руководство пользователя


Введение.

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

Пользователям необходимо иметь навыки работы в ERP системе SAP R/3.

Назначение и условия применения.

Программное обеспечение предназначено для:

-ведения учета отказов электроэнергетического оборудования;

-получения сведений об отказах электроэнергетического оборудования.

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

-персональный компьютер IBM PC или другой;

-ERP система SAP R/3.

Подготовка к работе.

Разработанное ПО выполняется в ERP системе SAP R/3.

Для получения доступа к программе исполизуются транзакции ztm и ztd.

Описание операций.

Для начала работы необходимо зайти в систему SAP R/3. Для этого необходимо ввести номер манданта, логин и пароль, выданные администратором (рисунок Г.1).


Рисунок Г.1 - Вход в систему SAP R/3


После входа в систему, запускаем транзакцию ztm для вызова программы ведения справочников (рисунок Г.2).

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


Рисунок Г.2 - Окно ведения справочников


Для удаления данных из таблицы необходимо сделать следующие действия:

-двойным кликом выбрать соответствующую строку таблицы;

-нажать кнопку «Удалить».

Если нажать кнопку «Удальть» не произведя выбор строки, то появится уведомление (рисунок Г.3).


Рисунок Г.3 - Сообщение о не выбранной строке


Для изменения данных из таблицы необходимо сделать следующие действия:

-двойным кликом выбрать соответствующую строку таблицы;

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

-нажать кнопку «Изменить».

Если нажать кнопку «Изменить» не произведя выбор строки, то появится уведомление (рисунок Г.4).


Рисунок Г.4 - Сообщение о не выбранной строке


Для запуска программы автоматизированного учета отказов электроэнергетического оборудования необходимо запустить транзакцию ztd (рисунок Г.5).


Рисунок Г.5 - Окно ведения журнала учета отказов

Для добавления нодой записи в журнал учета необходимо:

-из дерева выбрать двойным кликом оборудование;

-в появившемся окне (рисунок Г.6) выбрать вышедший из строя узел и нажать кнопку «Вышел из строя».


Рисунок Г.6 - Диалоговое окно отображающее информацию выбранного оборудования


После расследования необходимо добавить данные в журнал учета, для этого необходимо:

-из дерева выбрать двойным кликом оборудование;

-в появившемся окне (рисунок Г.6) нажать кнопку «Добавить данные»;

-в появившемся окне (рисунок Г.7) выбрать отказ, причину и виновника отказа и нажать кнопку «Добавить данные»;

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

-из дерева выбрать двойным кликом оборудование;

-в появившемся окне (рисунок Г.6) нажать кнопку «Получить информацию».

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

-нажать кнопку «Отчеты»;

-в появившемся окне (рисунок Г.8) необходимо ввести год и указать объект анализа и нажать кнопку «Построить диаграмму».

-

Рисунок Г.7 - Окно ввода причины и виновников отказа


Рисунок Г.8 - Диалоговое окно задания параметров отображения диаграммы


МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ Учреждение образования «Гомельский государственный технический университет имени П.О. Сухого»

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

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

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

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

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