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

Автоматизированная система управления материально-техническим снабжением предприятия "ЦСКБ-Прогресс". Постановка задачи и описание алгоритма. Текст программы с описанием. Описание процесса отладки программы. Организация работы на вычислительных центрах.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 03.06.2012
Размер файла 705,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

Отладка предполагает выполнение следующих операций:

выявление факта наличия ошибки в программе;

определение листа нахождения ошибки (локализация);

устранение ошибки.

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

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

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

получать значения любых параметров программы;

модифицировать значения параметров;

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

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

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

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

Различают три способа контроля текстов, алгоритмов и программ без применения ЭВМ:

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

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

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

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

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

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

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

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

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

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

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

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

2.5 Оценка результатов решения

Результатом решения данной программы является формирование таблицы «План изготовления изделий».

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

Данная программа доказала насколько успешно применен при программировании язык Visual Fox Pro 9.0 для анализа и обработки информации.

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

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

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

3. ОРГАНИЗАЦИЯ ПРОИЗВОДСТВА. ОРГАНИЗАЦИЯ РАБОТЫ НА ВЦ

На предприятии действуют автоматизированная система управления предприятием (АСУП).

АСУП представляет собой систему управления, основанную на применения ЭВМ и экономико-математических методов для решения основных задач управления производственно-хозяйственной деятельностью предприятия.

АСУП обеспечивает:

автоматизированный сбор и обработку информации;

хранения в памяти ЭВМ и комплексное использование нормативно-справочной информации в процессе решения задач управления;

организацию рационального внутрипроизводственного оборота документов с помощью средств АСУП;

работа по созданию АСУП на предприятии производится на основание следующих директивных документов;

приказы министерства;

годовой план разработки и внедрения АСУП;

годовые планы технического перевооружения предприятия поступившее на ИВЦ;

Разработка и внедрение АСУП выполнена с широким использованием отечественного и зарубежного опыта систем управления базами данных.

При создание АСУП на базе ЭВМ 3-го поколения было принято главное направления на создание АСУП на основе БД широкого применения. Основные преимущества, которые были получены в результате применения СУБД:

экономия деловой памяти;

ускорение процесса обработки информации за счёт метода прямого доступа;

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

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

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

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

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

При формировании ИВЦ вся работа при создание АСЦ предприятием началась с проектных работ.

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

стадия разработки технического проектирования;

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

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

внедрение (начало промышленной эксплуатации);

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

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

Указания для разработки той или иной задачи поступают на ИВЦ в виде приказа, распоряжения, протокола, плана и т.д.

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

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

Утверждённое техническое задание передаётся на программирование. Программист ИВЦ в основном выполняет работу по разработке локальных программ по задачам.

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

Этапы разработки представлены в виде блок-схемы. Смотрите приложение Б.

АСУП охватывает следующие функции управления:

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

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

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

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

технико-экономическое планирование;

учёт кадров; бухгалтерский учёт;

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

управлении материально-техническим снабжением;

создание нормативной справочной базы;

Основные цели создания АСУП заключаются в успешном решение задач, которые стоят перед предприятием:

увеличение объёма выпускаемой продукции;

снижение себестоимости продукции;

повышение качества выпускаемого изделий;

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

сокращение потерь рабочего времени;

рост производительности труда.

4. МЕРОПРИЯТИЯ ПО ТЕХНИКЕ БЕЗРПАСНОСТИ И ПРОТИВОПОЖАРНОЙ ТЕХНИКЕ

4.1 Электробезопасность при эксплуатации технических средств

Основными аварийными ситуациями могут быть:

Поражение электрическим током при включении из-за неисправности электрической розетки или электрической вилки;

Короткое замыкание в электрической сети из-за неисправности электрической розетки, электрической вилки, кабелей питания устройств;

Загорание устройств по причине короткого замыкания.

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

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

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

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

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

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

уметь правильно обслуживать внешние устройства;

помнить, что цепи сетевого электропитания блоков вентиляторов и розеток находятся под напряжением 380/220 В;

