Описание
аномалии
|
Реакции
на аномалию
|
Способ
защиты
|
Попытка
перехода к следующей записи после окончания списка
|
Ввод
текстового сообщения без изменения структуры
|
Автоматически
защищено с помощью Access
|
Ввод
в числовые поля текстовых значений
|
Выводит
ошибку, при этом появляется звуковой сигнал без изменения содержимого поля
ввода
|
Защищено
с помощью Access автоматически
|
Ввод
в поля дата/время и денежные поля текстовых значений
|
Выводит
ошибку, при этом появляется звуковой сигнал без изменения содержимого поля
ввода
|
Защищено
с помощью Access автоматически
|
.4 Тестирование и отладка
На отладку и тестирование программ приходится
около 50% общей стоимости разработки программного обеспечения.
Тестирование - это процесс выполнения программы
с целью обнаружения в ней ошибок. Такое определение цели стимулирует поиск
ошибок в программах. Отсюда также ясно, что “удачным” тестом является такой, на
котором выполнение программы завершилось с ошибкой. Напротив, “неудачным можно
назвать тест, не позволивший выявить ошибку в программе.
Отладка - исправление ошибок, найденных с
помощью тестирования.
Основные принципы организации тестирования:
необходимой частью каждого теста должно являться
описание ожидаемых результатов работы программы, чтобы можно было быстро
выяснить наличие или отсутствие ошибки в ней;
следует по возможности избегать тестирования
программы ее автором, т.к. кроме уже указанной объективной сложности тестирования
для программистов здесь присутствует и тот фактор, что обнаружение недостатков
в своей деятельности противоречит человеческой психологии (однако отладка
программы эффективнее всего выполняется именно автором программы);
по тем же соображениям организация - разработчик
программного обеспечения не должна “единолично” его тестировать (должны
существовать организации, специализирующиеся на тестировании программных
средств);
должны являться правилом доскональное изучение
результатов каждого теста, чтобы не пропустить малозаметную на поверхностный
взгляд ошибку в программе;
необходимо тщательно подбирать тест не только
для правильных (предусмотренных) входных данных, но и для неправильных
(непредусмотренных);
при анализе результатов каждого теста необходимо
проверять, не делает ли программа того, что она не должна делать;
следует сохранять использованные тесты (для
повышения эффективности повторного тестирования программы после ее модификации
или установки у заказчика);
тестирования не должно планироваться исходя из
предположения, что в программе не будут обнаружены ошибки (в частности, следует
выделять для тестирования достаточные временные и материальные ресурсы);
следует учитывать так называемый “принцип
скопления ошибок”: вероятность наличия не обнаруженных ошибок в некоторой части
программы прямо пропорциональна числу ошибок, уже обнаруженных в этой части;
следует всегда помнить, что тестирование -
творческий процесс, а не относиться к нему как к рутинному занятию.
Существует два основных вида тестирования:
функциональное и структурное. При функциональном тестировании программа
рассматривается как “черный ящик” (то есть ее текст не используется).
Происходит проверка соответствия поведения программы ее внешней спецификации.
При структурном тестировании программа рассматривается как “белый ящик” (т.е.
ее текст открыт для пользования). Происходит проверка логики программы. Полным
тестированием в этом случае будет такое, которое приведет к перебору всех
возможных путей на графе передач управления программы (ее управляющем графе).
Даже для средних по сложности программ числом таких путей может достигать
десятков тысяч. Если ограничиться перебором только линейных не зависимых путей,
то и в этом случае исчерпывающее структурное тестирование практически
невозможно, т. к. неясно, как подбирать тесты, чтобы обеспечить “покрытие” всех
таких путей. Поэтому при структурном тестировании необходимо использовать
другие критерии его полноты, позволяющие достаточно просто контролировать их
выполнение, но не дающие гарантии полной проверки логики программы.
Хотя программа прошла тестирование успешно, в
ней, тем не менее, могут содержаться ошибки, т.к.
программа может не соответствовать своей внешней
спецификации, что в частности, может привести к тому, что в ее управляющем графе
окажутся пропущенными некоторые необходимые пути;
не будут обнаружены ошибки, появление которых
зависит от обрабатываемых данных (т.е. на одних исходных данных программа
работает правильно, а на других - с ошибкой).
. Анализ результатов решения
В соответствии с пунктом 4.4 Тестирование и
отладка производились непосредственно во время разработки проекта. После
завершения работы над программой было еще раз произведено полное тестирование.
Все найденные ошибки были успешно устранены.
Получившееся в результате программное приложение
удовлетворяет всем задачам, поставленным в пункте 1. Постановка задачи,
полностью работоспособно, не требует принципиальных доработок, и готов к
эксплуатации.
. Инструкция пользователю
Общие сведения о программе «Автоматизация учёта
заявок и контроля выполнения работ отделом информационных технологий ФГУЗ
клинической больницы №8 ФМБА России».
Данный программный продукт разработан для более
эффективной и быстрой работы с информацией о заявках и их предъявителях,
сотрудниках отдела информационных технологий, а так же для быстрого и удобного
формирования и обработки данных, вносимых в журнал заявок.
Программа позволяет:
Систематизировать необходимые данные о
предъявителе заявки и самой заявки;
Просматривать и обрабатывать данные, вносимых в
журнал заявок;
Формировать статистическую отчетность о
результатах работы отдела информационных технологий;
Достоинства программы «Автоматизация учёта
заявок и контроля выполнения работ отделом информационных технологий ФГУЗ
клинической больницы №8 ФМБА России»:
удобство и простота в эксплуатации (минимальные
навыки работы пользователя на ПК);
возможность внесения подробной информации о
причине поступления заявки, её выполнения и т.д.;
небольшой объём занимаемой памяти на HDD.
После запуска программного приложения на экране
появится форма «Автоматизация учёта заявок и контроля выполнения работ ОИТ»,
которая выглядит следующим образом:
Рис.4.
На панели меню представлены четыре вкладки. При
выборе меню «Главная форма» мы можем перейти на форму «Журнал заявок». При
выборе вкладки «Справочник» мы можем перейти на следующие формы: «Справочник
заявок», «Справочник по материалам», «Справочник вида работ», «Справочник мест
установок», «Справочник сотрудников ОИТ», «Справочник причин отказа»,
«Справочник по срочности замены». При выборе вкладки «Отчёт» мы можем открыть и
просмотреть, а также распечатать следующие отчёты: «Отчёт по временным периодам
поступления заявок», «Отчёт по временным периодам исполнения заявок», «Отчёт по
потребности в материалах», «Отчёт по затраченным средствам», «Отчёт-диаграмма».
При выборе вкладки «Помощь» можно получить «Справку», вкладку «О программе», а
также открыть и просмотреть «Информационную схему».
«Главная форма»
При нажатии на главной форме вкладки меню
«Главная форма» мы можем просмотреть форму «Журнал заявок»:
Рис.5.
Форма «Журнал заявок»
Рис.6.
Вы можете просматривать данные в журнале заявок,
нажав на копки ,
добавить нового врача, нажав на кнопку ,
удалить, нажав на кнопку и сохранить
внесенные изменения, .
Форма «Новая запись в журнале заявок»
Рис.7.
После заполнения формы мы нажимаем на кнопочку,
обновить, и запись добавляются в «Журнал заявок».
Нажав на вкладку «Справочник» мы видим:
Рис.8.
Форма «Справочник заявок»
Рис.9.
Вы можете просматривать данные о заявках, нажав
на копки
,
добавить нового врача, нажав на кнопку ,
удалить, нажав на кнопку и сохранить
внесенные изменения.
Форма «Справочник по материалам»
Рис.10.
Вы можете просматривать данные о материалах,
нажав на копки ,
добавить нового врача, нажав на кнопку ,
удалить, нажав на кнопку и сохранить
внесенные изменения, .
Форма «Новая запись в справочнике материалов»
Рис.11.
С помощью этой формы мы можем вводить новые
данные в ручную. После заполнения формы мы нажимаем на кнопочку, обновить, и
запись добавляются в «Справочник по материалам».
Форма «Справочник вида работ»
Рис.12.
Вы можете просматривать данные о видах работ,
нажав на копки ,
добавить нового врача, нажав на кнопку ,
удалить, нажав на кнопку и сохранить
внесенные изменения, .
Форма «Новая запись в справочнике вида работ»
Рис.13.
С помощью этой формы мы можем вводить новые
данные в ручную. После заполнения формы мы нажимаем на кнопочку, обновить, и
запись добавляются в «Справочник вида работ».
Форма «Справочник мест установок».
Рис.14.
Вы можете просматривать данные о местах
установок, нажав на копки ,
добавить нового врача, нажав на кнопку ,
удалить, нажав на кнопку и сохранить
внесенные изменения, .
Форма «Новая запись в справочнике мест
установок»
Рис.15.
С помощью этой формы мы можем вводить новые
данные в ручную. После заполнения формы мы нажимаем на кнопочку, обновить, и запись
добавляются в «Справочник мест установок».
Форма «Справочник сотрудников ОИТ»
Рис.16.
Вы можете просматривать данные о сотрудниках
ОИТ, нажав на копки ,
добавить нового врача, нажав на кнопку ,
удалить, нажав на кнопку и сохранить
внесенные изменения, .
Форма «Новая запись в справочнике сотрудников
ОИТ»
Рис.17.
С помощью этой формы мы можем вводить новые
данные в ручную. После заполнения формы мы нажимаем на кнопочку, обновить, и
запись добавляются в «Справочник сотрудников ОИТ».
Форма «Справочник причин отказа»
Рис.18.
Вы можете просматривать данные о причинах
отказа, нажав на копки ,
добавить нового врача, нажав на кнопку ,
удалить, нажав на кнопку и сохранить
внесенные изменения, .
Форма «Новая запись в справочнике причин отказа»
Рис.19.
С помощью этой формы мы можем вводить новые
данные в ручную. После заполнения формы мы нажимаем на кнопочку, обновить, и
запись добавляются в «Справочник причин отказа».
Форма «Справочник срочности замены»
Рис.20.
Вы можете просматривать данные о срочности
замены, нажав на копки ,
добавить нового врача, нажав на кнопку ,
удалить, нажав на кнопку и сохранить
внесенные изменения.
Нажав на вкладку «Отчёт» мы видим:
Рис.21.
Отчёт «По временным периодам поступления заявок»
Рис.22.
Отчёт «По временным периодам исполнения заявок»
Рис.23.
Отчёт «По потребности в материалах»
Рис.24.
Отчёт «Диаграмма по затраченным средствам»
Нажав на вкладку «Помощь» мы видим:
Рис.26.
Справка имеет вид:
Форма «О программе» имеет вид:
Рис.28.
Схема имеет следующий вид и позволяет
пользователю просмотреть информационную схему потока данных:
II.Экономическая часть
Экономический эффект заключается в экономии
рабочего времени сотрудника за счет внедрения программного продукта
«Автоматизация учёта заявок и контроля выполнения работ отделом информационных
технологий ФГУЗ клинической больницы №8 ФМБА России». При расчёте экономии с
необходимостью учитываются следующие виды работ:
составление записей в журнале заявок ;
поиск и составление информации о предъявителях
заявок и их исполнителях;
составление отчетных документов;
редактирование данных.
Для целесообразности внедрения данного
программного продукта необходимо подсчитать годовой экономический эффект от
внедрения этого программного продукта.
Расчет затрат на разработку.
Распределение трудоемкости по стадиям
разработки:
Таблица 1.
Этап
разработки
|
Содержание
работ
|
Трудоёмкость
час.
|
Постановка
задачи
|
Предпроектное
обследование. Разработка, согласование и утверждение технико-экономического
обоснования.
|
10
|
|
|
|
Технический
проект
|
Уточнение
структуры и формы представления входных и выходных данных. Разработка алгоритма
решения задачи. Разработка структуры программы. Разработка плана мероприятий
по разработке и внедрению ПП. Разработка пояснительной записки. Согласование
и утверждение технического проекта.
|
55
|
|
|
|
|
|
|
Рабочий
проект
|
Написание
программы на языке программирования. Первичная отладка программы.
Тестирование. Разработка, согласование и утверждение порядка и методики
испытаний. Корректировка программы.
|
85
|
Документооборот
|
Разработка
программной документации. Подготовка к сдаче программы и программной документации
|
30
|
ИТОГО:
|
|
180часов
|
|
|
|
Расчет затрат разработчика программного
продукта:
Коэффициент сложности задачи с - характеризует
относительную сложность программы по отношению к так называемой типовой задаче,
сложность которой принята равной единице (величина с лежит в пределах от 0,5 до
1,5). Для моего программного продукта сложность задачи берем 1,1; т.к. данный
программный продукт не является сложным.
= 1,1 - (коэффициент сложности программы)
Коэффициент коррекции программы p - увеличение
объема работ за счет внесения изменений в алгоритм или программу по результатам
уточнения постановок (величина р лежит в пределах от 0,1 до 0,5). Оптимальным в
данном проекте является среднее значение коэффициента коррекции,
соответствующие p =0,4, что объясняется неоднократными доработками и
корректировками программы, связанные с неточным описанием программы со стороны
заказчика.
= 0,4 - коэффициент коррекции программы в ходе
разработки.
Коэффициент увеличения затрат труда b,
вследствие недостаточного описания задачи, в зависимости от сложности задачи
принимается от 1 до 1,5. В связи с тем, что данная задача, потребовала
уточнения и больших доработок, примем b = 1,4.
Коэффициент квалификации разработчика k
определяется в зависимости от стажа работы и составляет:
для работающих до двух лет - 0,8;
от трех лет до пяти лет - 1,0;
от пяти до восьми - 1,2 ;
более восьми лет -1,5.
Поскольку стажа работы по специальности у меня
нет, возьмем k= 0,8.
Оклад программиста фирмы равен 12000 рублей
(З/П). С учётом использования коэффициентов заработной платы основная
заработная плата разработчика программного продукта составит:
З/П осн. = оклад *c*(p+1)*b*k = 12000 руб. * 1,1
* (1 + 0,4)*1,4*0,8 =20697,6 руб. в месяц.
За время разработки программного продукта
дополнительная заработная плата не выплачивалась.
Страховые взносы берутся в размере 34% от
основной и дополнительной заработной платы:
ФО=З/п осн *34%=20697,6 *34%=7037,18р. в месяц.
Итоговая заработная плата за весь период
разработки программного продукта (180-10 = 170 ч.) составит:
З/П общ = З/П осн + страховые взносы*170 / 176ч
= 20697,6 + 7037,18 * 180 / 176 = 27894,72 за весь период разработки
программного продукта.
Величина Оплаты труда сотрудника составит:
ЗП сум. = З/П осн+ Страховые взносы = 20697,6 +
7037,18 = 27734,78 руб.
Содержание и эксплуатация вычислительной техники
Свт = См-ч * Число часов отладки
где См-ч - стоимость машино-часа.
Для расчета часов отладки суммируем время 3
последних глав таблицы №1: технический проект + рабочий проект + документация и
внедрение.
Число часов отладки = 55час. + 85 час. + 30 час.
= 170 час.
Стоимость машино-часа рассчитывается, как сумма
составляющих:
(Ст-ть_эл_эн_в_год+Аморт
в_год+Затраты_на_ремонт_за_год)/Фвт
где Фвт - действительный фонд времени работы
вычислительного комплекса.
Стоимость 1 КВТ/час электроэнергии составляет: 5
руб.
Один компьютер потребляет в среднем 300 Вт в
час.
За год оплата за электроэнергию, потребляемую
одной ЭВМ, составляет:
ч. * 22 дня * 12 мес. * 0,3 КВт/ч. *5руб. = 3168
руб.
Программный продукт разрабатывался на
компьютере, который является собственностью ОФ ГОУ “Математический колледж”.
Т.к. до этого он уже использовался по назначению в течение более 4-х лет, мы не
будем производить расчет амортизации, т.к. срок полезного использования
компьютера составляет 4 года.
ПК был приобретен в декабре месяце 2007 года.
Стоимость компьютера составляет 21500 руб.
Стоимость ремонта ЭВМ= 21500 * 5% = 1075руб.
В год компьютер работает 2 112 часов, на его
ремонт уходит 5% времени, значит, окончательное время работы компьютера 2 006
часов в год.
Стоимость машинного- часа равна:
(3168 + 1075) / 2006 = 2,12руб.
Содержание и эксплуатация вычислительного
комплекса на время разработки программного продукта составляет:
час. * 2,12 руб. = 3604руб.
Легальная версия MS Office уже была установлена
на компьютере, следовательно, дополнительные затраты на программное обеспечение
не требуются.
Затраты на разработку программного продукта
приведены в таблице 2.
Таблица 2.
№
|
Наименование
расходов
|
Затраты,
руб.
|
1
|
Общая
заработная плата
|
27894,72
руб.
|
2
|
Страховые
взносы
|
7037,18
руб.
|
3
|
Содержание
и эксплуатация вычислительного комплекса.
|
3604
руб.
|
4
|
Программное
обеспечение
|
0
руб.
|
ИТОГО:
|
|
38535,9
руб.
|
Экономический эффект
Задача: узнать годовую экономию затрат; период
окупаемости продукта.
Рассчитаем экономический эффект, получаемый за
счет экономии рабочего времени сотрудника на введение необходимых данных после
внедрения программного продукта.
Для ведения расчетов введем следующие
обозначения:
Т1- время, затрачиваемое сотрудниками на поиск и
составление информации до внедрения программного продукта;
Т2- время, затрачиваемое на поиск и составление
после внедрения программного продукта.
До внедрения программы на то чтобы найти нужную
информацию о предъявителе заявки, составить запись на прием, в день сотрудник в
среднем тратил около 30 мин:
Т1 = 30 мин.
Количество выполняемых операций сотрудником
отдела информационных технологий равно 10.
После внедрения программы время сократится, и
будет составлять 20 мин. за счет автоматизации поиска необходимой информации о
предъявителе заявки и записи всей необходимой информации в журнал заявок:
Т2 = 20мин.
Нас интересует, сколько времени выигрывает отдел
информационных технологий, используя данное приложение.
Т=Т1-Т2=10 минут =0,166
Теперь рассчитаем стоимость работы сотрудника
автоматизируемого рабочего места. В месяц сотрудник работает (8 часов*22
рабочих дня) 176 часов.
Размер оклада сотрудника составляет 12000
рублей.
Стоимость 1 часа (Р), рассчитывается следующим
образом:
Р=12000 / 176 = 68,18 руб.
Учтем страховые взносы, которые берем в размере
34% = 0,34
Рфо = (12000*0,34 )/ 176=23,18
Рсумм = Р + Рфо = 68,18 + 23,18 = 91,36руб./час
Эту сумму сотрудник зарабатывает в 1 час работы.
Расчет годового экономического эффекта.
Перемножим выигранное время, количество
операций, количество рабочих дней в месяце и на количество рабочих месяцев
∆Тгод = (0,166*10)*22*12 = 438,24 часа.
Рассчитаем, сколько составит годовая экономия
при внедрении программного продукта:
Годовая экономия средств =∆Тгод* Рсумм =
438,24*91,36=40037,6 руб/год
Экономический эффект составляет величину, равную
годовой экономии средств за вычетом затрат.
Экономический эффект = 40037,6 - 38535,9 =
1501,7руб/год
Теперь посчитаем, через какой промежуток времени
окупится программный продукт:
Т= затраты/годовая экономия средств
=38535,9/40037,6 = 0,962 года
Данный программный продукт окупится менее чем за
год. Это нормальный срок окупаемости для автоматизации учёта заявок и контроля
выполнения работ отделом информационных технологий.
Заключение
В изложенной дипломной работе на тему
«Автоматизация учёта заявок и контроля выполнения работ отделом информационных
технологий ФГУЗ клинической больницы №8 ФМБА России» была реализована задача
разработки программного обеспечения, которое:
автоматизирует учёт получения и исполнения
заявок;
упрощает работу отдела информационных технологий
(формирование, заполнение и обработка сведений в журнале заявок с помощью
разработанного ПО);
хранение и сортировка (по дате, исполнителю,
предъявителю и т.п.) необходимой информации;
формирует отчетные формы.
Разработанная программа полностью соответствует
п. 1. «Постановка задачи».
Была произведена экономическая оценка
эффективности от внедрения программного продукта. Срок окупаемости составляет
0,96 года.
Гончаров
А. Ю. - Access 2003. Самоучитель с примерами - М.: КУДИЦ-ОБРАЗ, 2004.
Нильсен
Пол.,SQL Server 2005. Библия пользователя. “И.Д.Вильямс”,2008
Браст
Эндрю Дж., Форте С Разработка приложений на основе Microsoft SQL Server
2005.,Microsoft Press, 2009
Т.А.Павловская
- С# Программирование на языке высокого уровня. Учебник для вузов.
-СПб.:Питер,2007
Фролов
А.В., Фролов Г.В. Язык С#: Самоучитель. - М.Диалог-МИФИ,2010
Гуннерсон
Э.-Введение в С#.Библиотека программиста. - СПб.:Питер,2012
Приложение
Автоматизация учёта заявок и контроля выполнения
работ ОИТ
using
System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;System.Windows.Forms;Главная_форма
{partial class Form1 : Form
{Form1()
{();
}void журналЗаявокToolStripMenuItem_Click(object
sender, EventArgs e)
{aa = new Form2();.Show(this);
}void заявокToolStripMenuItem_Click(object
sender, EventArgs e)
{hh = new Form4();.Show();
}void поМатериаламToolStripMenuItem_Click(object
sender, EventArgs e)
{ii = new Form6();.Show();
}void видаРаботToolStripMenuItem_Click(object
sender, EventArgs e)
{jj = new Form7();.Show();
}void местУстановокToolStripMenuItem_Click(object
sender, EventArgs e)
{kk = new Form8();.Show();
}void сотрудниковОИТToolStripMenuItem_Click(object
sender, EventArgs e)
{ll = new Form9();.Show();
}void причинОтказаToolStripMenuItem_Click(object
sender, EventArgs e)
{mm = new Form10();.Show();
}void срочностиЗаменыToolStripMenuItem_Click(object
sender, EventArgs e)
{nn = new Form17();.Show();
}void оПрограммеToolStripMenuItem_Click(object
sender, EventArgs e)
{lk = new AboutBox1();.ShowDialog();
}
void поВременнымПериодамПолученияЗаявокToolStripMenuItem_Click(object
sender, EventArgs e)
{ROX = new Form19();.Show();
}void поВременнымПериодамИсполненияЗаявокToolStripMenuItem_Click(object
sender, EventArgs e)
{kol = new Form20();.Show();
}void поПотребностиВМатериалахToolStripMenuItem_Click(object
sender, EventArgs e)
{lom = new Form21();.Show();
}void диаграммаToolStripMenuItem_Click(object
sender, EventArgs e)
{pol = new Form22();.Show();
}void справкаToolStripMenuItem_Click(object
sender, EventArgs e)
{.ShowHelp(null, @"Справочка.chm");
}void схемаToolStripMenuItem_Click(object
sender, EventArgs e)
{.ShowHelp(null, @"СХЕМА.doc");
}
}
}void журнал_заявокBindingNavigatorSaveItem_Click(object
sender, EventArgs e)
{.Validate();.журнал_заявокBindingSource.EndEdit();.журнал_заявокTableAdapter.Update(this.СХЕМАSQLDataSet.Журнал_заявок);
}void UpdateDataGrid()
{
СХЕМАSQLDataSet.Clear();.журнал_заявокTableAdapter.Fill(this.СХЕМАSQLDataSet.Журнал_заявок);
}void Form2_Load(object sender,
EventArgs e)
{
// TODO: This line of code loads
data into the 'сХЕМАSQLDataSet.Журнал_заявок'
table. You can move, or remove it, as needed..журнал_заявокTableAdapter.Fill(this.СХЕМАSQLDataSet.Журнал_заявок);
}void toolStripButton1_Click(object
sender, EventArgs e)
{bb = new Form3();.ShowDialog(this);
}
}
}partial class Form3 : Form
{Form3()
{();
}void button2_Click(object sender,
EventArgs e)
{();
}void button1_Click(object sender,
EventArgs e)
{ СХЕМАSQLDataSetTableAdapters.QueriesTableAdapter
StopedProcedure = new Главная_форма.СХЕМАSQLDataSetTableAdapters.QueriesTableAdapter();
StopedProcedure.AddMagazine(iD_заявкиTextBox.Text,
Convert.ToString(фИО_предъявителя_заявкиTextBox.Text),
Convert.ToString(должность_предъявителя_заявкиTextBox.Text),
Convert.ToInt32(телефон_предъявителя_заявкиTextBox.Text),
Convert.ToString(e_mail_предъявителя_заявкиTextBox.Text),
Convert.ToString(адрес_предъявителя_заявкиTextBox.Text),
Convert.ToString(iD_вида_работTextBox.Text),
Convert.ToDateTime(дата_поступления_заявкиDateTimePicker.Text),
Convert.ToString(iD_места_установкиTextBox.Text),
Convert.ToString(iD_сотрудника_ОИТTextBox.Text),
iD_материала_для_установкиTextBox.Text.ToString(),
Convert.ToString(iD_причины_отказаTextBox.Text),
Convert.ToString(iD_срочности_заменыTextBox.Text),
Convert.ToDateTime(дата_исполнения_заявкиDateTimePicker.Text));aa
= (Form2)this.Owner;.UpdateDataGrid();
}void button3_Click(object sender,
EventArgs e)
{jj = new Form7();.ShowDialog(this);
}void button4_Click(object sender,
EventArgs e)
{kk = new Form8();.ShowDialog(this);
}void button5_Click(object sender,
EventArgs e)
{ll = new Form9();.ShowDialog(this);
}void button6_Click(object sender,
EventArgs e)
{ii = new Form6();.ShowDialog(this);
}void button7_Click(object sender,
EventArgs e)
{mm = new
Form10();.ShowDialog(this);
}void button8_Click(object sender,
EventArgs e)
{nn = new
Form11();.ShowDialog(this);
}void button9_Click(object sender,
EventArgs e)
{ol = new
Form18();.ShowDialog(this);
}
}partial class Form4 : Form
{Form4()
{();
}void справочник_заявокBindingNavigatorSaveItem_Click(object
sender, EventArgs e)
{.Validate();.справочник_заявокBindingSource.EndEdit();
this.справочник_заявокTableAdapter.Update(this.сХЕМАSQLDataSet.Справочник_заявок);
}void Form4_Load(object sender,
EventArgs e)
{
// TODO: This line of code loads data
into the 'сХЕМАSQLDataSet.Справочник_заявок'
table. You can move, or remove it, as needed..справочник_заявокTableAdapter.Fill(this.сХЕМАSQLDataSet.Справочник_заявок);
}
}
}partial class Form10 : Form
{Form10()
{();
}void справочник_причин_отказаBindingNavigatorSaveItem_Click(object
sender, EventArgs e)
{.Validate();.справочник_причин_отказаBindingSource.EndEdit();
this.справочник_причин_отказаTableAdapter.Update(this.сХЕМАSQLDataSet.Справочник_причин_отказа);
}void Form10_Load(object sender,
EventArgs e)
{
// TODO: This line of code loads
data into the 'сХЕМАSQLDataSet.Справочник_причин_отказа'
table. You can move, or remove it, as needed. this.справочник_причин_отказаTableAdapter.Fill(this.сХЕМАSQLDataSet.Справочник_причин_отказа);
}void справочник_причин_отказаDataGridView_CellMouseClick(object
sender, DataGridViewCellMouseEventArgs e)
{row = this.справочник_причин_отказаDataGridView.CurrentCellAddress.Y;bb
= (Form3)this.Owner;.iD_причины_отказаTextBox.Text
= this.справочник_причин_отказаDataGridView.Rows[row].Cells[1].Value.ToString();();
}void toolStripButton1_Click(object
sender, EventArgs e)
{nb = new
Form16();.ShowDialog(this);
}void DataGridView4_Refresh()
{ сХЕМАSQLDataSet.Clear();
this.справочник_причин_отказаTableAdapter.Fill(this.сХЕМАSQLDataSet.Справочник_причин_отказа);
}
}
}partial class Form15 : Form
{Form15()
{();
}void button2_Click(object sender,
EventArgs e)
{();
}void button1_Click(object sender,
EventArgs e)
{
СХЕМАSQLDataSetTableAdapters.QueriesTableAdapter
StopedProcedure = new Главная_форма.СХЕМАSQLDataSetTableAdapters.QueriesTableAdapter();
StopedProcedure.AddSotrudnik(Convert.ToInt32(iD_сотрудника_ОИТTextBox.Text),
фИОTextBox.Text.ToString(),
должностьTextBox.Text.ToString(),
Convert.ToInt32(телефонTextBox.Text),_mailTextBox.Text.ToString(),
адресTextBox.Text.ToString(),
Convert.ToInt32(отвечает_за_неисправности_отделовTextBox.Text));ll
= (Form9)this.Owner;.DataGridView3_Refresh();
}
}
}partial class Form17 : Form
{Form17()
{();
}void справочник_по_срочности_заменыBindingNavigatorSaveItem_Click(object
sender, EventArgs e)
{ this.Validate();.справочник_по_срочности_заменыBindingSource.EndEdit();
this.справочник_по_срочности_заменыTableAdapter.Update(this.сХЕМАSQLDataSet.Справочник_по_срочности_замены);
}void Form17_Load(object sender, EventArgs e)
{ // TODO: This line of code loads
data into the 'сХЕМАSQLDataSet.Справочник_по_срочности_замены'
table. You can move, or remove it, as needed. this.справочник_по_срочности_заменыTableAdapter.Fill(this.сХЕМАSQLDataSet.Справочник_по_срочности_замены);
}
}partial class Form22 : Form
{Form22()
{();
}void Form22_Load(object sender,
EventArgs e)
{.reportViewer1.RefreshReport();
}
}
}