рабочие и служащие за нарушение требований инструкций

привлекаются к ответственности в соответствии с законом.

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

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

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

Пользователю запрещается:

открывать крышки устройства;

отключать защитное заземление;

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

самостоятельно исправлять неисправности;

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

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

при аварии отключить питание и доложить дежурному инженеру-электронику;

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

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

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

отключить тумблером устройство;

убрать рабочее место;

зачехлить устройство;

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

включить сигнализацию; cделать запись в журнале учета.

Запрещается:

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

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

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

подходить и прислоняться к оборудованию.

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

Общие требования охраны труда.

Настоящая инструкция разработана в соответствии с Санитарными правилами СанПиН 2.2.2./2, 4. 1340-03 «Гигиенические требования к персональным электронно-вычислительным машинам и организации работы».

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

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

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

К опасным и вредным производственным факторам, которые могут воздействовать на работника в процессе работы, относятся:

Электромагнитное поле

Акустический шум

Повышенная напряженность зрения

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

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

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

Лица, работающие на ПЭВМ более 50% рабочего времени (профессионально связанны с эксплуатацией ПЭВМ) должны проходить обязательные предварительные при поступлении на работу и периодические медицинские осмотры 1 раз в год

К работам на ПЭВМ и ВДТ допускаются лица:

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

Прошедшие инструктаж по охране труда на конкретном рабочем месте по данной инструкции.

Женщины со времени установления беременности переводятся на работы, не связанные с использованием ПЭВМ или для них ограничивается время работы с ПЭВМ (не более трех часов за рабочую смену) при условии соблюдения гигиенических требований, установленных СанПиН 2.2.2./2.4 1340-03.

Площадь на одно рабочее место пользователей ПЭВМ и ВДТ на базе электронно-лучевой трубки должна составлять не менее 6.0 м2, а с ВДТ на базе плоских дискретных экранов (жидкокристаллические, плазменные) - 4,5 м2.

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

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

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

Осмотреть и привести в порядок свое рабочее место. Убрать со стола посторонние предметы.

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

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

В качестве источников света при искусственном освещении применяются преимущественно люминесцентные лампы типа ЛБ и компактные люминесцентные лампы (КПП). В светильниках местного освещения допускается применение ламп накаливания, в том числе галогенных.

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

Требования охраны труда во время работы.

Клавиатуру следует располагать на поверхности стола на расстоянии 100-300 мм от края, обращенного к пользователю.

Экран видеомонитора - должен находиться от глаз пользователя на расстоянии 600-700 мм, но не ближе 500 мм с учетом размеров алфавитно-цифровых знаков и символов.

При включении ПЭВМ необходимо соблюдать следующую последовательность:

Включить периферийные устройства (принтер, монитор и др.);

Включить системный блок.

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

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

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

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

При работе на ПЭВМ и ВДТ соблюдать время регламентированных перерывов продолжительностью 10-15 мин через каждый час работы.

Требования охраны труда в аварийных ситуациях.

Основными аварийными ситуациями могут быть:

Поражение электрическим током при включении из-за неисправности электрической розетки или электрической вилки;

Короткое замыкание в электрической сети из-за неисправности электрической розетки, электрической вилки, кабелей питания устройств;

Загорание устройств по причине короткого замыкания.

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

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

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

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

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

Требования охраны труда по окончании работы.

Соблюдать следующую последовательность выключения вычислительной техники:

Произвести закрытие всех активных задач;

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

Убедиться, что в дисководах нет дискет;

Выключить питание системного блока;

Выключить питание всех периферийных устройств.

Убрать со стола рабочую документацию.

По окончании работ вымыть руки с мылом.

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

4.2 Требования к помещению

Требования к помещению:

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

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

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

в помещении ширина прохода должна быть не менее 0,8 метров.

автоматизированная система управление материальное снабжение

4.3 Мероприятия по противопожарной безопасности для машинного зала ЭВМ

Ответственность за противопожарное состояние помещения отдела возлагается на начальника отдела или лицо его замещающее;

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

Лица, виновные в нарушении правил безопасности несут дисциплинарную, административную и уголовную ответственность;

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

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

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

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

В помещении ширина прохода должна быть не менее 0,8 м.;

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

У каждого телефонного аппарата должна находиться табличка: «При пожаре звонить: 50-01, 55-03»;

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

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

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

Хранить или применять легковоспламеняющиеся жидкости;

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

Хранить на батарее отопления или вблизи от нее бумагу и легковоспламеняющиеся материалы.

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

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

ЗАКЛЮЧЕНИЕ

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

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

При выполнении дипломной работы были использованы программные продукты:

Microsoft Office - при подготовке пояснительной записки;

Visual FoxPro - для создания интерфейса и частично для реализации программного кода;

Structured Query Laguage (SQL) - для манипулирования данными.

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

В пояснительной записке дипломного проекта производился расчет себестоимости одного машинного часа работы ПЭВМ и расчет экономической эффективности проектируемой системы при замене ручного управленческого труда персональным компьютером. С внедрением ПЭВМ значительно сократилось время обработки данных, упростилась процедура занесения, корректировки и выборки необходимой информации. Исходя из этого, был достигнут годовой экономический эффект, составляющий 38069,4 руб. Перечисленные преимущества позволили окупиться проектируемой программе за 0,97 года.

ЛИТЕРАТУРА

«Инструкция по технике безопасности для всех рабочих и служащих ЦСКБ № 2». цскб; 1998 г., 10 стр.

«Организация вычислительного процесса. 353П 11Ф69М 24878-1402». ЦСКБ; 2001 г., 60 стр.

«Основные положения по организации вычислительного процесса». ЦСКБ; 2000г., 66 стр.

Беленький Ю.М., Власенко С.Ю.: Microsoft Word 2000-СПб.: БХВ - Санкт-Петербург,2000.-992 стр.

Бурлак Г.Н. «Экономика, организация и планирование работы ВЦ» М.: Финансы и кредит, 2-е., 1989 г., 430 стр.

В.В. Зотов и др. «Терминологический словарь по информатике и вычислительной технике», М.: «Высшая школа», 1989 г. 321 стр.

Данные скомпилированного HTML-файла справки FoxPro 8.0.chm.

Жогонев Е.А., Трифонов Н.П. «Курс программирования», издание 2, М.: «Наука», 1967 г., 432 стр.

Инструкция по охране труда для операторов и пользователей ЭВМ №70». ЦСКБ; 1999 г., 15 стр.

Инструкция пользователя АРМ 941_4 «Автоматизированная система управления материально-техническим снабжением»

Лапшин Г.М. «Организация и планирование ВЦ в машиностроении». Л.: Изд. «Машиностроение»; 1990 г., 347 стр.

Левин А. «Самоучитель работы на компьютере» издание 5, М.: «ОЛМА-ПРЕСС»; 2002 г., 463 стр.

Мicrosoft Corporation Проектирование и реализация баз данных Microsoft SQL Server 2000.: Учебный курс MCSE/Пер. с англ.- М.: Издательско-торговый дом “Русская Редакция”, 2001.-704 стр.

Педдок Р., Петерсон Д., Тэлмейдж Р., Ренфт Э.: Visual FoxPro 6.0 Разработка корпоративных приложений- М.: ДМК, 1999.-562 стр.

Переверткин С.Н., Гагарин Н.И., Костин Ю.Н., Миронов И.И. «Микро ЭВМ в информационно-измерительных системах», М.: «Наука»; 1987 г., 457 стр.

Пинтер Л., Пинтер Д. Visual FoxPro: Уроки программирования- М.: Издательско-торговый дом “Русская Редакция”, 1996.-480 стр.

Райодан Р.: Основы реляционных баз данных - М.: Издательско-торговый дом “Русская Редакция”, 2001.-384 стр.

Свириденко С.С. «Современные информационные технологии» М.: Радио и связь, 2001 г., 303с.

Семакин И.К. «Основы программирования», М.: «Мастерство», 2002 г., 525 стр.

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

Фигурнов А.Н., «IBM PC для пользователя. Краткий курс». М.: Изд. «Инфра»: 1997 г., 470 стр.

ПРИЛОЖЕНИЕ

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

PUBLIC str_izd,str_dce,str_zak

str_zak=ALLTRIM(thisform.text2.Value)

str_izd=ALLTRIM(thisform.combo2.DisplayValue)

str_dce=ALLTRIM(thisform.text1.Value)

stro='План отдела 2868 по условию: '

stroki=''

IF LEN(ALLTRIM(str_dce))<>0

STRO=STRO+' Индекс изделия '+ ALLTRIM(str_izd)+', обозначение ДСЕ '+ALLTRIM(str_dce)

stroki=stroki+" and a.izd_bd=?ALLTRIM(str_izd) and a.obozn_dce=?ALLTRIM(str_dce)"

ELSE

IF LEN(ALLTRIM(str_izd))<>0

STRO=STRO+"Изделие "+ALLTRIM(str_izd)

stroki=stroki+" and a.izd_bd like '%?ALLTRIM(str_izd)%'"

endif

ENDIF

IF LEN(ALLTRIM(str_zak))=8

STRO=STRO+', заказ' +ALLTRIM(str_zak)

stroki=stroki+" and b.zakaz="+ALLTRIM(str_zak)

ELSE

IF LEN(ALLTRIM(str_zak))>0 and LEN(ALLTRIM(str_zak))<8

STRO=STRO+", заказ" +ALLTRIM(str_zak)

stroki=stroki+" and b.zakaz like '%"+ALLTRIM(str_zak)+"%'"

endif

endif

DO FORM plan2868

CREATE CURSOR plan_2868 (izd c(20), izd_dce c(50), zakaz c(8), srok c(5) ,komp c(8) , kom_g c(8), sur_name c(50),dat_cor d(8), kol_ist N(4), id_dce n(7))

=CURSORSETPROP('Buffering', 2, 'plan_2868')

CREATE CURSOR p_ist_2868 (izd c(20), izd_dce c(50), zakaz c(8), srok c(5) ,komp c(8) , kom_g c(8), sur_name c(20),dat_cor d(8), kol_ist N(4), id_dce n(7))

PUBLIC istoria, nado_izm

nado_izm=0

istoria=.f.

thisform.Caption=stro

thisform.combo1.List(1)='Изделие, заказ'

thisform.combo1.List(2)='Заказ, изделие'

thisform.combo1.DisplayValue='Изделие, заказ'

thisform.grid1.RecordSource='plan_2868'

thisform.grid1.column1.Width=120

thisform.grid1.column1.header1.caption='Изделие'

thisform.grid1.column1.header1.fontbold=.t.

thisform.grid1.column1.header1.backcolor=RGB(192,192,192)

thisform.grid1.column1.header1.forecolor=RGB(0,0,128)

thisform.grid1.column2.Width=180

thisform.grid1.column2.header1.caption='Обозн. изделия'

thisform.grid1.column2.header1.fontbold=.t.

thisform.grid1.column2.header1.backcolor=RGB(192,192,192)

thisform.grid1.column2.header1.forecolor=RGB(0,0,128)

thisform.grid1.column3.Width=75

thisform.grid1.column3.header1.caption='Заказ'

thisform.grid1.column3.header1.fontbold=.t.

thisform.grid1.column3.header1.backcolor=RGB(192,192,192)

thisform.grid1.column3.header1.forecolor=RGB(0,0,128)

thisform.grid1.column4.Width=80

thisform.grid1.column4.header1.caption='Срок выполн.'

thisform.grid1.column4.header1.fontbold=.t.

thisform.grid1.column4.header1.backcolor=RGB(192,192,192)

thisform.grid1.column4.header1.forecolor=RGB(0,0,128)

thisform.grid1.column5.Width=57

thisform.grid1.column5.header1.caption='Комплект'

thisform.grid1.column5.header1.fontbold=.t.

thisform.grid1.column5.header1.backcolor=RGB(192,192,192)

thisform.grid1.column5.header1.forecolor=RGB(0,0,128)

thisform.grid1.column6.Width=70

thisform.grid1.column6.header1.caption='Комп.в году'

thisform.grid1.column6.header1.fontbold=.t.

thisform.grid1.column6.header1.backcolor=RGB(192,192,192)

thisform.grid1.column6.header1.forecolor=RGB(0,0,128)

thisform.grid1.column7.Width=100

thisform.grid1.column7.header1.caption='Пользователь'

thisform.grid1.column7.header1.fontbold=.t.

thisform.grid1.column7.header1.backcolor=RGB(192,192,192)

thisform.grid1.column7.header1.forecolor=RGB(0,0,128)

thisform.grid1.column8.Width=80

thisform.grid1.column8.header1.caption='Дата кор.'

thisform.grid1.column8.header1.fontbold=.t.

thisform.grid1.column8.header1.backcolor=RGB(192,192,192)

thisform.grid1.column8.header1.forecolor=RGB(0,0,128)

thisform.grid2.visible=.f.

thisform.grid1.Refresh

thisform.grid2.visible=.f.

thisform.grid2.RecordSource='p_ist_2868'

thisform.grid2.Refresh

IF gnActivate = 0

WAIT 'Подождите, идет обновление данных' WINDOW nowait

IF istoria=.f.

ZAP IN plan_2868

SQLEXEC( nom_conn, " select a.id_dce, a.izd_bd, a.obozn_dce, b.zakaz,b.ms, "+;

" b.dat_vip, b.kt_god, b.surname, b.datecor "+;

" from v_iz a inner join plan_868 b on b.id_dce=a.id_dce "+;

" where (substring(b.dat_vip,4,2)+substring(b.dat_vip,1,2))=(select max(substring(dat_vip,4,2)+substring(dat_vip,1,2)) from plan_868 "+;

" where id_dce=a.id_dce and zakaz=b.zakaz and tipzap=0) and b.tipzap=0 "+stroki, 'cur')

GO TOP IN cur

SCAN

SQLEXEC( nom_conn, " select * from plan_868 where id_dce=?cur.id_dce and zakaz=?cur.zakaz and tipzap=0", 'kol')

ms2=alltrim(str(val(substr(cur.ms,3,6))))

IF ALLTRIM(SUBSTR(cur.kt_god,1,2))=='00'

ktg=' '+alltrim(str(val(substr(cur.kt_god,3,6))))

ELSE

ktg=alltrim(substr(cur.kt_god,1,2))+' '+alltrim(str(val(substr(cur.kt_god,3,6))))

endif

INSERT INTO plan_2868 VALUES (cur.izd_bd, cur.obozn_dce, cur.zakaz, cur.dat_vip, ms2, ktg, cur.surname, cur.datecor,RECCOUNT('kol'),cur.id_dce)

ENDSCAN

thisform.label3.Caption=str(RECCOUNT('plan_2868'))

thisform.label5.Caption='План'

ELSE

thisform.command2.Click

ENDIF

thisform.combo1.InteractiveChange

WAIT clear

ENDIF

t3=role('868_write')

IF t3==1 OR rl_ow==1

thisform.command3.Enabled= .t.

thisform.command4.Enabled= .t.

thisform.command5.Enabled= .t.

ELSE

thisform.command3.Enabled= .f.

thisform.command4.Enabled= .f.

thisform.command5.Enabled= .f.

ENDIF

IF RECCOUNT('plan_2868')==0

thisform.command5.Enabled= .F.

thisform.command4.Enabled= .F.

thisform.command2.Enabled= .F.

endif

strok=ALLTRIM(thisform.text3.Value)

strok=SUBSTR(strok,1,3)+SUBSTR(strok,6,2)

IF nom_dce>0 AND LEN(ALLTRIM(set_zakaz))=8

SQLEXEC( nom_conn, " select a.id_dce, a.izd_bd, a.obozn_dce, b.zakaz,b.ms, "+;

" b.dat_vip, b.kt_god, b.surname, b.datecor "+;

" from v_iz a inner join plan_868 b on b.id_dce=a.id_dce "+;

" where b.tipzap=0 and b.zakaz=?set_zakaz and b.id_dce=?nom_dce and b.dat_vip=?strok", 'cur_est')

IF RECCOUNT('cur_est')=0

IF LEN(ALLTRIM(thisform.text4.Value))>0

k_god=VAL(ALLTRIM(thisform.text5.Value))

data_cor=DATE()

kompl= VAL(ALLTRIM(thisform.text4.Value))

IF k_god>=kompl

SQLEXEC(nom_conn, " select pr_plan from v_iz where id_dce=?nom_dce","cc_dce")

IF cc_dce.pr_plan=1 OR cc_dce.pr_plan=0

kompl='00'+PADL(ALLTRIM(STR(kompl)),5,'0')

k_god='00'+PADL(ALLTRIM(STR(k_god)),5,'0')

ELSE

IF cc_dce.pr_plan=2

kompl=SUBSTR(strok,4,2)+PADL(ALLTRIM(STR(kompl)),5,'0')

k_god=SUBSTR(strok,4,2)+Padl(ALLTRIM(STR(k_god)),5,'0')

endif

endif

sQLEXEC(nom_conn, " insert into plan_868 "+;

" values (?set_zakaz,?nom_dce,?kompl,?strok,?k_god,0,?m.t_user,?data_cor) ")

zap=MESSAGEBOX('Документ добавлен в базу данных! добавить еще один документ?',4+32+0,'Запрос на продолжение добавления')

IF zap==6

thisform.command1.Click

thisform.Init

ELSE

indeks=1

id_dce22=nom_dce

zakaz22=ALLTRIM(thisform.text2.Value)

thisform.Release

ENDIF

ELSE

MESSAGEBOX('Комплектов в год должно быть больше, чем в месяц!')

endif

ELSE

Messagebox('Введите комплект!',0+16,'')

endif

ELSE

Messagebox('Запись с таким изделием, заказом и сроком выполнения существует в базе данных. Измените какое-либо значение указанных полей!',0+16,'')

endif

ELSE

Messagebox('Вы не правильно ввели изделие или заказ',0+16,'')

endif

IF LEN(ALLTRIM(thisform.text4.value))>0

IF LEN(ALLTRIM(thisform.text5.value))>0

IF LEN(ALLTRIM(thisform.text8.value))==0

kom='00'+padl(alltrim(str(val(thisform.text4.value))),5,'0')

kom_g='00'+padl(alltrim(str(val(thisform.text5.value))),5,'0')

ELSE

kom=ALLTRIM(thisform.text8.value)+padl(alltrim(str(val(thisform.text4.value))),5,'0')

kom_g=ALLTRIM(thisform.text11.value)+padl(alltrim(str(val(thisform.text5.value))),5,'0')

endif

IF VAL(kom_g)>=VAL(kom)

d=DATE()

IF istoria=.f.

SQLEXEC(nom_conn, " update plan_868 set surname=?m.t_user, datecor=?d,"+;

" kt_god=?kom_g, ms=?kom "+;

" where id_dce=?plan_2868.id_dce and zakaz=?plan_2868.zakaz and dat_vip=?plan_2868.srok ")

ELSE

SQLEXEC(nom_conn, " update plan_868 set surname=?m.t_user, datecor=?d,"+;

" kt_god=?kom_g, ms=?kom "+;

" where id_dce=?p_ist_2868.id_dce and zakaz=?p_ist_2868.zakaz and dat_vip=?p_ist_2868.srok ")

endif

f=MESSAGEBOX('Запись изменена в базе данных!',0+64,'')

IF f==1

thisform.Release

endif

ELSE

MESSAGEBOX('Число комплектов в году не должно быть больше, чем в месяц',0+16,"")

endif

ELSE

MESSAGEBOX('Заполните комплектов в году!',0+16,"")

endif

ELSE

MESSAGEBOX('Введите комплект!',0+16,"")

endif

IF istoria=.f.

d= MESSAGEBOX('Вы желаете удалить документ плана с изделием '+alltrim(plan_2868.izd)+', заказом '+ALLTRIM(plan_2868.zakaz),4+32,'Запрос на удаление')

IF d==6

SQLEXEC(nom_conn, " update plan_868 set tipzap=1 "+;

" where zakaz=?plan_2868.zakaz and id_dce=?plan_2868.id_dce and dat_vip=?plan_2868.srok")

MESSAGEBOX('Запись успешно удалена из базы',0,'')

plan2868.activate

ENDIF

ELSE

d= MESSAGEBOX('Вы желаете удалить документ плана с изделием '+alltrim(p_ist_2868.izd)+', заказом '+ALLTRIM(p_ist_2868.zakaz),4+32,'Запрос на удаление')

IF d==6

SQLEXEC(nom_conn, " update plan_868 set tipzap=1 "+;

" where zakaz=?p_ist_2868.zakaz and id_dce=?p_ist_2868.id_dce and dat_vip=?p_ist_2868.srok")

MESSAGEBOX('Запись успешно удалена из базы',0,'')

plan2868.activate

ENDIF

endif

thisform.grid1.visible= .F.

thisform.grid2.visible= .t.

thisform.label6.visible= .F.

thisform.combo1.Visible= .F.

thisform.grid2.RecordSource='p_ist_2868'

thisform.grid2.column1.Width=120

thisform.grid2.column1.header1.caption='Изделие'

thisform.grid2.column1.header1.fontbold=.t.

thisform.grid2.column1.header1.backcolor=RGB(192,192,192)

thisform.grid2.column1.header1.forecolor=RGB(0,0,128)

thisform.grid2.column2.Width=180

thisform.grid2.column2.header1.caption='Обозн. изделия'

thisform.grid2.column2.header1.fontbold=.t.

thisform.grid2.column2.header1.backcolor=RGB(192,192,192)

thisform.grid2.column2.header1.forecolor=RGB(0,0,128)

thisform.grid2.column3.Width=75

thisform.grid2.column3.header1.caption='Заказ'

thisform.grid2.column3.header1.fontbold=.t.

thisform.grid2.column3.header1.backcolor=RGB(192,192,192)

thisform.grid2.column3.header1.forecolor=RGB(0,0,128)

thisform.grid2.column5.Width=57

thisform.grid2.column5.header1.caption='Комплект'

thisform.grid2.column5.header1.fontbold=.t.

thisform.grid2.column5.header1.backcolor=RGB(192,192,192)

thisform.grid2.column5.header1.forecolor=RGB(0,0,128)

thisform.grid2.column4.Width=80

thisform.grid2.column4.header1.caption='Срок выполн.'

thisform.grid2.column4.header1.fontbold=.t.

thisform.grid2.column4.header1.backcolor=RGB(192,192,192)

thisform.grid2.column4.header1.forecolor=RGB(0,0,128)

thisform.grid2.column6.Width=70

thisform.grid2.column6.header1.caption='Комп.в году'

thisform.grid2.column6.header1.fontbold=.t.

thisform.grid2.column6.header1.backcolor=RGB(192,192,192)

thisform.grid2.column6.header1.forecolor=RGB(0,0,128)

thisform.grid2.column7.Width=100

thisform.grid2.column7.header1.caption='Пользователь'

thisform.grid2.column7.header1.fontbold=.t.

thisform.grid2.column7.header1.backcolor=RGB(192,192,192)

thisform.grid2.column7.header1.forecolor=RGB(0,0,128)

thisform.grid2.column8.Width=80

thisform.grid2.column8.header1.caption='Дата кор.'

thisform.grid2.column8.header1.fontbold=.t.

thisform.grid2.column8.header1.backcolor=RGB(192,192,192)

thisform.grid2.column8.header1.forecolor=RGB(0,0,128)

thisform.label5.Caption='История'

gnActivate = 1

istoria=.t.

WAIT 'Подождите, идет выборка данных' WINDOW nowait

thisform.Caption='История изменения плана'

thisform.command3.Visible=.f.

thisform.command2.Visible=.f.

SQLEXEC( nom_conn, " select a.id_dce, a.izd_bd, a.obozn_dce,

b.zakaz,b.ms, "+;

" b.dat_vip, b.kt_god, b.surname, b.datecor "+;

" from v_iz a inner join plan_868 b on b.id_dce=a.id_dce "+;

" where b.id_dce=?plan_2868.id_dce and b.zakaz=?plan_2868.zakaz and b.tipzap=0"+;

" order by (substring(b.dat_vip,4,2)+substring(b.dat_vip,1,2))", 'cur')

GO TOP IN cur

ZAP IN p_ist_2868

SCAN

ms2=alltrim(str(val(substr(cur.ms,3,5))))

IF ALLTRIM(SUBSTR(cur.kt_god,1,2))=='00'

ktg=' '+alltrim(str(val(substr(cur.kt_god,3,5))))

ELSE

ktg=alltrim(substr(cur.kt_god,1,2))+' '+alltrim(str(val(substr(cur.kt_god,3,5))))

endif

INSERT INTO p_ist_2868 VALUES (cur.izd_bd, cur.obozn_dce, cur.zakaz, cur.dat_vip, ms2, ktg, cur.surname, cur.datecor,1,cur.id_dce)

ENDSCAN

GO top IN p_ist_2868

thisform.Refresh

thisform.grid2.SetFocus

thisform.grid2.AfterRowColChange

thisform.label3.Caption=alltrim(str(RECCOUNT('p_ist_2868')))

t3=role('868_write')

IF t3==1 OR rl_ow==1

thisform.command4.Enabled= .t.

thisform.command5.Enabled= .t.

ELSE

thisform.command4.Enabled= .f.

thisform.command5.Enabled= .f.

ENDIF

IF RECCOUNT('p_ist_2868')==0

thisform.command5.Enabled= .f.

thisform.command4.Enabled=.f.

endif

WAIT clear

istoria=.t.

Размещено на Allbest.ru


Подобные документы

  • Анализ использования автоматизированной системы управления материально-техническим снабжением и средств программирования. Разработка программы на языке Visual FoxPro, процесс ее работы и отладки. Мероприятия по технике безопасности при работе на ЭВМ.

    дипломная работа [1,0 M], добавлен 29.06.2012

  • Анализ, математическая постановка задачи. Описание алгоритма работы основной программы. Детализация отдельных участков программы. Графический интерфейс программы "15". Описания используемых типов, глобальных переменных, процедур, функций. Процесс отладки.

    курсовая работа [48,8 K], добавлен 14.02.2009

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

    дипломная работа [1,9 M], добавлен 24.03.2010

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

    курсовая работа [93,8 K], добавлен 11.02.2012

  • Понятие автоматизированной системы (АС). Обзор литературы, введение в базы данных. Назначение разработки, составные части программы. Программная и эксплуатационная документация, технико-экономическое обоснование проекта, характеристика программы.

    дипломная работа [759,6 K], добавлен 27.04.2009

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

    дипломная работа [3,2 M], добавлен 06.03.2010

  • Математическая постановка задачи. Обоснование выбора средств разработки. Входные и выходные данные работы программы. Решение задачи теста для написания и отладки программы. Описание программных модулей. Разработка алгоритма, анализ полученных результатов.

    курсовая работа [2,2 M], добавлен 13.12.2015

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

    дипломная работа [7,9 M], добавлен 24.03.2010

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

    реферат [457,1 K], добавлен 18.12.2012

  • Постановка задачи и математическое описание ее решения. Назначение программного обеспечения. Описание принятых идентификаторов. Выбор языка программирования и написание программы на входном языке. Методика отладки программы и проведение ее тестирования.

    курсовая работа [96,1 K], добавлен 25.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.