Uploaded by Алекс О.

194252

advertisement
Размещено на http://www.allbest.ru/
Введение
Цель
данного
дипломного
проекта
является
разработка
автоматизированной информационной системы (АИС) для учета и контроля
выполнения ремонтных работ оргтехники (ОТ), и предоставления услуг по
разработке
программного
обеспечения
компании
«МегионСофтОйл»
Тюменской области, Ханты-Мансийского автономного округа – Югра,
Нижневартовского района, города Мегион.
Для эффективной работы на компьютере существует большое число
периферийных устройств (принтер, сканер, МФУ и т.д.), которые, как и вся
компьютерная техника требует технического обслуживания, ремонта, замены
расходных материалов и т.д. В связи с ростом заказов на проведение
технического обслуживания в компании «МегионСофтОйл», возникла
необходимость автоматизации учета и контроля выполнения заказов
клиентов.
Основными преимуществами автоматизации деятельности компании
«МегионСофтОйл» являются:
―
Повышение
конкурентоспособности
(Заказы
клиентов
обрабатываются быстрее, а также повышается качество и уровень работы с
клиентами.)
―
Повышение производительности труда (Работа сотрудников
разных отделов происходит в едином информационном пространстве, за счёт
чего устраняется необходимость многократного ввода одной и той же
информации.)
―
Повышение финансовой управляемости (Система позволяет
накапливать и анализировать информацию для задач управленческого учёта.)
―
Повышение оперативной управляемости (Система позволяет
вести детализированный учёт и анализ информации о текущей деятельности
предприятия.)
Размещено на http://www.allbest.ru/
Разрабатываемая информационная система (ИС) должна представлять
собой базу данных, позволяющую вести учет и контроль выполнения
ремонтных работ оргтехники, а также должна обладать удобным и простым
для восприятия интерфейсом и справочной системой.
Разработка
системы
стандартных методологий
информационного
выполняться
в
должна
функционального
моделирования
рамках
осуществляться
IDEF1Х.
стандартов,
с
использованием
моделирования
Моделирование
поддерживаемых
IDEF0 и
должно
программными
средствами моделирования ERWin 4.0 и BPWin 4.0. Для работы с БД должен
использоваться язык запросов SQL в рамках стандарта ANSI SQL-92. Для
разработки пользовательского интерфейса Windows-приложения должна
использоваться визуальная среда программирования Borland Delphi 2010 и
объектно-ориентированный язык программирования Object Pascal. Для
доступа к данным, хранящимся в таблицах MS Access, требуется
использование наиболее передовой технологии доступа к данным –
технологии Microsoft ADO.
автоматизированный информационный ремонтный программный
Размещено на http://www.allbest.ru/
Характеристика (описание) объекта автоматизации. Техникоэкономическая характеристика предприятия
Компания ООО «МегионСофтОйл» зарегистрирована 8 апреля 2010
года. Генеральный директор организации – Григорьев Александр Сергеевич.
Компания ООО «МегионСофтОйл» находится по адресу 628680, Тюменская
область, Ханты-Мансийский автономный округ - Югра, г. Мегион, ул.
Кузьмина, д. 34, стр. 11Б, основным видом деятельности является разработка
программного обеспечения (ПО) и консультирование в этой области [1] .
Организационно-правовая
форма:
Общество
с
ограниченной
ответственностью.
Вид собственности: Частная собственность.
Тип компании: Организации, учрежденные юридическими лицами или
юридическими лицами и гражданами.
Общество
с
ограниченной
ответственностью
«МегионСофтОйл»
занимается разработкой, внедрением и сопровождением программного
обеспечения, а также предоставляет ряд дополнительных услуг по
техническому
обслуживанию
копировально-множительной
и
вычислительной техники.
К
дополнительным
услугам
по
техническому
обслуживанию
оргтехники относятся следующие виды услуг:
―
Ремонт копировально-множительной и вычислительной техники
(замена узлов устройства).
―
Профилактические
работы
(чистка
узлов
без
разборки
устройства).
―
Диагностика деталей.
―
Консультации и советы по дальнейшей эксплуатации техники.
Компания «МегионСофтОйл» проводит работы по техническому
обслуживанию копировально-множительной и вычислительной техники
ведущих мировых производителей, таких как: Samsung, Dell, Epson, Canon,
Размещено на http://www.allbest.ru/
IBM, Toshiba, Xerox и др. В распоряжении компании имеется фирменная
техническая
документация,
для
выполнения
ремонта
используются
оригинальные запасные части.
Работы
по
устранению
неисправностей
оргтехники
проводятся
сертифицированными специалистами, как в мастерской компании, так и в
офисе клиента. Клиентами компании являются частные предприятия и
организации
города
и
области,
деятельность
которых
связана
с
использованием оргтехники. Взаимоотношения с клиентами строятся на
основе двусторонних соглашений, в которых оговариваются все аспекты
взаимодействия сторон. В оперативном плане взаимодействие между
компанией и клиентами, с которыми заключено соглашение, осуществляется
через оператора диспетчерской службы компании, путем подачи заявки на
разработку программного обеспечения либо проведения ремонтных работ
оргтехники по телефону, электронной почте или факсу.
Главной
долгосрочной
стратегической
целью
компании
«МегионСофтОйл» является достижение желаемого уровня стоимости
предприятия. Среднесрочные цели направлены на обеспечение устойчивости
и динамичного развития компании в соответствии с принятой долгосрочной
стратегией и предполагают:
―
Увеличение доли рынка за счет рекламных мероприятий.
―
Повышение уровня сервиса обслуживания клиентов.
―
Повышение квалификации технического персонала компании.
―
Увеличение ассортимента предоставляемых услуг
―
Расширение модельного ряда обслуживаемой оргтехники.
К настоящему моменту компания «МегионСофтОйл» имеет все
необходимые ресурсы и условия для интенсивного роста и развития.
Размещено на http://www.allbest.ru/
Организационная структура и кадровый состав предприятия
Общее руководство производственно-хозяйственной и финансовоэкономической
деятельностью
компанией
«МегионСофтОйл»
осуществляется генеральным директором компании, который несет всю
полноту
ответственности
за
последствия
принимаемых
решений,
сохранность и эффективное использование имущества предприятия, а также
финансово-хозяйственные результаты его деятельности. В состав компании
входят следующие подразделения:
―
Отдел разработки и сопровождения программного обеспечения.
―
Технический отдел.
―
Диспетчерская служба.
―
Бухгалтерия.
Организационная
структура
управления
компании
ООО
«МегионСофтОйл» представлена схемой (См. рис. 2.1).
Рисунок 2.1 – Схема общей организационной структуры управления
Руководство
всеми
подразделениями
компании
осуществляется
непосредственно генеральным директором, который лично принимает на
работу и увольняет с работы сотрудников подразделений компании. Отдел
разработки
и
сопровождения
программного
обеспечения
является
структурным подразделением компании «МегионСофтОйл» и выполняет
следующие функции и задачи:
―
Разработка
политики
модернизации
и
производственно-торговых процессов клиентов компании.
автоматизации
Размещено на http://www.allbest.ru/
―
Подготовка пакета технической документации для разработки
―
Проектирование и разработка программного обеспечения.
―
Проведение
ПО.
предварительного
тестирования
программного
обеспечения.
―
Разработка пакета технической документации по установке ПО и
руководства администратора.
―
Внедрение и сопровождение программного обеспечения.
―
Разработка и внедрение корпоративной политики безопасности.
―
Поддержка пользователей и офисных приложений.
Отдел разработки и сопровождения программного обеспечения
осуществляет свою деятельность во взаимодействии с другими отделами
компании «МегионСофтОйл». Обязанности работников Отдела разработки и
сопровождения ПО определяются должностными инструкциями.
Технический отдел компании является самостоятельным структурным
подразделением и выполняет следующие функции и задачи:
―
Техническое обслуживание оргтехники и проведение ремонтных
работ по устранению неполадок.
―
Проведение периодических профилактических мероприятий по
поддержанию техники в рабочем состоянии.
―
Планирование и развитие компьютерной сети компании, каналов
связи.
―
Внедрение и администрирование ЛВС на основе Windows 2000
Server Pro.
―
Консультирование клиентов (в том числе телефонное) по
техническим вопросам.
―
Поддержание парка технического оборудования компании в
рабочем состоянии.
Работа диспетчерской службы возложена на оператора, который
выполняет следующие функции и задачи:
Размещено на http://www.allbest.ru/
―
Регистрация и учет заявок от клиентов компании на разработку
ПО и проведения ремонтных работ оргтехники.
―
Контроль исполнения заявок клиентов от клиентов компании на
разработку ПО и проведения ремонтных работ оргтехники.
―
Контроль
соблюдения
графика
работ
по
разработке
программного обеспечения.
―
Информирование клиентов о завершении проведения ремонтных
работ.
―
Формирование и учет сопроводительной документации.
―
Формирование и предоставление руководству установленной
отчетности о работе подразделений.
Деятельность диспетчерской службы позволяет значительно повысить
производительность
управленческого
труда,
нормы
управляемости
и
эффективность управления компанией.
Бухгалтерия
компании
«МегионСофтОйл»
осуществляет
бухгалтерский и налоговый учет предприятия, а также выполняют
следующие функции:
―
проведение кассовых операций;
―
контроль ценовой политики и системы скидок предприятия;
―
учет и начисление заработной платы сотрудников.
Кадровый
состав
компании
«МегионСофтОйл»
–
это
квалифицированные специалисты (инженеры и программисты), проходящие
систематическое обучение и обладающие достаточным опытом работы.
Размещено на http://www.allbest.ru/
Информационные потоки предприятия
Под
информационным
потоком
понимают
совокупность
циркулирующих внутри предприятия, а также между предприятием и
внешней средой сообщений, сопровождающих материальный поток.
Система информационных потоков предприятия – это совокупность
физических
перемещений
информации,
которая
дает
возможность
осуществить какой-либо процесс или реализовать решение. Наиболее общая
система информационных потоков предприятия – это сумма потоков
информации,
которая
позволяет
предприятию
вести
финансово-
хозяйственную деятельность.
Результаты анализа информационных потоков предприятия могут быть
использованы
для
стратегического
и
тактического
планирования
деятельности предприятия и улучшения информационного менеджмента.
Информационные потоки компании «МегионСофтОйл» представлены
схемой (См. рис. 2.2), которая отображает информационные потоки между
компанией и внешней средой, а также между подразделениями компании.
Рисунок 2.2 – Схема информационных потоков компании
Размещено на http://www.allbest.ru/
Информационный обмен между компанией и внешней средой, а также
между подразделениями компании «МегионСофтОйл» осуществляется двумя
способами передачи информации:
Заявку на разработку ПО или проведение технического обслуживания
оргтехники клиент может подать устно. Предварительно клиент имеет
возможность получить устную консультацию от оператора компании, о
представляемых услугах и ценах. При передаче техники в ремонт
формируется и выдается клиенту акт приема-передачи техники, который
содержит следующую информацию:
―
Серийный номер техники.
―
Наименование и марка техники.
―
Дату приема-передачи техники.
На основании заявки на проведение диагностических работ по
выявлению дефектов оргтехники, на фирменном бланке формируется
соответствующий наряд, который направляется в технический отдел
компании и содержит следующую информацию:
―
Серийный номер техники.
―
Наименование и марка техники.
―
Дату приема-передачи техники.
―
Список технических работ, которые необходимо выполнить.
После
проведения
диагностических
работ
по
выявлению
неисправностей оргтехники, на основании выявленных дефектов, оператором
технического отдела компании «МегионСофтОйл» формируется дефектная
ведомость, которая содержит следующую информацию:
―
Серийный номер техники.
―
Наименование и марка техники.
Размещено на http://www.allbest.ru/
―
Дату приема-передачи техники.
―
Ф.И.О. инженера по ремонту оргтехники, который провел
диагностику.
―
Дату окончания проведения диагностических работ.
―
Список выявленных дефектов.
―
Список узлов оргтехники, подлежащих замене.
―
Список технических работ, которые необходимо выполнить для
устранения выявленных неполадок.
―
Стоимость проведения ремонта.
―
Стоимость необходимых для ремонта узлов.
―
Общая стоимость технического обслуживания.
После подтверждения клиентом необходимости проведения ремонта
начинается выполнение ремонтных работ. На момент окончания ремонтных
работ
оформляется
выполнение.
Данный
акт
выполненных
документ
работ,
отражает
факт
заявленных
завершения
ранее
на
ремонта
оборудования по заявке клиента и содержит следующую информацию:
―
Серийный номер техники.
―
Наименование и марка техники.
―
Дату начала ремонта.
―
Ф.И.О. инженера по ремонту оргтехники, который выполнил
ремонт.
―
Список устраненных дефектов.
―
Список замененных узлов оргтехники.
―
Список выполненных технических работ.
―
Дату окончания ремонта и выдачи техники клиенту.
―
Стоимость проведения ремонта.
―
Стоимость замененных узлов.
―
Общая стоимость технического обслуживания.
Размещено на http://www.allbest.ru/
Заявленная данным документом сумма, оплачивается клиентом в
бухгалтерии компании «МегионСофтОйл». На основании оплаченного акта
выполненных работ, клиенту выдается отремонтированная оргтехника.
Процесс выполнения заявки на разработку программного обеспечения
включает следующие этапы:
―
Проектирование.
―
Разработка.
―
Тестирование.
―
Внедрение.
―
Сопровождение.
В начале каждого этапа составляется график работ, который
предоставляется клиенту. Все документы сопровождающие проведение
технического обслуживания оргтехники (акт приема-передачи техники,
дефектная ведомость, акт выполненных работ) и разработки программного
обеспечения оформляются на фирменных бланках, в форме установленной
руководством
компании
«МегионСофтОйл».
Ежедневный
обмен
информацией между подразделениями компании осуществляется в виде
нарядов на проведение работ, а также отчетов о результатах работы.
Директору компании «МегионСофтОйл» предоставляется ежемесячная
отчетность в виде отчетов о результатах работы подразделений компании.
Бухгалтерия формирует налоговую и бухгалтерскую отчетность согласно
действующему законодательству РФ.
Анализ существующих бизнес-процессов предприятия
Для проведения анализа и реорганизации бизнес-процессов компании
«МегионСофтОйл», целесообразно использование такого CASE-средства, как
BPwin, поддерживающее методологию IDEF0 (функциональная модель).
Функциональная модель предназначена для описания существующих бизнеспроцессов на предприятии или идеального положения вещей – того, к чему
Размещено на http://www.allbest.ru/
нужно
стремиться.
Методология
предписывает
IDEF0
построение
иерархической системы диаграмм – единичных описаний фрагментов
системы.
В
IDEF0
система
представляется
как
совокупность
взаимодействующих работ или функций. Такая чисто функциональная
ориентация является принципиальной – функции системы анализируются
независимо от объектов, которыми они оперируют. Это позволяет более
четко смоделировать логику и взаимодействие процессов организации.
Модель,
созданная
средствами
BPwin,
позволяет
четко
документировать различные аспекты деятельности – действия, которые
необходимо предпринять, способы их осуществления, требующиеся для
этого ресурсы и др. Таким образом, формируется целостная картина
деятельности предприятия – от моделей организации работы в маленьких
отделах до сложных иерархических структур. Модели BPwin дают основу
для осмысления бизнес-процессов и оценки влияния тех или иных событий, а
также описывают взаимодействие процессов и потоков информации в
организации. Неэффективная или избыточная деятельность может быть легко
выявлена и, следовательно, усовершенствована, изменена или устранена в
соответствии с общими целями организации [2].
Таким образом, для выявления последовательности действий при
выполнении основных бизнес-процессов компании, средствами BPwin была
построена модель A – 0 деятельности компании «МегионСофтОйл» по
разработке
программного
обеспечения
и
проведения
технического
обслуживания оргтехники (См. рис. 2.3). Данная контекстная диаграмма
содержит только одну работу (бизнес-процесс), которая представляет всю
деятельность компании «МегионСофтОйл».
Размещено на http://www.allbest.ru/
Рисунок 2.3 – Контекстная диаграмма
Декомпозиция – это разделение сложного объекта, системы, задачи на
составные части, элементы. Построенная диаграмма декомпозиции первого
уровня A0 (См. рис.2.4) показывает, из каких более мелких работ состоит
работа
«Деятельность
компании
«МегионСофтОйл»
по
разработке
программного обеспечения и проведению технического обслуживания
оргтехники».
Рисунок 2.4 – Диаграмма декомпозиции A0
Анализируя составленные схемы, можно выделить следующие потоки
входящей информации (стрелки слева):
―
Заявка
на
разработку
ПО:
заявки
клиентов
«МегионСофтОйл» на разработку программного обеспечения.
компании
Размещено на http://www.allbest.ru/
―
Заявка на проведение ТО оргтехники: заявки клиентов компании
«МегионСофтОйл» на проведение технического обслуживания оргтехники.
―
Неисправная оргтехника: оргтехника, требующая проведения
технического обслуживания для устранения неполадок.
―
Оригинальные запасные части: оригинальные узлы техники,
необходимые для проведения ремонта неисправной оргтехники.
Выделенные потоки результатной информации, которые представлены
стрелками справа на диаграмме A0:
―
Акт
выполненных
работ:
документы,
подтверждающие
завершение проведения ремонтных работ или работ по разработке
программного обеспечения и регламентирующие окончательную стоимость
проведенных работ.
―
Акт приема-передачи ОТ: документы, подтверждающие прием
(передачу) оргтехники для проведения технического обслуживания.
―
Дефектная ведомость: документы, регламентирующие список
необходимых запасных частей и работ для устранения неисправностей
оргтехники.
―
Оргтехника: отремонтированная копировально-множительная и
вычислительная техника.
―
Отчет о результатах работы: документы, отражающие результаты
и анализ работы подразделений компании «МегионСофтОйл».
―
Программный продукт: разработанный, согласно заявке клиента,
программный продукт, для автоматизации деятельности клиента.
―
Техническая и эксплуатационная документация: документы
регламентирующие
руководство
пользователя
и
программиста,
разработанного программного обеспечения.
Механизмы управления бизнес-процессами (представлены стрелками
сверху на диаграмме A0):
―
Корпоративные правила работы с клиентами: установленные
правила и инструкции работы с клиентами компании «МегионСофтОйл».
Размещено на http://www.allbest.ru/
―
Стандарт жизненного цикла ПО ГОСТ Р ИСО/МЭК 12207-99:
установленные правила, которые регламентируют стадии и этапы разработки
программного обеспечения.
―
Техническая документация по ремонту ОТ: руководства по
ремонту и эксплуатации оргтехники.
―
Установленная форма документов и отчетов: утвержденные
руководством компании «МегионСофтОйл» формы сопроводительных
документов и выходных отчетов.
Механизмы выполнения бизнес-процессов (представлены стрелками
снизу на диаграмме A0):
―
клиентов
Журнал учета: журнал для учета и контроля выполнения заявок
компании
«МегионСофтОйл»
на
разработку
программного
обеспечения и проведение технического обслуживания оргтехники.
―
Инженеры
по
ремонту
ОТ:
специалисты
компании
«МегионСофтОйл», выполняющие техническое обслуживание оргтехники.
―
Оператор
диспетчерской
службы:
сотрудник
компании
«МегионСофтОйл», выполняющий регистрацию и учет заявок клиентов,
координацию работы подразделений компании и контроль соблюдения
графика работ.
―
Программисты:
специалисты
компании
«МегионСофтОйл»,
выполняющие разработку программного обеспечения и формирование
сопроводительной технической и эксплуатационной документации.
Внутренние информационные потоки (представлены стрелками внутри
диаграммы):
―
График работ: документы, регламентирующие мероприятия,
которые необходимо провести для разработки программного обеспечения.
―
Наряд на проведение работ: документы, регламентирующие
мероприятия
необходимые
«МегионСофтОйл».
для
выполнения
сотрудниками
компании
Размещено на http://www.allbest.ru/
―
Отчет о проведении диагностических или ремонтных работ:
документы, подтверждающие факт выполнения диагностических или
ремонтных работ.
―
Отчет
подтверждающие
о
проведении
факт
завершения
разработки
этапа
ПО:
разработки
документы,
программного
обеспечения.
Обоснование необходимости автоматизации и постановка задачи
На данном этап регистрация, учет и контроль выполнения заявок
клиентов компании «МегионСофтОйл» ведется с помощью журнала учета
выполненных
работ.
Технология
«бумажного»
и
«частично
автоматизированного» ведения учета деятельности предприятия выражается
в неэффективной организации деловых процессов, связанных с деятельность
компании
и
несоответствии
современным
требованиям
управления
организациями подобного типа. К тому же, ручное составление и
оформление
отчетов
о
результатах
деятельности
подразделений
и
формирование сопроводительной документации приводит к замедлению
документооборота компании, а, как известно, документооборот является
очень важным процессом деятельности любой организации.
Большие объемы ручной обработки информации сотрудниками
компании «МегионСофтОйл» при выполнении основных бизнес-процессов
приводят к следующим проблемам:
―
Некорректный учет и контроль исполнения заявок клиентов на
разработку ПО или проведение ТО оргтехники.
―
Замедление формирования сопроводительной документации.
―
Некорректный расчет стоимости проведенных работ.
―
Отсутствие координации работы подразделений компании и
контроля
соблюдения
обеспечения.
графика
работ
по
разработке
программного
Размещено на http://www.allbest.ru/
―
Некорректное формирование отчетов о результатах деятельности
подразделений компании.
―
Затруднение поиска информации и скорости оперативности при
оказании информационно-справочных услуг клиентам о состоянии заявок.
―
Некорректный анализ деятельности компании.
В процессе анализа проблем и недостатков существующей системы
управления в компании «МегионСофтОйл» была поставлена задача о
проектировании и разработке автоматизированной информационной системы
для учета заявок клиентов, а также контроля выполнения ремонтных работ
оргтехники и соблюдения графика работ при разработке программного
обеспечения.
Разрабатываемая
информационная
система
должна
автоматизировать весь спектр задач оператора диспетчерской службы
компании «МегионСофтОйл», возникающих при работе с клиентами, учета
заявок и формировании сопроводительной документации и необходимой
отчетности.
Таким образом, разрабатываемая информационная система должна
автоматизировать выполнение следующих функций:
―
Регистрация и учет заявок клиентов на разработку ПО или
проведение ТО оргтехники.
―
Формирование документа «Акт приема-передачи ОТ».
―
Формирование документа «Дефектная ведомость».
―
Контроль выполнения ремонтных работ.
―
Расчет стоимости выполненных ремонтных работ.
―
Формирование документа «Акт выполненных работ».
―
Формирование графика работ по разработке программного
обеспечения.
―
Контроль соблюдения графика работ.
―
Оперативный поиск и предоставление информации о состоянии
заявки клиента.
Размещено на http://www.allbest.ru/
―
Формирование
отчетов
о
результатах
деятельности
подразделений компании.
Автоматизация вышеперечисленных функций позволит повысить
качество обработки информации и обеспечит поддержку принятия решений
на всех уровнях управления, что приведет к увеличению прибыли компании.
Обзор существующих решений автоматизации задачи. АИС «IT
Invent»
IT Invent – это автоматизированная информационная система для учета
компьютеров, принтеров, программ и комплектующих, а также учет
ремонтов
и
обслуживаний,
работ
по
поддержке
техники,
заказов
поставщикам, поступлений и перемещений оборудования, учет контрагентов,
сотрудников и многое другое.
IT Invent – это гибкая и настраиваемая система, которая обладает
интуитивно понятным интерфейсом и имеет следующие функциональные
возможности:
―
Разделение учетных конфигурационных единиц на 5 базовых
классов:
1)
Оборудование (компьютеры, принтеры, оргтехника, сетевое
оборудование и т.д.).
2)
Программы (коробочный софт и номера лицензий).
3)
Комплектующие (память, DVD, картриджи, сим-карты и т.д.).
4)
Расходные материалы (бумага, канцелярия, флешки, кабель,
тонер и т.д.).
5)
Инвентарь (хозяйственные материалы, мебель, спецодежда,
пожарное оборудование, служебные автомобили и т.д.).
―
Автоматическая
генерация
и
закрепление
уникального
инвентарного номера за каждым оборудованием или комплектующим.
Размещено на http://www.allbest.ru/
Позволяет вести уникальный учет даже тех устройств, у которых нет своего
серийного номера.
―
Уникальная система создания и печати инвентарных этикеток.
Поддерживается печать на два типа принтеров: на обычные лазерные
принтеры (формат А4), на принтеры штрих-кодов (например Zebra, Godex и
т.п.). Встроенный в программу редактор этикеток, позволяет настроить
внешний вид этикетки со штрих-кодом по любым параметрам.
―
Каждая учетная единица содержит жестко закрепленные за ней
свойства, со всей необходимой информацией и связями. Помимо этого
существует возможность добавлять и настраивать свои собственные свойства
различных типов. Дополнительные свойства могут быть следующих типов:
текст, число, дата, логическое да/нет, цвет, ссылка, деньги, список,
множественный выбор.
―
Ведение истории изменений ключевых полей всех типов учетных
единиц. Помимо ключевых полей, система записывает имя оператора, дату и
время изменения. Ко всем ключевым изменениям можно указывать
комментарий, который так же записывается в историю. При автоматических
изменениях система сама добавляет комментарии.
―
Учет ремонтов и профилактических обслуживаний объектов
учета. Удобная фильтрация по полю «Гарантия До» позволяет легко
контролировать гарантийные сроки на приобретенное оборудование.
―
Учет любых видов работ в организации (например: внутренний
ремонт, выдача оборудования, инвентаризация и т.п.). Работы могут иметь
связь со всеми видами объектов учета. Для работ настраиваются их Виды и
Дополнительные Свойства.
―
Логическое
связывание
программ
и
комплектующих
с
оборудованием. Например, программа «MS Office», а также комплектующие
«память» и «жесткий диск» могут быть привязаны к оборудованию
«Компьютер». Логика связывания не ограничена - любой объект может быть
связан с любым объектом любого типа.
Размещено на http://www.allbest.ru/
―
Учет заказов поставщикам. Можно формировать заказы на
любые объекты учета и затем оприходовать их с автоматическим
добавлением объектов заказа в базу данных.
―
Все объекты учета можно закреплять за ответственными
сотрудниками с разбиением на отделы и филиалы. Данная функция
позволяет легко отследить владельцев мобильного оборудования, составить
бюджет отдела (спланировать потребность в необходимом количестве
расходных материалов на определённый период, комплектующих для резерва
на случай возможных отказов).
―
Ведение базы поставщиков, сервисных организаций и прочих
контрагентов. В базе хранится полная контактная информация. Используя
информацию из базы данных можно проанализировать историю работы с
поставщиками, оценить перспективу, составить планы на будущее.
―
Удобные функции фильтров и группировки информации в
таблицах. Группируя данные по выбранным полям, вы можете очень быстро
оценивать количество и состав содержимого в группах.
―
Большое количество встроенных отчетов с возможностью
редактирования.
―
Экспорт данных из таблиц в форматы Excel, Word, PDF, HTML,
Text. Экспорт позволяет обрабатывать данные программы по вашему
усмотрению: создавать собственные отчеты, распечатки или выгрузки
информации в интернет.
―
Механизм поиска поможет найти необходимую учетную единицу
(или группу) по заданному критерию. В фильтре поиска могут участвовать
все параметры используемые в свойствах объектов.
―
Гибкое разграничение прав доступа для пользователей системы.
Обширный перечень прав доступа к пунктам меню и функциям позволяет
очень гибко настроить возможности каждого оператора базы данных.
Пользователи объединяются в группы по ролям. Роли пользователей можно
создавать, удалять и редактировать.
Размещено на http://www.allbest.ru/
―
Удобный интерфейс первичного ввода данных - информация от
предыдущей введенной записи сохраняется в форме. Так же предусмотрен
удобный импорт данных из Excel.
―
E-mail оповещения по всем основным событиям в программе.
Оповещения позволяют настроить взаимодействие между различными
службами IT отдела, бухгалтерии и руководством.
―
Взаимодействие со службой Active Directory для импорта
контактных данных по сотрудникам компании. Так же возможен удобный
просмотр полного списка сотрудников онлайн из Active Directory.
Программа поможет администраторам, сотрудникам IT отделов и их
руководителям, владельцам компьютерных магазинов, заведующим складов
и всем, кому необходимо иметь четкую и актуальную картину состояния
парка IT оборудования [3].
АИС «Учет компьютеров на предприятии» версия Prof
Конфигурация предназначена для учета компьютеров в больших и
средних организациях. Хотя конфигурация называется «Учет компьютеров
на предприятии», версия Prof давно перестала специализироваться только на
учете компьютеров, в ней стало возможно учитывать любую оргтехнику, а
также
потребление/использование
расходных
материалов,
услуги
предоставленные другими организациями, отслеживать заявки поставщикам,
заявки пользователей, вести бюджетирование расходов.
Полная
конфигурация
предназначена
для
учета
сведений
по
компьютерам и оргтехнике в организации. И плюс к этому, учитывает
многие другие моменты деятельности отдела АСУ, позволяя как можно
более полно и удобно вести учет на предприятии в требуемой аналитике.
Конфигурации
построена
таким
образом,
чтобы
однотипная
информация могла быть доступна из одного места. Например, прямо из
справочника рабочих мест можно посмотреть, что находится на рабочих
Размещено на http://www.allbest.ru/
местах, отсюда же можно ввести новые документы, сформировать отчеты по
рабочим местам, комплектам и комплектующим.
В журнале учета комплектующих, можно осуществить все операции с
комплектующими и расходными материалами, кроме того, осуществить
отбор по основным параметрам документов: рабочим местам, комплектам,
комплектующим.
Основные возможности конфигурации
―
Учет оргтехники и комплектующих материалов. Конфигурация
обеспечивает ведение учета в разрезе документов. Имеются все необходимые
документы: поступление, перемещение, списание, инвентаризация (кроме
стандартных есть еще и специфические документы, например, начало или
конец внешнего ремонта, обмен комплектующих, списание расходных
материалов).
Возможна
как
распечатка
стандартных
бланков
этих
документов, так и подключение внешних печатных форм.
―
Учет расходных материалов. Расходные материалы учитываются
также как оборудование и комплектующие, то есть поступление и
перемещение осуществляется теми же документами. Различия в их списании,
для этого есть отдельный документ списания, в котором дополнительно
можно выбрать аналитику для списания расходных материалов. Аналитика
вводится по желанию, то есть пользователь сам выбирает, какой аналитикой
он будет пользоваться.
―
Учет оборудования в ремонте. В конфигурации можно вести учет
оборудования находящегося во внешнем ремонте. Для этого можно ввести
документы: Начало ремонта (комплектующие детали уходят во внешний
ремонт, который осуществляет выбранный подрядчик), Окончание ремонта.
―
Учет заявок поставщикам (блок заказов поставщикам). Для
реализации потребности ИТ отдела в отслеживании заявок на приобретение
оборудования, в конфигурацию включен контур по заявкам поставщикам.
Заявки могут быть зарегистрированы на комплектующие, расходные
Размещено на http://www.allbest.ru/
материалы или услуги. Для отслеживания выполнения заявок поставщиками
используется специальный отчет.
―
Учет пользователей оборудования. Для учета пользователей в
программе разработан блок документов назначения, перевода, и выбытия
пользователей. Если строгий документированный учет не нужен, то можно
изменять пользователей у рабочих мест вручную.
―
Учет заявок пользователей. Учет заявок пользователей одна из
важных задач ИТ отдела, для их учет и был специально разработан этот блок,
с
помощью
которого
можно
учитывать
заявки,
поступившие
от
пользователей, а также следить за их исполнением. С помощью специального
отчета можно легко отслеживать выполнение заявок.
―
Работа
с
прайс-листами
поставщиков.
Есть
возможность
загружать прайс-листы поставщиков. Данная возможность пока находится в
стадии развития и пока не реализована полностью.
Для реализации удобного поиска в конфигурации реализован механизм
расширенного поиска по кнопке по любому реквизиту, который в отличие от
стандартного поиска показывает сразу все элементы, которые удовлетворяют
строке поиска.
Конфигурация
предназначена
для
ведения
базы
данных
по
компьютерам и оргтехнике на предприятии. Система предназначена для
использования в небольших и средних предприятиях. Недостатком является
избыточность системы, кроме того для работы конфигурации требуется 1С:
Предприятие 7.7 с компонентой «Оперативный учет» [4].
АИС «БП: Авторизованный сервисный центр»
АИС
«БП:
Авторизованный
программный продукт
компании
сервисный
центр»
«БизнесПроект» для
–
это
новый
автоматизации
сервисных центров на новейшей платформе 1С: Предприятие 8.0. Продукт
предназначен для использования в крупных авторизованных сервисных
Размещено на http://www.allbest.ru/
центрах, занимающихся ремонтом и обслуживанием техники любых видов,
как по разовым заявкам, так и по договорам технического обслуживания.
Конфигурация
предназначена
для
автоматизированного
учета
следующих операций:
―
учет клиентов;
―
учет оборудования по серийным и заводским номерам;
―
учет оборудования, установленного у каждого клиента;
―
история ремонта по каждой модели оборудования;
―
учет работ по стационарному ремонту;
―
учет работ по выездному ремонту;
―
учет и планирование заявок;
―
учет и планирование работ по сервисным договорам;
―
учет показателей заработной платы;
―
учет движения ТМЦ (комплектующих и запасных частей);
―
формирование отчетов для производителей оборудования;
―
формирование управленческих отчетов.
―
Функционально конфигурация разделена на следующие блоки:
―
учет рекламаций;
―
стационарный ремонт;
―
выездной ремонт;
―
учет договоров сервисного обслуживания;
―
учет проектов.
В документе «Обращение» фиксируются основные сведения о
причинах обращения, о первоначальной диагностике, проведенной в отделе
рекламации, и на основе полученных данных осуществляются дальнейшие
действия по заявке (ремонт оборудования, замена отдельных частей, либо
возврат).
Для
оформления
приема
техники
в
ремонт
в
конфигурации
предназначен документ «Заказ-Наряд». Документ можно вводить на
основании документа «Обращение». В документе фиксируются основные
Размещено на http://www.allbest.ru/
сведения о причинах обращения, диагностике оборудования. В процессе
оформления
документа
фиксируются
этапы
ремонта,
плановые
и
фактические сроки проведения работ и исполнитель. Фиксируются запчасти,
использованные в процессе ремонта и выполненные работы.
В
процессе
ремонта
пользователи
могут
производить
заказ
необходимых запчастей на складе. По результатам ремонта формируются
управленческие отчеты и отчеты для производителей оборудования.
В документе можно оформить приход оборудования в отдел
рекламации, возврат оборудования из сервисного центра в отдел рекламации
и возврат оборудования клиенту.
Недостатком является то, что программный продукт не является
самостоятельной программой и устанавливается как дополнение к типовой
конфигурации «Управление торговлей». Для работы конфигурации требуется
установка программы «1С: Предприятие 8.0» [5].
Выбор программных и технологических средств автоматизации
По
способу
установления
связей
между
данными
различают
реляционную, иерархическую и сетевую модели. Реляционная модель
является простейшей и наиболее привычной формой представления данных в
виде таблицы. В теории множеств таблице соответствует термин отношение
(relation), который и дал название модели. Для нее имеется развитый
математический аппарат – реляционное исчисление и реляционная алгебра,
где для баз данных (отношений) определены такие хорошо известные
теоретико-множественные
операции,
как
объединение,
пересечение,
соединение и другие.
Достоинством реляционной модели является сравнительная простота
инструментальных
средств
ее
поддержки,
недостатком
-
жесткость
структуры данных (невозможность, например, задания строк таблицы
произвольной длины) и зависимость скорости ее работы от размера баз
Размещено на http://www.allbest.ru/
данных. Для многих операций, определенных в такой модели, может
оказаться необходимым просмотр всей базы.
Именно реляционная модель является результатом более развитых
представлений о формировании и ведении баз данных. Реляционные модели
наиболее логично и наглядно отражают структуру хранимой информации и
внутренних связей, что позволяет более полно анализировать структуру базы
данных при разработке. Это привело к тому, что именно реляционные
модели баз данных наиболее распространены в настоящее время и являются
стандартом, на который переводятся все существовавшие ранее базы данных
с иерархической и сетевой моделью. Веским доводом в пользу выбора
реляционной модели данных является то, что подавляющее большинство
СУБД ориентированы исключительно на реляционную модель. Кроме того,
реляционные базы данных впоследствии легче расширять и интегрировать,
что является неотъемлемой частью дальнейшего развития баз данных, с
увеличением возлагаемых на них задач [6].
Для разработки инфологической и даталогической модели базы данных
целесообразно использовать программу AllFusion ERwin Data Modeller,
которая позволяет проектировать, документировать и сопровождать базы
данных, хранилища данных и витрины данных (data marts). Создав
наглядную модель базы данных, можно оптимизировать структуру БД и
добиться её полного соответствия требованиям и задачам организации.
Визуальное моделирование повышает качество создаваемой базы данных,
продуктивность и скорость её разработки. После разработки даталогической
модели базы данных, средствами ERwin можно сгенерировать схему данных
в практически любую СУБД.
На сегодняшний день существует много разнообразных систем
управления базами данных. Это такие СУБД как Paradox, FoxPro, Clipper,
Access и др. Для работы с большинством из них требуются достаточно
глубокие знания данной СУБД и опыт программирования.
Размещено на http://www.allbest.ru/
Microsoft Access в настоящее время является одной из самых
популярных среди настольных программных систем управления базами
данных. Среди причин такой популярности следует отметить:
―
который
высокую степень универсальности и продуманности интерфейса,
рассчитан
на
работу
с
пользователями
самой
различной
квалификации. В частности, реализована система управления объектами базы
данных,
позволяющая
гибко
и
оперативно
переходить
из
режима
конструирования в режим их непосредственной эксплуатации;
―
глубоко
развитые
возможности
интеграции
с
другими
программными продуктами, входящими в состав Microsoft Office, а также с
любыми программными продуктами, поддерживающими технологию OLE;
―
богатый набор визуальных средств разработки.
Успех Microsoft Access заключается в прекрасной реализации
продукта, рассчитанного как на начинающего, так и квалифицированного
пользователя. Вся работа с базой данных осуществляется через окно
контейнера базы данных. Отсюда осуществляется доступ ко всем объектам:
таблицам, запросам, формам, отчетам, макросам, модулям. Встроенный язык
запросов SQL позволяет максимально гибко работать с данными и
значительно ускоряет доступ к внешним данным. Access воспринимает
большое количество форматов данных, включая файловые структуры других
СУБД. Поэтому приложение в Access может импортировать из текстовых
файлов или электронных таблиц и экспорт в них: предоставлять прямой
доступ и обновлять файлы Paradox, FoxPro и других БД. Можно также
импортировать данные из этих файлов в таблицы Access [7].
Для разработки программного средства, осуществляющего доступ к
данным базы, была выбрана визуальная среда программирования Delphi 10.
Данная среда программирования позволяет создавать приложения с
минимальными затратами времени, так как в его основе лежит концепция
быстрого создания приложений (RAD). Delphi 10 базируется на языке
программирования Pascal. Визуальная технология разработки программ
Размещено на http://www.allbest.ru/
позволяет быстро создавать приложения путём размещения на форме
приложения стандартных компонентов. При этом соответствующий код
программы автоматически генерируется средой разработки. Библиотека
компонентов содержит множество стандартных компонентов, таких как
элементы управления в стиле Windows, а также шаблоны для форм.
Основные преимущества Delphi 10 при разработке приложений Windows:
―
Быстрая визуальная разработка
―
Свыше 500 встроенных элементов управления VCL
―
Встроенная поддержка касаний и жестов
―
dbExpress с поддержкой 9 основных баз данных
―
DataSnap с поддержкой JSON, REST, HTTP, COM и XML
―
UML/аудит кода и учет показателей
―
Создание 32-разрядных приложений, поддерживаемых 32- и 64-
разрядными версиями Windows
―
Единый исходный код для генерации приложений для Windows
2000, Windows XP, Windows Vista и Windows 7
Для доступа к данным хранящимся в файле Access предусмотрено
использование технологии ADO. ActiveX Data Objects (ADO) – наиболее
передовой технологией доступа к данным, которая не требует драйверов
ODBC или BDE. Основные преимущества ADO – простота использования,
высокая скорость, требуемый малый объем верхней памяти и дискового
пространства. Благодаря чему, данная технология была выбрана для доступа
к данным, хранящимся в таблицах MS Access 2003. Для управления базой
данных предполагается разработка запросов на языке SQL.
Проектирование
базы
данных.
Инфологическая
модель
предметной области
Концептуальное (инфологическое) проектирование – построение
семантической модели предметной области, то есть информационной модели
Размещено на http://www.allbest.ru/
наиболее высокого уровня абстракции. Такая модель создаётся без
ориентации на какую-либо конкретную СУБД и модель данных. Для
построения инфологической и даталогической модели базы данных
разрабатываемой системы целесообразно использование такого CASEсредства, как ERwin, поддерживающего методологию IDEF1X.
IDEF1X (Information Modeling) — одна из методологий семейства
IDEF. Применяется для построения информационной модели, которая
представляет структуру информации, необходимой для поддержки функций
производственной системы или среды. Сущность в IDEF1X описывает
конкретный
набор
экземпляров
реального
мира.
Связи
в
IDEF1X
представляют собой ссылки, соединения и ассоциации между сущностями
[2].
Для построения инфологической модели предметной области были
выделены сущности предметной области, описание которых представлено в
таблице 3.1.
Таблица 3.1 – Описание сущностей предметной области
Сущность
Определение
КЛИЕНТЫ
Частные предприятия и организации, подавшие хотя бы один заказ на
разработку ПО или проведение технического обслуживания оргтехники
в компанию «МегионСофтОйл»
ОРГТЕХНИКА
Копировально-множительная
и
вычислительная
техника,
обслуживаемая специалистами компании «МегионСофтОйл»
МАРКИ
Марки
оргтехники,
обслуживаемые
специалистами
компании
«МегионСофтОйл»
ЗАКАЗЫ
Факт
регистрации
технического
заказа
на
разработку
обслуживания
ПО
оргтехники
или
проведение
в
компанию
«МегионСофтОйл» от клиента
ПО
Факт
выполнения
заказа
клиента
на
разработку
программного
обеспечения
ГРАФИК
График выполнения этапов работ по разработке программного
обеспечения, согласно стандарту жизненного цикла ПО ГОСТ Р
ИСО/МЭК 12207-99
Размещено на http://www.allbest.ru/
Таблица
РЕМОНТ
Факт выполнения заказа клиента на проведение технического
обслуживания оргтехники
РАБОТЫ
Факт выполнения определенного вида работ по устранению
неисправностей,
согласно
заказу
клиента
на
проведение
специалистами
компании
технического обслуживания оргтехники
УСЛУГИ
Виды
работ,
выполняемые
«МегионСофтОйл» по техническому обслуживанию оргтехники
РАСХОД
Факт
выполнения
замены
узла
устройства
для
устранения
неисправностей
УЗЛЫ
Комплектующие детали оргтехники
Таким образом, после определения сущностей предметной области и
отношений между ними, средствами ERwin была спроектирована ERдиаграмма предметной области (См. рис. 3.1).
Рисунок 3.1 – ER-диаграмма предметной области
После определения атрибутов сущностей, выделения первичных и
внешних ключей, и связей между сущностями, с помощью CASE-средства
ERwin была составлена IDEF1X-диаграмма КВ-уровня (См. рис. 3.2).
Размещено на http://www.allbest.ru/
Рисунок 3.2 – KB-диаграмма предметной области
Составленная инфологическая модель предметной области отображает
выделенные сущности, связи между ними и атрибуты сущностей с указанием
первичных и внешних ключей без ориентации на какую-либо конкретную
СУБД.
Даталогическая модель предметной области
Логическое (даталогическое) проектирование – создание схемы базы
данных на основе конкретной модели данных, например, реляционной
модели данных. Для реляционной модели данных даталогическая модель —
набор схем отношений, обычно с указанием первичных ключей, а также
«связей» между отношениями, представляющих собой внешние ключи.
Преобразование концептуальной модели в логическую модель, как
правило, осуществляется по формальным правилам. Этот этап может быть в
значительной степени автоматизирован благодаря ERwin [2].
Таким образом, средствами ERwin была построена даталогическая
модель предметной области (См. рис. 3.3).
Размещено на http://www.allbest.ru/
Рисунок 3.3 – Даталогическая модель предметной области
Техническое описание атрибутов сущностей, с указанием владельцев,
типов данных атрибутов на языке определения данных (ЯОД) выбранной
СУБД Access, а также первичных и внешних ключей, представлено в таблице
3.2.
Таблица 3.2 – Описание атрибутов
Сущность
Атрибут
Тип
Описание
Ключ
КЛИЕНТЫ
Код Клиента
Счетчик
Уникальный
код
клиента
PK
компании «МегионСофтОйл»
Имя Клиента
Текст (50)
Наименование
организации
клиента
компании
«МегионСофтОйл»
Адрес
Текст (100)
Физический адрес клиента
Телефон
Текст (100)
Контактный телефон клиента
Почта
Текст (100)
Адрес
электронной
почты
клиента
Скидка
Число (целое)
Процент скидки на услуги для
клиента
ЗАКАЗЫ
Номер Заказа
Счетчик
Уникальный
номер
заказа
PK
клиента
Код Клиента
Число (целое)
Код клиента, сделавшего заказ
Дата Заказа
Дата
Дата регистрации заказ клиента
Вид Заказа
Текст (20)
Вид
заказа
(Проведение
Разработка ПО)
Таблица
ТО,
FK
Размещено на http://www.allbest.ru/
ОРГТЕХ-
Код Техники
Счетчик
Уникальный код оргтехники
НИКА
Имя Техники
Текст (50)
Наименование оргтехники
Описание
МЕМО
Информация о технике
Код Марки
Счетчик
Уникальный код марки оргтехники
Имя Марки
Текст (50)
Наименование марки оргтехники
Описание
МЕМО
Информация о производителе
Номер Заказа
Число (целое)
Номер
МАРКИ
РЕМОНТ
заказа
на
PK
проведение
PK
PK
технического обслуживания
Код Техники
Число (целое)
Код
оргтехники,
требующей
FK
технического обслуживания
Код Марки
Число (целое)
Код марки оргтехники, требующей
FK
технического обслуживания
Дата Ремонта
Дата
Дата начала проведения технического
обслуживания
Дата Завершения
Дата
Дата
завершения
проведения
технического обслуживания
Описание
МЕМО
Описание неисправности техники
Статус
Текст (20)
Стадия завершения ремонта
Серийный Номер
Текст (15)
Серийный
номер
требующей
оргтехники,
технического
обслуживания
УСЛУГИ
Код Услуги
Счетчик
Уникальный
код
предоставляемой
услуги,
PK
компанией
«МегионСофтОйл»
Имя Услуги
Текст (50)
Наименование
услуги,
предоставляемой
компанией
«МегионСофтОйл»
Стоимость
Денежный
Цена
услуги,
предоставляемой
компанией «МегионСофтОйл»
РАБОТЫ
Номер Заказа
Число (целое)
Номер заказа, на основании которого
PK
выполнена услуга
Код Услуги
Число (целое)
Код услуги, которая выполнена на
PK
основании заказа
УЗЛЫ
РАСХОД
Количество
Число (целое)
Количество выполненных работ
Код Узла
Счетчик
Уникальный код узла оргтехники
Имя Узла
Текст (50)
Наименование узла оргтехники
Цена
Денежный
Стоимость узла оргтехники
Описание
МЕМО
Описание узла оргтехники
Номер Заказа
Число (целое)
Номер заказа, на основании которого
PK
PK
выполнена замена узла оргтехники
Код Узла
Число (целое)
Код замененного узла оргтехники
PK
Размещено на http://www.allbest.ru/
Количество
Число (целое)
Количество
замененных
узлов
оргтехники
Таблица
ПО
Номер Заказа
Число (целое)
Номер
заказа
на
разработку
PK
программного обеспечения
Имя ПО
Текст (100)
Название,
разрабатываемого
программного обеспечения
Цена
Денежный
Стоимость,
разрабатываемого
программного обеспечения
Описание
МЕМО
Описание,
разрабатываемого
программного обеспечения
Статус
Текст (20)
Статус
завершения
разработки
программного обеспечения
ГРАФИК
Этап
Число (целое)
Номер
этапа
разработки
PK
программного обеспечения
Номер Заказа
Число (целое)
Номер заказа, на основании которого
выполняется
этап
PK
разработки
программного обеспечения
Наименова-ние
Текст (100)
Наименование
этапа
разработки
программного обеспечения
Дата Этапа
Дата
Дата
начала
этапа
разработки
программного обеспечения
Дата Завершения Этапа
Дата
Дата завершения этапа разработки
программного обеспечения
Статус Этапа
Текст (20)
Статус завершения этапа разработки
программного обеспечения
Таким образом, была составлена даталогическая модель предметной
области, которая отображает выделенные сущности, связи между ними и
атрибуты сущностей с указанием первичных ключей, типов данных
атрибутов и доменов.
Физическая модель базы данных
После выбора СУБД и построения даталогической модели, средствами
ERwin была сгенерирована схема данных в MS Access (См. рис. 3.4).
Размещено на http://www.allbest.ru/
Рисунок 3.4 – Схема данных в MS Access
На сгенерированной схеме данных представлены все таблицы,
включенные в базу данных, и связи между ними. Для описания структуры
таблиц базы данных представим разработанные таблицы базы данных в
режиме конструктора.
Таблица КЛИЕНТЫ, разработанной базы данных служит для хранения
данных о клиентах компании «МегионСофтОйл» и их скидках. Описание
структуры таблицы КЛИЕНТЫ представлено в режиме конструктора с
указанием наименований полей таблицы, ключевых полей и типов полей
(См. рис. 3.5).
Рисунок 3.5 – Таблица КЛИЕНТЫ в режиме конструктора
Размещено на http://www.allbest.ru/
Таблица ЗАКАЗЫ, разработанной базы данных служит для хранения
данных о заказах клиентов компании «МегионСофтОйл» на проведение
технического
обслуживания
оргтехники
и
разработку
программного
обеспечения. рекламного агентства на размещение наружной рекламы. .
Описание структуры таблицы ЗАКАЗЫ представлено в режиме конструктора
с указанием наименований полей таблицы, ключевых полей и типов полей
(См. рис. 3.6).
Рисунок 3.6 – Таблица ЗАКАЗЫ в режиме конструктора
Размещено на http://www.allbest.ru/
Таблица ОРГТЕХНИКА, разработанной базы данных служит для
хранения данных о копировально-множительной и вычислительной технике,
обслуживаемой специалистами компании «МегионСофтОйл». Описание
структуры таблицы ОРГТЕХНИКА представлено в режиме конструктора с
указанием наименований полей таблицы, ключевых полей и типов полей
(См. рис. 3.7).
Рисунок 3.7 – Таблица ОРГТЕХНИКА в режиме конструктора
Таблица МАРКИ, разработанной базы данных служит для хранения
данных о марках оргтехники, обслуживаемых специалистами компании.
Описание структуры таблицы МАРКИ представлено в режиме конструктора
с указанием наименований полей таблицы, ключевых полей и типов полей
(См. рис. 3.8).
Рисунок 3.8 – Таблица МАРКИ в режиме конструктора
Размещено на http://www.allbest.ru/
Таблица РЕМОНТ, разработанной базы данных служит для хранения
данных о заказах клиентов компании «МегионСофтОйл» на проведение
технического обслуживания оргтехники. Описание структуры таблицы
РЕМОНТ представлено в режиме конструктора с указанием наименований
полей таблицы, ключевых полей и типов полей (См. рис. 3.9).
Рисунок 3.9 – Таблица РЕМОНТ в режиме конструктора
Таблица УЗЛЫ, разработанной базы данных служит для хранения
данных
о
комплектующих
деталях
оргтехники,
обслуживаемой
специалистами компании «МегионСофтОйл». Описание структуры таблицы
УЗЛЫ представлено в режиме конструктора с указанием наименований
полей таблицы, ключевых полей и типов полей (См. рис. 3.10).
Размещено на http://www.allbest.ru/
Рисунок 3.10 – Таблица УЗЛЫ в режиме конструктора
Таблица РАСХОД, разработанной базы данных служит для хранения
данных о фактах выполнения замены узлов устройств для устранения
неисправностей
оргтехники.
Описание
структуры
таблицы
РАСХОД
представлено в режиме конструктора с указанием наименований полей
таблицы, ключевых полей и типов полей (См. рис. 3.11).
Рисунок 3.11 – Таблица РАСХОД в режиме конструктора
Таблица УСЛУГИ, разработанной базы данных служит для хранения
данных о видах услуг, предоставляемых компанией «МегионСофтОйл».
Описание структуры таблицы УСЛУГИ представлено в режиме конструктора
с указанием наименований полей таблицы, ключевых полей и типов полей
(См. рис. 3.12).
Размещено на http://www.allbest.ru/
Рисунок 3.12 – Таблица УСЛУГИ в режиме конструктора
Таблица РАБОТЫ, разработанной базы данных служит для хранения
данных о фактах выполнения работ по устранению неисправностей, согласно
заказу клиента на проведение технического обслуживания оргтехники.
Описание структуры таблицы РАБОТЫ представлено в режиме конструктора
с указанием наименований полей таблицы, ключевых полей и типов полей
(См. рис. 3.13).
Рисунок 3.13 – Таблица РАБОТЫ в режиме конструктора
Таблица ПО, разработанной базы данных служит для хранения данных
о
заказах
клиентов
компании
«МегионСофтОйл»
на
разработку
программного обеспечения. Описание структуры таблицы ПО представлено
Размещено на http://www.allbest.ru/
в режиме конструктора с указанием наименований полей таблицы, ключевых
полей и типов полей (См. рис. 3.14).
Рисунок 3.14 – Таблица ПО в режиме конструктора
Таблица ГРАФИК, разработанной базы данных служит для хранения
данных о этапах работ по разработке программного обеспечения, согласно
стандарту жизненного цикла ПО ГОСТ Р ИСО/МЭК 12207-99. Описание
структуры таблицы ГРАФИК представлено в режиме конструктора с
указанием наименований полей таблицы, ключевых полей и типов полей
(См. рис. 3.15).
Рисунок 3.15 – Таблица ГРАФИК в режиме конструктора
Размещено на http://www.allbest.ru/
Программное обеспечение задачи. Дерево функций и сценарий
диалога
В
рамках
информационной
данного
системы
дипломного
были
проекта
выделены
и
при
разработке
детализированы
два
подмножества функций: служебные функции (проверка пароля); основные
функции управления и обработки данных (ввод первичной информации,
обработка, ведение справочников, запросы и др.).
Дерево
функций,
разрабатываемой
информационной
системы,
представлена схемой (См. рис. 3.16), которая отображает иерархию функций
управления и обработки данных, которые призван автоматизировать
разрабатываемый программный продукт.
Рисунок 3.16 – Схема иерархии функций
Структурная схема проекта (См. рис. 3.17) отражает иерархию
программных модулей разрабатываемой информационной системы.
Размещено на http://www.allbest.ru/
Рисунок 3.17 – Структурная схема проекта
Разработка алгоритмов приложений программной системы
Логическая структура разрабатываемой информационной системы
представлена в виде блок-схемы (См. рис. 3.18).
Размещено на http://www.allbest.ru/
Рис.
Рисунок 3.18 – Логическая структура разработанной системы
Размещено на http://www.allbest.ru/
Описание программных модулей и структурная схема пакета
В рамках данного дипломного проекта с помощью среды визуального
программирования Delphi 10, были разработаны программные модули
проекта, описание которых представлено в таблице 3.3.
Таблица 3.3 – Описание программных модулей проекта
Программный модуль
Описание программного модуля
Модуль данных (UDataM)
Модуль данных разработан для связи с базой данных,
хранящейся в таблицах Access. Связь реализована с
помощью технологии ADO. Связь с базой данных
осуществлена с помощью компонента ADOConnection
вкладки
ADO.
Запросы
реализованы
с
помощью
компонентов ADOQuery вкладки ADO. Визуализация
данных
осуществлена
компонента
DataSource
с
помощью
вкладки
Data
связующего
Access.
Для
генерации отчетов и сопроводительной документации
используются шаблоны документов Word, связь с
которыми
реализуется
с
помощью
компонентов
WordApplication и WordDocument вкладки Servers.
Модуль главной формы (UMain)
Модуль главной формы разработан для работы со
справочниками
автоматизированной
информационной
системы, данные которых, хранятся в таблицах базы
данных Access. Визуализация данных из таблиц Access
осуществлена с помощью компонента DBGrid вкладки
Data Controls. Навигация по таблицам осуществляется с
помощью
компонентов
DBNavigator
вкладки
Data
Controls. Главное меню программы реализовано с
помощью компонента MainMenu вкладки Standard.
Модуль
формы
справочника
«Клиенты компании» (Uklient)
Модуль формы разработан для работы со справочником
«Клиенты
компании»
(добавление,
сохранение,
редактирование и удаление данных) автоматизированной
информационной системы, данные которого, хранятся в
таблице КЛИЕНТЫ базы данных Access. Визуализация
данных из таблицы Access осуществлена с помощью
компонента DBGrid вкладки Data Controls. Главное меню
формы справочника «Клиенты компании» реализовано с
помощью компонента MainMenu вкладки Standard. Поиск
данных
по
справочнику
организован
с
помощью
Размещено на http://www.allbest.ru/
компонента DBLookupComboBox вкладки Data Controls.
Модуль
формы
справочника
«Услуги компании» (Uuslugi)
Модуль формы разработан для работы со справочником
«Услуги
компании»
(добавление,
сохранение,
редактирование и удаление данных) автоматизированной
информационной системы, данные которого, хранятся в
таблице УСЛУГИ базы данных Access. Визуализация
данных из таблицы Access осуществлена с помощью
компонента DBGrid вкладки Data Controls. Главное меню
формы справочника «Клиенты компании» реализовано с
помощью компонента MainMenu вкладки Standard. Поиск
данных
по
справочнику
организован
с
помощью
компонента DBLookupComboBox вкладки Data Controls.
Таблица
Модуль
формы
справочника
«Оргтехника» (Utex)
Модуль формы разработан для работы со справочником
«Оргтехника» (добавление, сохранение, редактирование
и
удаление
данных)
автоматизированной
информационной системы, данные которого, хранятся в
таблице
ОРГТЕХНИКА
базы
данных
Access.
Визуализация данных из таблицы Access осуществлена с
помощью компонента DBCtrlGrid вкладки Data Controls.
Главное
меню
формы
справочника
«Оргтехника»
реализовано с помощью компонента MainMenu вкладки
Standard. Поиск данных по справочнику организован с
помощью компонента DBLookupComboBox вкладки Data
Controls.
Модуль
формы
справочника
«Марки оргтехники» (Umarka)
Модуль формы разработан для работы со справочником
«Марки
оргтехники»
(добавление,
сохранение,
редактирование и удаление данных) автоматизированной
информационной системы, данные которого, хранятся в
таблице МАРКИ базы данных Access. Визуализация
данных из таблицы Access осуществлена с помощью
компонента DBCtrlGrid вкладки Data Controls. Главное
меню
формы
справочника
«Марки
оргтехники»
реализовано с помощью компонента MainMenu вкладки
Standard. Поиск данных по справочнику организован с
помощью компонента DBLookupComboBox вкладки Data
Controls.
Модуль формы (UReport)
Модуль
формы
разработан
для
выбора
периода
отчетности и формирования выбранного отчета. Выбор
периода для формирования отчетности организован с
Размещено на http://www.allbest.ru/
помощью компонента DateTimePicker вкладки Win32.
Модуль формы (Uspr)
Модуль формы разработан для вывода на экран
справочной информации о программе.
В Приложении A представлен листинг программного кода описанных
выше программных модулей проекта. Модуль данных (UDataM) с указанием
компонентов вкладки dbGo, используемых для работы с базой данных
Access, представлен формой в среде Delphi 10 (См. рис. 3.19).
Рисунок 3.19 –Модуль данных (UDataM)
При
разработке
модуля
данных
использовались
следующие
компоненты вкладки dbGo, Data Access и Servers в Delphi 10:
―
ADOConnection – компонент вкладки dbGo, который служит для
подключения к базе данных Access;
―
ADOTable – компонент вкладки dbGo, который служит для
подключения и работы с таблицами БД (наборами данных);
―
ADOQuery – компонент вкладки dbGo, который служит для
организации SQL запросов к таблицам БД;
―
для
связи
DataSource – компонент вкладки Data Access, который служит
наборов
визуализации данных;
данных
и
компонентов,
предназначенных
для
Размещено на http://www.allbest.ru/
―
WordApplication
–
это
сервер,
с
помощью
которого
осуществляется доступ к объекту Appication и запускается приложение Word;
WordDocument – это специальный сервер документа, т.е. объекта,
содержащегося в объекте TWordApplication.
Разработка руководства пользователя. Назначение программного
средства
Разработанная
автоматизированная
информационная
система
необходима для учета и контроля выполнения ремонтных работ оргтехники,
и предоставления услуг по разработке программного обеспечения компании
«МегионСофтОйл» Тюменской области, Ханты-Мансийского автономного
округа – Югра, Нижневартовского района, города Мегион.
Условия выполнения программы
Автоматизированная информационная система для автоматизации
учета и контроля выполнения ремонтных работ оргтехники должна работать
под управлением операционной системы MS Windows XP, Vista, 7 на IBM/PC
совместимых персональных компьютерах с минимальной конфигурацией:
―
Процессор: Intel Pentium 4 с частотой процессора 2.0 ГГц
―
Объем оперативной памяти: 1Гбайт
―
Объем накопителя на жестком диске: 60Гбайт
―
Монитор: LCD-монитор диагональю 17»
―
Принтер: лазерный принтер Lexmark формата A4.
Размещено на http://www.allbest.ru/
Установка программного средства
Устанавливаем папку с файлами программы («Ремонт оргтехники
(МегионСофтОйл) 1.0») на диск персонального компьютера, на котором
предполагается использование разработанного программного средства.
Выполнение программного средства
После установки программного средства на персональный компьютер
пользователя запускаем файл MEGION.exe, при этом открывается главное
меню разработанной автоматизированной информационной системы (См.
рис. 3.20).
Рисунок 3.20 – Главное меню программы (Проведение ТО)
Главное меню разработанной автоматизированной информационной
системы
служит
для
работы
с
заказами
клиентов
компании
«МегионСофтОйл» на проведение технического обслуживания оргтехники и
разработку программного обеспечения. Для добавления нового заказа на
проведение технического обслуживания необходимо нажать на кнопку
панели управления главной формы программы и заполнить следующие поля:
―
Выбрать клиента (из выпадающего списка);
―
Выбрать тип оргтехники (из выпадающего списка);
Размещено на http://www.allbest.ru/
―
Выбрать марку оргтехники (из выпадающего списка);
―
Ввести серийный номер техники;
―
Выбрать дату начала проведения технического обслуживания (из
выпадающего календаря);
―
Выбрать плановую дату окончания проведения технического
обслуживания (из выпадающего календаря);
―
Ввести описание неисправностей оргтехники.
Для контроля заполнения необходимых полей для добавления заказа на
проведение технического обслуживания, организована проверка заполнения
полей. Так, в случае не заполнения какого-либо из необходимых полей
данными, программа выводит соответствующее сообщение (См. рис. 3.21).
Рисунок 3.21 – Контроль заполнения полей заказа на проведение ТО
После заполнения полей заказа в правой части главной формы
программы (См. рис. 3.22), для сохранения нового заказа на проведение
технического обслуживания, необходимо нажать на кнопку
панели
управления. Для отмены добавления нового заказа необходимо нажать на
кнопку
панели управления главной формы программы.
Размещено на http://www.allbest.ru/
Рисунок 3.22 – Добавление нового заказа на проведение ТО
Для удаления выбранного заказа необходимо нажать на кнопку
панели управления главной формы программы, при этом выводится
сообщение для подтверждения удаления записи (См. рис. 3.23).
Рисунок 3.23 – Сообщение для подтверждения удаления записи
После
добавления
нового
заказа
на
проведение
технического
обслуживания оргтехники, необходимо добавить информацию о работах,
которые необходимо провести для устранения неполадок техники. Для
добавления, редактирования, сохранения и удаления работ, необходимо
нажать на соответствующую кнопку навигатора работ заказа.
После
добавления
нового
заказа
на
проведение
технического
обслуживания пользователь системы имеет возможность распечатать
документ «Акт приема-передачи» (См. рис. 3.24), нажав на кнопку
«Документ» → «Акт приема-передачи» главного меню программы.
Размещено на http://www.allbest.ru/
Рисунок 3.24 – Документ «Акт приема-передачи»
После приема оргтехники на техническое обслуживание пользователь
имеет возможность распечатать документ «Наряд на ТО» (См. рис. 3.25),
нажав на кнопку «Документ» → «Наряд на ТО» главного меню программы.
Рисунок 3.25 – Документ «Наряд на ТО»
После проведения диагностики неполадок, в случае необходимости
замены узлов техники для устранения выявленных неполадок, необходимо
добавить информацию об израсходованных материалах. Для добавления,
редактирования, сохранения и удаления израсходованных материалов,
необходимо
нажать
на
соответствующую
кнопку
навигатора
Размещено на http://www.allbest.ru/
израсходованных узлов. После чего пользователь имеет возможность
распечатать документ «Дефектная ведомость» (См. рис. 3.26), нажав на
кнопку «Документ» → «Дефектная ведомость» главного меню программы.
Рисунок 3.26 – Документ «Дефектная ведомость»
После проведения технического обслуживания оргтехники, статус
заказа изменяется на «выполнен». После чего, нажатием на кнопку главного
меню
программы
«Документ»
→
«Акт
выполненных
работ»,
распечатывается документ «Акт выполненных работ», на основании
которого оплачивается техническое обслуживание и передается техника
клиенту.
Размещено на http://www.allbest.ru/
Рисунок 3.27 – Документ «Акт выполненных работ»
Для добавления новых заказов клиентов компании «МегионСофтОйл»
на разработку программного обеспечения необходимо перейти на вкладку
«Разработка ПО» (См. рис. 3.28) с помощью фильтров на панели управления
главной формы программы.
Рисунок 3.28 – Главное меню программы (Разработка ПО)
Размещено на http://www.allbest.ru/
Добавление новых заказов на разработку программного обеспечения
происходит аналогичным образом, при этом необходимо заполнить
следующие поля:
―
Выбрать клиента (из выпадающего списка);
―
Ввести название разрабатываемого программного обеспечения;
―
Ввести стоимость разрабатываемого программного обеспечения;
―
Ввести описание неисправностей оргтехники разрабатываемого
программного обеспечения.
После добавления
нового
заказа на
разработку
программного
обеспечения происходит автоматическое добавление этапов разработки
программного обеспечения, согласно стандарту жизненного цикла ПО ГОСТ
Р ИСО/МЭК 12207-99. Для составления графика этапов, необходимо
установить фокус ввода в соответствующее поле (начало/завершение)
таблицы графика работ и сделать двойной щелчок по выбранной дате на
календаре главной формы программы.
Для формирования результатной отчетности по заказам на проведение
технического обслуживания, необходимо нажать на кнопку главного меню
программы «Отчеты» → «Отчет ТО». При этом открывается форма для
выбора периода отчетности (См. рис. 3.29).
Рисунок 3.29 – Форма для выбора периода отчетности
После выбора необходимого периода отчетности, нажатием на кнопку
, пользователь имеет возможность сформировать отчет о результатах
деятельности подразделения «Технический отдел» (См. рис. 3.30).
Размещено на http://www.allbest.ru/
Рисунок 3.30 – Отчет о результатах деятельности подразделения
«Технический отдел»
В
данном
отчете
рассчитывается
сумма
выполненных
и
невыполненных заказов на проведение технического обслуживания за
выбранный период времени.
Отчет о результатах деятельности подразделения «Отдел разработки и
сопровождения ПО» (См. рис. 3.31), формируется аналогичным образом.
Рисунок 3.31 – Отчет о результатах деятельности подразделения
«Отдел разработки и сопровождения ПО»
Размещено на http://www.allbest.ru/
Для ввода первичной информации в систему, разработаны справочники
приложения:
―
Оргтехника;
―
Марки оргтехники;
―
Узлы оргтехники;
―
Услуги компании;
―
Клиенты компании.
Для работы со справочником «Оргтехника» (добавление, удаление,
редактирование и сохранение данных), необходимо нажать на кнопку
«Справочники» → «Оргтехника» главного меню программы (См. рис. 3.32).
Рисунок 3.32 – Справочник «Оргтехника»
Кнопки главного меню справочника служат для работы с записями
справочника:
Размещено на http://www.allbest.ru/
Аналогичным образом, нажатием на кнопку «Справочники» → «Марки
оргтехники», происходит работа со справочником «Марки оргтехники» (См.
рис. 3.33).
Рисунок 3.33 – Справочник «Марки оргтехники»
Аналогичным образом, нажатием на кнопку «Справочники» → «Узлы
оргтехники», происходит работа со справочником «Узлы оргтехники» (См.
рис. 3.34).
Рисунок 3.34 – Справочник «Узлы оргтехники»
Размещено на http://www.allbest.ru/
Аналогичным образом, нажатием на кнопку «Справочники» →
«Услуги
компании»,
происходит
работа
со
справочником
«Услуги
компании» (См. рис. 3.35).
Рисунок 3.35 – Справочник «Услуги компании»
Аналогичным образом, нажатием на кнопку «Справочники» →
«Клиенты компании», происходит работа со справочником «Клиенты
компании» (См. рис. 3.36).
Рисунок 3.36 – Справочник «Клиенты компании»
Размещено на http://www.allbest.ru/
Резервное копирование и восстановление БД
Резервное
администратором,
копирование
который
и
имеет
восстановление
доступ
к
БД
файлу
проводится
базы
данных
Оргтехника(Мегион).mdb, средствами СУБД Access (См. рис. 3.37).
Рисунок 3.37 – Резервное копирование и восстановление базы данных
средствами Access
Резервные копии базы данных должны храниться на отдельном
носителе. Необходимо периодически делать резервные копии базы данных,
чтобы затраты на восстановление информации были минимальны.
Размещено на http://www.allbest.ru/
Заключение
В рамках данного дипломного проекта была спроектирована и
разработана автоматизированная информационная система для учета и
контроля выполнения ремонтных работ оргтехники (ОТ), и предоставления
услуг
по
разработке
программного
обеспечения
компании
«МегионСофтОйл» Тюменской области, Ханты-Мансийского автономного
округа – Югра, Нижневартовского района, города Мегион.
Разработанная информационная система направлена в первую очередь
на автоматизацию ручной работы оператора диспетчерской службы
компании «МегионСофтОйл», а так же позволяет решать следующие задачи:
―
Регистрация и учет заявок клиентов на разработку ПО или
проведение ТО оргтехники.
―
Формирование документа «Акт приема-передачи».
―
Формирование документа «Наряд на проведение ТО».
―
Формирование документа «Дефектная ведомость».
―
Контроль выполнения ремонтных работ.
―
Расчет стоимости выполненных ремонтных работ с учетом
скидки клиента.
―
Формирование документа «Акт выполненных работ».
―
Составление
графика
работ
по
разработке
программного
обеспечения.
―
Контроль соблюдения графика работ.
―
Оперативный поиск и предоставление информации о состоянии
заявки клиента.
―
Формирование
отчетов
о
результатах
деятельности
подразделений компании.
Преимуществами разработанной информационной системы является
возможность
анализа
исполнительности
заказов
клиентов
компании
Размещено на http://www.allbest.ru/
«МегионСофтОйл», на основании результатной отчетности, а также
автоматический расчет необходимых параметров.
При проектировании базы данных использовалось такое мощное
CASE-средство как ERwin 4.0, поскольку от того, насколько хорошо
спроектирована
использования
база
и
данных,
зависит
администрирования.
удобство
Также
ее
дальнейшего
использовалась
система
управления реляционными базами данных Microsoft Access, которая
предоставляет пользователям функциональные возможности, позволяющие
осуществлять доступ к важным данным, и производить их глубокий анализ, а
также является серьезной средой разработки приложений. Для реализации
пользовательского
интерфейса
была
проведена
разработка
Windows-
приложения с учетом принципов создания дружественных интерфейсов и
программная
реализация
проекта
с
помощью
визуальной
среды
проектирования Borland Delphi 2010, на объектно-ориентированном языке
программирования Object Pascal. Для доступа к данным хранящимся в
таблицах MS Access используется наиболее передовая технология доступа к
данным – технология Microsoft ADO.
Выбрана методика и проведен расчет показателей экономической
эффективности проекта. В результате анализа этих показателей было
установлено что разработанная информационная система дает возможность
снизить трудовые затраты компании и таким образом, можно сделать вывод
о целесообразности разработки данной системы.
Размещено на http://www.allbest.ru/
Список использованных источников
1.Информация
о
компании
ООО
«МегионСофтОйл»:
http://www.rusprofile.ru/id/2033914.
2.Маклаков
С.В.
BPwin
и
ERwin.
CASE-средства
разработки
информационных систем. — М.: Диалог-МИФИ, 2000. — 256 с.
3.Описание АИС «IT Invent»: http://it-invent.ru/Description.aspx.
4.Описание АИС «Учет компьютеров на предприятии» версия Prof «:
http://tunesoft.ru/uchet-kompyuterov-versiya-prof-dlya-1c-7.7.html.
5.Описание
АИС
«БП:
Авторизованный
сервисный
центр»:
http://www.ascbp.ru/astc/avtomatizatciia-servisnykh-tcentrov.
6.Джен Л. Харрингтон. Проектирование реляционных баз данных Лори, 2006
г.
7.Вейцман В. М. «Проектирование экономических информационных систем:
Учебное пособие». – Яр.: МУБИНТ, 2002. – 506с.
8.Гагарина Л.Г. Киселев Д.В., Федотова Е.Л. Разработка и эксплуатация
автоматизированных информационных систем / под ред.проф.Л.Г.Гагариной.
– М.: ИД «Форум»: Инфра-М, 2007 – 384 с.
9.Гайдамакин Н. А. Автоматизированные информационные системы, базы и
банки данных. Вводный курс. – М.: Изд. Гелиос, 2008.- 375 с.
10.Информационные системы в экономике: учебник для студентов вузов /
Под ред. Г. А. Титоренко. – 2-е изд., перераб. и доп. – М.: ЮНИТИ-ДАНА,
2008. – 463 с.
11.Диго С.М. Базы данных: проектирование и использование: Учебник. - М.:
Финансы и статистика, 2005.
12.Кен Гетц и др. Access 2000. Руководство разработчика. Том 1. Настольные
приложения: Пер. с англ. – К.: Издательская группа BHV, 2000.
13.Литвин П., Гетц К., Гунделой М. Разработка корпоративных приложений
в Access 2002. Для профессионалов. – СПб.: Питер; Киев: BHV, 2003.
Размещено на http://www.allbest.ru/
14.Питер Роб, Карлос Коронел. Системы баз данных: проектирование,
реализация и управление, БХВ-Петербург, Сп-б, 2004 г.
15.Попов Ф.А., Ануфриева Н.Ю. Интеллектуализация пользовательских
интерфейсов информационных систем // Вестник Томского государственного
университета. - 2007.- №300(1).- с.130-133.
16.Программирование в Delphi 5: 2-е изд., переработанное и дополненное /
А.Я. Архангельский. – М.: ЗАО «Издательство БИНОМ», 2000.-1072с.: ил.
17.Новиков Ф.А. Microsoft Office 2003 в целом. – СПб.: БХВ – СанктПетербург, 2005. – 728 с.: ил.
18.Сибилёв В.Д. Проектирование баз данных: Учеб. пособие. — Томск:
Томский межвузовский центр дистанционного образования, 2007. — 201 с.
19.Томас
Коннолли,
Каролин
Бегг,
Анна
Страчан.
Базы
данных.
Проектирование, реализация и сопровождение. Теория и практика, Вильямс,
М, 2001 г.
20.Фаронов В. В. Программирование баз данных в Delphi 7. Учебный курс. –
СПб.: Питер, 2006. – 459 с.: ил
21.Черемных С.В., Семенов И.О., Ручкин В.С. Структурный анализ систем:
IDEF-технологии:практикум. М.: Финансы и статистика, 2003. – 192 с.
22.Щербаков А. Ю. Современная компьютерная безопасность. Теоретические
основы. Практические аспекты. М.: Книжный мир, 2009. – 352 с.
23.Элисон Балтер. Профессиональное программирование в Microsoft Office
Access 2003 (+CD-ROM), Вильямс, М, 2006 г.
Размещено на http://www.allbest.ru/
Приложение
Листинг программных модулей проекта
Модуль данных (UDataM)
unit UDataM;
interface
uses
SysUtils, Classes, DB, ADODB, WordXP, OleServer;
var
DataM: TDataM;
implementation
uses UMain, Uklient, Uuslugi, Uuzel, Utex, Umarka;
{$R *.dfm}
//===После отмены в справочнике "Клиенты компании"===
procedure TDataM.ADOTklientAfterCancel(DataSet: TDataSet);
begin
Uklient.Fklient.N1.Enabled:=True;
Uklient.Fklient.N3.Enabled:=True;
Uklient.Fklient.N4.Enabled:=False;
Uklient.Fklient.N5.Enabled:=True;
end;
//===После удаления записи в справочнике "Клиенты компании"===
procedure TDataM.ADOTklientAfterDelete(DataSet: TDataSet);
begin
Uklient.Fklient.N1.Enabled:=True;
Uklient.Fklient.N3.Enabled:=True;
Uklient.Fklient.N4.Enabled:=False;
Uklient.Fklient.N5.Enabled:=True;
end;
Размещено на http://www.allbest.ru/
//===После изменения записи в справочнике "Клиенты компании"===
procedure TDataM.ADOTklientAfterEdit(DataSet: TDataSet);
begin
Uklient.Fklient.N1.Enabled:=False;
Uklient.Fklient.N3.Enabled:=False;
Uklient.Fklient.N4.Enabled:=True;
Uklient.Fklient.N5.Enabled:=False;
end;
//===После добавление записи в справочник "Клиенты компании"===
procedure TDataM.ADOTklientAfterInsert(DataSet: TDataSet);
begin
Uklient.Fklient.N1.Enabled:=False;
Uklient.Fklient.N3.Enabled:=False;
Uklient.Fklient.N4.Enabled:=True;
Uklient.Fklient.N5.Enabled:=False;
end;
//===После сохранения записи в справочник "Клиенты компании"===
procedure TDataM.ADOTklientAfterPost(DataSet: TDataSet);
begin
Uklient.Fklient.N1.Enabled:=True;
Uklient.Fklient.N3.Enabled:=True;
Uklient.Fklient.N4.Enabled:=False;
Uklient.Fklient.N5.Enabled:=True;
ADOTklient.Refresh;
end;
//===После отмены в справочнике "Марки оргтехники"===
procedure TDataM.ADOTmarkiAfterCancel(DataSet: TDataSet);
begin
Umarka.Fmarka.N1.Enabled:=True;
Umarka.Fmarka.N3.Enabled:=True;
Размещено на http://www.allbest.ru/
Umarka.Fmarka.N4.Enabled:=False;
Umarka.Fmarka.N5.Enabled:=True;
end;
//===После удаления записи в справочнике "Марки оргтехники"===
procedure TDataM.ADOTmarkiAfterDelete(DataSet: TDataSet);
begin
Umarka.Fmarka.N1.Enabled:=True;
Umarka.Fmarka.N3.Enabled:=True;
Umarka.Fmarka.N4.Enabled:=False;
Umarka.Fmarka.N5.Enabled:=True;
end;
//===После изменения записи в справочнике "Марки оргтехники"===
procedure TDataM.ADOTmarkiAfterEdit(DataSet: TDataSet);
begin
Umarka.Fmarka.N1.Enabled:=False;
Umarka.Fmarka.N3.Enabled:=False;
Umarka.Fmarka.N4.Enabled:=True;
Umarka.Fmarka.N5.Enabled:=False;
end;
//===После добавление записи в справочник "Марки оргтехники"===
procedure TDataM.ADOTmarkiAfterInsert(DataSet: TDataSet);
begin
Umarka.Fmarka.N1.Enabled:=False;
Umarka.Fmarka.N3.Enabled:=False;
Umarka.Fmarka.N4.Enabled:=True;
Umarka.Fmarka.N5.Enabled:=False;
end;
//===После сохранения записи в справочник "Марки оргтехники"===
procedure TDataM.ADOTmarkiAfterPost(DataSet: TDataSet);
begin
Размещено на http://www.allbest.ru/
Umarka.Fmarka.N1.Enabled:=True;
Umarka.Fmarka.N3.Enabled:=True;
Umarka.Fmarka.N4.Enabled:=False;
Umarka.Fmarka.N5.Enabled:=True;
ADOTklient.Refresh;
end;
//===Обновить цену ПО===
procedure TDataM.ADOTprogCalcFields(DataSet: TDataSet);
var
S:currency;
begin
S:=ADOTprogЦена.Value;
ADOTprogСумма.Value:=S;
end;
//===Обновить сумму заказа===
procedure TDataM.ADOTrabAfterPost(DataSet: TDataSet);
begin
ADOQSumRab.Close;
ADOQSumRab.Parameters.ParamValues['N']:=ADOTremontНомерЗаказа.
Value;
ADOQSumRab.Open;
end;
//===Расчет суммы работ===
procedure TDataM.ADOTrabCalcFields(DataSet: TDataSet);
var
S:currency;
begin
S:=ADOTrabЦена.Value*ADOTrabКоличество.Value;
ADOTrabСумма.Value:=S;
end;
Размещено на http://www.allbest.ru/
//===Обновить сумму заказа===
procedure TDataM.ADOTrasAfterPost(DataSet: TDataSet);
begin
ADOQSumRas.Close;
ADOQSumRas.Parameters.ParamValues['N']:=ADOTremontНомерЗаказа.
Value;
ADOQSumRas.Open;
end;
//===Расчет суммы расхода===
procedure TDataM.ADOTrasCalcFields(DataSet: TDataSet);
var
S:currency;
begin
S:=ADOTrasЦена.Value*ADOTrasКоличество.Value;
ADOTrasСумма.Value:=S;
end;
//===После отмены в справочнике "Оргтехника"===
procedure TDataM.ADOTtexAfterCancel(DataSet: TDataSet);
begin
Utex.Ftex.N1.Enabled:=True;
Utex.Ftex.N3.Enabled:=True;
Utex.Ftex.N4.Enabled:=False;
Utex.Ftex.N5.Enabled:=True;
end;
//===После удаления записи в справочнике "Оргтехника"===
procedure TDataM.ADOTtexAfterDelete(DataSet: TDataSet);
begin
Utex.Ftex.N1.Enabled:=True;
Utex.Ftex.N3.Enabled:=True;
Utex.Ftex.N4.Enabled:=False;
Размещено на http://www.allbest.ru/
Utex.Ftex.N5.Enabled:=True;
end;
//===После изменения записи в справочнике "Оргтехника"===
procedure TDataM.ADOTtexAfterEdit(DataSet: TDataSet);
begin
Utex.Ftex.N1.Enabled:=False;
Utex.Ftex.N3.Enabled:=False;
Utex.Ftex.N4.Enabled:=True;
Utex.Ftex.N5.Enabled:=False;
end;
//===После добавление записи в справочник "Оргтехника"===
procedure TDataM.ADOTtexAfterInsert(DataSet: TDataSet);
begin
Utex.Ftex.N1.Enabled:=False;
Utex.Ftex.N3.Enabled:=False;
Utex.Ftex.N4.Enabled:=True;
Utex.Ftex.N5.Enabled:=False;
end;
//===После сохранения записи в справочник "Оргтехника"===
procedure TDataM.ADOTtexAfterPost(DataSet: TDataSet);
begin
Utex.Ftex.N1.Enabled:=True;
Utex.Ftex.N3.Enabled:=True;
Utex.Ftex.N4.Enabled:=False;
Utex.Ftex.N5.Enabled:=True;
ADOTklient.Refresh;
end;
//===После отмены в справочнике "Услуги компании"===
procedure TDataM.ADOTuslugiAfterCancel(DataSet: TDataSet);
begin
Размещено на http://www.allbest.ru/
Uuslugi.Fuslugi.N1.Enabled:=True;
Uuslugi.Fuslugi.N3.Enabled:=True;
Uuslugi.Fuslugi.N4.Enabled:=False;
Uuslugi.Fuslugi.N5.Enabled:=True;
end;
//===После удаления записи в справочнике "Услуги компании"===
procedure TDataM.ADOTuslugiAfterDelete(DataSet: TDataSet);
begin
Uuslugi.Fuslugi.N1.Enabled:=True;
Uuslugi.Fuslugi.N3.Enabled:=True;
Uuslugi.Fuslugi.N4.Enabled:=False;
Uuslugi.Fuslugi.N5.Enabled:=True;
end;
//===После изменения записи в справочнике "Услуги компании"===
procedure TDataM.ADOTuslugiAfterEdit(DataSet: TDataSet);
begin
Uuslugi.Fuslugi.N1.Enabled:=False;
Uuslugi.Fuslugi.N3.Enabled:=False;
Uuslugi.Fuslugi.N4.Enabled:=True;
Uuslugi.Fuslugi.N5.Enabled:=False;
end;
//===После добавление записи в справочник "Услуги компании"===
procedure TDataM.ADOTuslugiAfterInsert(DataSet: TDataSet);
begin
Uuslugi.Fuslugi.N1.Enabled:=False;
Uuslugi.Fuslugi.N3.Enabled:=False;
Uuslugi.Fuslugi.N4.Enabled:=True;
Uuslugi.Fuslugi.N5.Enabled:=False;
end;
//===После сохранения записи в справочник "Услуги компании"===
Размещено на http://www.allbest.ru/
procedure TDataM.ADOTuslugiAfterPost(DataSet: TDataSet);
begin
Uuslugi.Fuslugi.N1.Enabled:=True;
Uuslugi.Fuslugi.N3.Enabled:=True;
Uuslugi.Fuslugi.N4.Enabled:=False;
Uuslugi.Fuslugi.N5.Enabled:=True;
ADOTklient.Refresh;
end;
//===После отмены в справочнике "Узлы оргтехники"===
procedure TDataM.ADOTuzelAfterCancel(DataSet: TDataSet);
begin
Uuzel.Fuzel.N1.Enabled:=True;
Uuzel.Fuzel.N3.Enabled:=True;
Uuzel.Fuzel.N4.Enabled:=False;
Uuzel.Fuzel.N5.Enabled:=True;
end;
//===После удаления записи в справочнике "Узлы оргтехники"===
procedure TDataM.ADOTuzelAfterDelete(DataSet: TDataSet);
begin
Uuzel.Fuzel.N1.Enabled:=True;
Uuzel.Fuzel.N3.Enabled:=True;
Uuzel.Fuzel.N4.Enabled:=False;
Uuzel.Fuzel.N5.Enabled:=True;
end;
//===После изменения записи в справочнике "Узлы оргтехники"===
procedure TDataM.ADOTuzelAfterEdit(DataSet: TDataSet);
begin
Uuzel.Fuzel.N1.Enabled:=False;
Uuzel.Fuzel.N3.Enabled:=False;
Uuzel.Fuzel.N4.Enabled:=True;
Размещено на http://www.allbest.ru/
Uuzel.Fuzel.N5.Enabled:=False;
end;
//===После добавление записи в справочник "Узлы оргтехники"===
procedure TDataM.ADOTuzelAfterInsert(DataSet: TDataSet);
begin
Uuzel.Fuzel.N1.Enabled:=False;
Uuzel.Fuzel.N3.Enabled:=False;
Uuzel.Fuzel.N4.Enabled:=True;
Uuzel.Fuzel.N5.Enabled:=False;
end;
//===После сохранения записи в справочник "Узлы оргтехники"===
procedure TDataM.ADOTuzelAfterPost(DataSet: TDataSet);
begin
Uuzel.Fuzel.N1.Enabled:=True;
Uuzel.Fuzel.N3.Enabled:=True;
Uuzel.Fuzel.N4.Enabled:=False;
Uuzel.Fuzel.N5.Enabled:=True;
ADOTklient.Refresh;
end;
//===Отображение суммы заказа===
procedure TDataM.DSremontDataChange(Sender: TObject; Field: TField);
begin
ADOQSumRab.Close;
ADOQSumRab.Parameters.ParamValues['N']:=ADOTremontНомерЗаказа.
Value;
ADOQSumRab.Open;
ADOQSumRas.Close;
ADOQSumRas.Parameters.ParamValues['N']:=ADOTremontНомерЗаказа.
Value;
ADOQSumRas.Open;
Размещено на http://www.allbest.ru/
UMain.FMain.Edit2.Text:=Format('%m',[ADOQSumRasУзлы.Value+ADO
QSumRabРаботы.Value]);
end;
//===Переход по записям таблицы заказов===
procedure TDataM.DSzakazDataChange(Sender: TObject; Field: TField);
begin
if UDataM.DataM.ADOTzakazВидЗаказа.Value='Проведение ТО' then
begin
UMain.FMain.Panel4.Visible:=False;
UMain.FMain.Panel3.Visible:=True;
UMain.FMain.GroupBox13.Visible:=True;
UMain.FMain.GroupBox10.Visible:=False;
end;
if UDataM.DataM.ADOTzakazВидЗаказа.Value='Разработка ПО' then
begin
UMain.FMain.Panel3.Visible:=False;
UMain.FMain.Panel4.Visible:=True;
UMain.FMain.GroupBox13.Visible:=False;
UMain.FMain.GroupBox10.Visible:=True;
end;
end;
end.
Модуль главной формы (UMain)
unit UMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,Dialogs, Menus, ExtCtrls, DBCtrls, StdCtrls, Grids, DBGrids, Mask,
ComCtrls, Buttons;
var
Размещено на http://www.allbest.ru/
FMain: TFMain;
implementation
uses UDataM, Uklient, Uuslugi, Uuzel, Utex, Umarka, UReport, Uspr;
{$R *.dfm}
//===Поиск заказа===
procedure TFMain.BitBtn1Click(Sender: TObject);
begin
UDataM.DataM.ADOTzakaz.Filter:='НомерЗаказа='+Edit3.Text;
UDataM.DataM.ADOTzakaz.Filtered:=True;
RadioGroup1.ItemIndex:=-1;
end;
//===Добавить дату этапа===
procedure TFMain.MonthCalendar1DblClick(Sender: TObject);
begin
If DBGrid5.SelectedIndex=2 Then
begin
UDataM.DataM.ADOTgraf.Edit;
UDataM.DataM.ADOTgraf.FieldValues['ДатаЭтапа']:=DateToStr(MonthCalenda
r1.Date);
UDataM.DataM.ADOTgraf.Post;
end;
If DBGrid5.SelectedIndex=3 Then
begin
UDataM.DataM.ADOTgraf.Edit;
UDataM.DataM.ADOTgraf.FieldValues['ДатаЗавершенияЭтапа']:=DateToStr(M
onthCalendar1.Date);
UDataM.DataM.ADOTgraf.Post;
end;
end;
//===Справочник "Узлы оргтехники"===
Размещено на http://www.allbest.ru/
procedure TFMain.N8Click(Sender: TObject);
begin
Uuzel.Fuzel.ShowModal;
end;
//===Справочник "Оргтехника"===
procedure TFMain.N6Click(Sender: TObject);
begin
Utex.Ftex.ShowModal;
end;
//===Справочник "Услуги марки оргтехники"===
procedure TFMain.N7Click(Sender: TObject);
begin
Umarka.Fmarka.ShowModal;
end;
//===Справочник "Услуги компании"===
procedure TFMain.N9Click(Sender: TObject);
begin
Uuslugi.Fuslugi.ShowModal;
end;
//===Фильтр заказов===
procedure TFMain.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex=0 then
begin
UDataM.DataM.ADOTzakaz.Filtered:=False;
end;
if RadioGroup1.ItemIndex=1 then
begin
UDataM.DataM.ADOTzakaz.Filter:='ВидЗаказа='+Chr(39) +'Проведение
ТО'+Chr(39);
Размещено на http://www.allbest.ru/
UDataM.DataM.ADOTzakaz.Filtered:=True;
end;
if RadioGroup1.ItemIndex=2 then
begin
UDataM.DataM.ADOTzakaz.Filter:='ВидЗаказа='+Chr(39)
+'Разработка
ПО'+Chr(39);
UDataM.DataM.ADOTzakaz.Filtered:=True;
end;
end;
//===Справочник "Клиенты компании"===
procedure TFMain.N10Click(Sender: TObject);
begin
Uklient.Fklient.ShowModal;
end;
//===Акт приема-передачи===
procedure TFMain.N11Click(Sender: TObject);
var
Name, NameS: OleVariant;
n: integer;
S: string;
begin
IF UDataM.DataM.ADOTzakazНомерЗаказа.Value=Null Then
begin
Showmessage('Выберите заказ на проведение ТО!');
Exit;
end;
n:=1;
Name:=ExtractFilePath(Application.ExeName)+'\documents\Акт
передачи.doc';
S:=IntToStr(UDataM.DataM.ADOTzakazНомерЗаказа.Value);
приема-
Размещено на http://www.allbest.ru/
NameS:=ExtractFilePath(Application.ExeName)+'\temp\Акт
приема-
передачи №'+S+'.doc';
UDataM.DataM.WordApp.Connect;
Try
Application.Minimize;
UDataM.DataM.WordApp.Documents.Open(Name,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
UDataM.DataM.WordDoc.ConnectTo(UDataM.DataM.WordApp.ActiveDo
cument);
UDataM.DataM.WordDoc.SaveAs(NameS);
UDataM.DataM.WordDoc.Tables.Item(1).Cell(1,2).Range.InsertBefore(S);
S:=DateToStr(UDataM.DataM.ADOTzakazДатаЗаказа.Value);
UDataM.DataM.WordDoc.Tables.Item(1).Cell(1,4).Range.InsertBefore(S);
S:=DBEdit1.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(1,2).Range.InsertBefore(S);
S:=DBEdit3.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(2,2).Range.InsertBefore(S);
S:=DBEdit4.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(3,2).Range.InsertBefore(S);
S:=DBEdit5.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(4,2).Range.InsertBefore(S);
S:=DBEdit6.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(5,2).Range.InsertBefore(S);
S:=DBEdit2.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(6,2).Range.InsertBefore(S);
S:='';
For n:=0 to DBMemo1.Lines.Count-1 do
Размещено на http://www.allbest.ru/
S:=S+DBMemo1.Lines.Strings[n];
UDataM.DataM.WordDoc.Tables.Item(2).Cell(2,4).Range.InsertBefore(S);
Except
begin
ShowMessage('Шаблон документа "Акт приема-передачи" не найден!');
UDataM.DataM.WordApp.Disconnect;
Application.Restore;
exit;
end;
end;
UDataM.DataM.WordApp.Disconnect;
Application.Restore;
end;
//===Наряд на ТО===
procedure TFMain.N12Click(Sender: TObject);
var
Name, NameS: OleVariant;
n: integer;
S: string;
begin
IF UDataM.DataM.ADOTzakazНомерЗаказа.Value=Null Then
begin
Showmessage('Выберите заказ на проведение ТО!');
Exit;
end;
Name:=ExtractFilePath(Application.ExeName)+'\documents\Наряд
на
проведение ТО.doc';
S:=IntToStr(UDataM.DataM.ADOTzakazНомерЗаказа.Value);
NameS:=ExtractFilePath(Application.ExeName)+'\temp\Наряд
проведение ТО №'+S+'.doc';
на
Размещено на http://www.allbest.ru/
UDataM.DataM.WordApp.Connect;
Try
Application.Minimize;
UDataM.DataM.WordApp.Documents.Open(Name,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
UDataM.DataM.WordDoc.ConnectTo(UDataM.DataM.WordApp.ActiveDo
cument);
UDataM.DataM.WordDoc.SaveAs(NameS);
UDataM.DataM.WordDoc.Tables.Item(1).Cell(1,2).Range.InsertBefore(S);
S:=DateToStr(UDataM.DataM.ADOTzakazДатаЗаказа.Value);
UDataM.DataM.WordDoc.Tables.Item(1).Cell(1,4).Range.InsertBefore(S);
S:=DBEdit1.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(1,2).Range.InsertBefore(S);
S:=DBEdit3.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(2,2).Range.InsertBefore(S);
S:=DBEdit4.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(3,2).Range.InsertBefore(S);
S:=DBEdit5.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(4,2).Range.InsertBefore(S);
S:=DBEdit6.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(5,2).Range.InsertBefore(S);
S:=DBEdit2.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(6,2).Range.InsertBefore(S);
S:=DBEDate1.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(7,2).Range.InsertBefore(S);
S:='';
For n:=0 to DBMemo1.Lines.Count-1 do
Размещено на http://www.allbest.ru/
S:=S+DBMemo1.Lines.Strings[n];
UDataM.DataM.WordDoc.Tables.Item(2).Cell(2,4).Range.InsertBefore(S);
n:=1;
With UDataM.DataM.ADOTrab do
begin
First;
while not EOF do
begin
S:=IntToStr(n);
UDataM.DataM.WordDoc.Tables.Item(3).Cell(n+1,1).Range.InsertBefore(S
);
S:=UDataM.DataM.ADOTrabУслуга.Value;
UDataM.DataM.WordDoc.Tables.Item(3).Cell(n+1,2).Range.InsertBefore(S
);
S:=IntToStr(UDataM.DataM.ADOTrabКоличество.Value);
UDataM.DataM.WordDoc.Tables.Item(3).Cell(n+1,3).Range.InsertBefore(S
);
UDataM.DataM.WordDoc.Tables.Item(3).Rows.Add(EmptyParam);
inc(n);
Next;
end;
end;
UDataM.DataM.WordDoc.Tables.Item(3).Rows.Item(n+1).Delete;
Except
begin
ShowMessage('Шаблон документа "Наряд на проведение ТО" не
найден!');
UDataM.DataM.WordApp.Disconnect;
Application.Restore;
exit;
Размещено на http://www.allbest.ru/
end;
end;
UDataM.DataM.WordApp.Disconnect;
Application.Restore;
end;
//===Дефектная ведомость===
procedure TFMain.N13Click(Sender: TObject);
var
Name, NameS: OleVariant;
n: integer;
S: string;
begin
IF UDataM.DataM.ADOTzakazНомерЗаказа.Value=Null Then
begin
Showmessage('Выберите заказ на проведение ТО!');
Exit;
end;
Name:=ExtractFilePath(Application.ExeName)+'\documents\Дефектная
ведомость.doc';
S:=IntToStr(UDataM.DataM.ADOTzakazНомерЗаказа.Value);
NameS:=ExtractFilePath(Application.ExeName)+'\temp\Дефектная
ведомость №'+S+'.doc';
UDataM.DataM.WordApp.Connect;
Try
Application.Minimize;
UDataM.DataM.WordApp.Documents.Open(Name,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
Размещено на http://www.allbest.ru/
UDataM.DataM.WordDoc.ConnectTo(UDataM.DataM.WordApp.ActiveDo
cument);
UDataM.DataM.WordDoc.SaveAs(NameS);
UDataM.DataM.WordDoc.Tables.Item(1).Cell(1,2).Range.InsertBefore(S);
S:=DateToStr(UDataM.DataM.ADOTzakazДатаЗаказа.Value);
UDataM.DataM.WordDoc.Tables.Item(1).Cell(1,4).Range.InsertBefore(S);
S:=DBEdit1.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(1,2).Range.InsertBefore(S);
S:=DBEdit3.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(2,2).Range.InsertBefore(S);
S:=DBEdit4.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(3,2).Range.InsertBefore(S);
S:=DBEdit5.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(4,2).Range.InsertBefore(S);
S:=DBEdit6.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(5,2).Range.InsertBefore(S);
S:=DBEdit2.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(6,2).Range.InsertBefore(S);
S:=DBEDate1.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(7,2).Range.InsertBefore(S);
S:=DBEdit7.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(8,2).Range.InsertBefore(S);
S:='';
For n:=0 to DBMemo1.Lines.Count-1 do
S:=S+DBMemo1.Lines.Strings[n];
UDataM.DataM.WordDoc.Tables.Item(2).Cell(2,4).Range.InsertBefore(S);
n:=1;
With UDataM.DataM.ADOTrab do
begin
First;
Размещено на http://www.allbest.ru/
while not EOF do
begin
S:=IntToStr(n);
UDataM.DataM.WordDoc.Tables.Item(3).Cell(n+1,1).Range.InsertBefore(S
);
S:=UDataM.DataM.ADOTrabУслуга.Value;
UDataM.DataM.WordDoc.Tables.Item(3).Cell(n+1,2).Range.InsertBefore(S);
S:=Format('%m',[UDataM.DataM.ADOTrabЦена.Value]);
UDataM.DataM.WordDoc.Tables.Item(3).Cell(n+1,3).Range.InsertBefore(S);
S:=IntToStr(UDataM.DataM.ADOTrabКоличество.Value);
UDataM.DataM.WordDoc.Tables.Item(3).Cell(n+1,4).Range.InsertBefore(S);
S:=Format('%m',[UDataM.DataM.ADOTrabСумма.Value]);
UDataM.DataM.WordDoc.Tables.Item(3).Cell(n+1,5).Range.InsertBefore(S);
UDataM.DataM.WordDoc.Tables.Item(3).Rows.Add(EmptyParam);
inc(n);
Next;
end;
end;
UDataM.DataM.WordDoc.Tables.Item(3).Rows.Item(n+1).Delete;
n:=1;
With UDataM.DataM.ADOTras do
begin
First;
while not EOF do
begin
S:=IntToStr(n);
UDataM.DataM.WordDoc.Tables.Item(4).Cell(n+1,1).Range.InsertBefore(S);
S:=UDataM.DataM.ADOTrasУзел.Value;
UDataM.DataM.WordDoc.Tables.Item(4).Cell(n+1,2).Range.InsertBefore(S);
Размещено на http://www.allbest.ru/
S:=Format('%m',[UDataM.DataM.ADOTrasЦена.Value]);
UDataM.DataM.WordDoc.Tables.Item(4).Cell(n+1,3).Range.InsertBefore(S);
S:=IntToStr(UDataM.DataM.ADOTrasКоличество.Value);
UDataM.DataM.WordDoc.Tables.Item(4).Cell(n+1,4).Range.InsertBefore(S);
S:=Format('%m',[UDataM.DataM.ADOTrasСумма.Value]);
UDataM.DataM.WordDoc.Tables.Item(4).Cell(n+1,5).Range.InsertBefore(S);
UDataM.DataM.WordDoc.Tables.Item(4).Rows.Add(EmptyParam);
inc(n);
Next;
end;
end;
UDataM.DataM.WordDoc.Tables.Item(4).Rows.Item(n+1).Delete;
S:=Format('%m',[UDataM.DataM.ADOQSumRabРаботы.Value]);
UDataM.DataM.WordDoc.Tables.Item(5).Cell(1,2).Range.InsertBefore(S);
S:=Format('%m',[UDataM.DataM.ADOQSumRasУзлы.Value]);
UDataM.DataM.WordDoc.Tables.Item(5).Cell(2,2).Range.InsertBefore(S);
S:=Edit2.Text;
UDataM.DataM.WordDoc.Tables.Item(5).Cell(3,2).Range.InsertBefore(S);
Except
begin
ShowMessage('Шаблон документа "Дефектная ведомость" не найден!');
UDataM.DataM.WordApp.Disconnect;
Application.Restore;
exit;
end;
end;
UDataM.DataM.WordApp.Disconnect;
Application.Restore;
end;
//===Акт выполненных работ===
Размещено на http://www.allbest.ru/
procedure TFMain.N14Click(Sender: TObject);
var
Name, NameS: OleVariant;
Sum: single;
n: integer;
S: string;
begin
IF UDataM.DataM.ADOTzakazНомерЗаказа.Value=Null Then
begin
Showmessage('Выберите заказ на проведение ТО!');
Exit;
end;
Name:=ExtractFilePath(Application.ExeName)+'\documents\Акт
выполненных работ.doc';
S:=IntToStr(UDataM.DataM.ADOTzakazНомерЗаказа.Value);
NameS:=ExtractFilePath(Application.ExeName)+'\temp\Акт выполненных
работ №'+S+'.doc';
UDataM.DataM.WordApp.Connect;
Try
Application.Minimize;
UDataM.DataM.WordApp.Documents.Open(Name,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
UDataM.DataM.WordDoc.ConnectTo(UDataM.DataM.WordApp.ActiveDocumen
t);
UDataM.DataM.WordDoc.SaveAs(NameS);
UDataM.DataM.WordDoc.Tables.Item(1).Cell(1,2).Range.InsertBefore(S);
Размещено на http://www.allbest.ru/
S:=DateToStr(UDataM.DataM.ADOTzakazДатаЗаказа.Value);
UDataM.DataM.WordDoc.Tables.Item(1).Cell(1,4).Range.InsertBefore(S);
S:=DBEdit1.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(1,2).Range.InsertBefore(S);
S:=DBEdit3.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(2,2).Range.InsertBefore(S);
S:=DBEdit4.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(3,2).Range.InsertBefore(S);
S:=DBEdit5.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(4,2).Range.InsertBefore(S);
S:=DBEdit6.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(5,2).Range.InsertBefore(S);
S:=DBEdit2.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(6,2).Range.InsertBefore(S);
S:=DBEDate1.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(7,2).Range.InsertBefore(S);
S:=DBEdit7.Text;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(8,2).Range.InsertBefore(S);
S:='';
For n:=0 to DBMemo1.Lines.Count-1 do
S:=S+DBMemo1.Lines.Strings[n];
UDataM.DataM.WordDoc.Tables.Item(2).Cell(2,4).Range.InsertBefore(S);
n:=1;
With UDataM.DataM.ADOTrab do
begin
First;
while not EOF do
begin
S:=IntToStr(n);
UDataM.DataM.WordDoc.Tables.Item(3).Cell(n+1,1).Range.InsertBefore(S);
Размещено на http://www.allbest.ru/
S:=UDataM.DataM.ADOTrabУслуга.Value;
UDataM.DataM.WordDoc.Tables.Item(3).Cell(n+1,2).Range.InsertBefore(S);
S:=Format('%m',[UDataM.DataM.ADOTrabЦена.Value]);
UDataM.DataM.WordDoc.Tables.Item(3).Cell(n+1,3).Range.InsertBefore(S);
S:=IntToStr(UDataM.DataM.ADOTrabКоличество.Value);
UDataM.DataM.WordDoc.Tables.Item(3).Cell(n+1,4).Range.InsertBefore(S);
S:=Format('%m',[UDataM.DataM.ADOTrabСумма.Value]);
UDataM.DataM.WordDoc.Tables.Item(3).Cell(n+1,5).Range.InsertBefore(S);
UDataM.DataM.WordDoc.Tables.Item(3).Rows.Add(EmptyParam);
inc(n);
Next;
end;
end;
UDataM.DataM.WordDoc.Tables.Item(3).Rows.Item(n+1).Delete;
n:=1;
With UDataM.DataM.ADOTras do
begin
First;
while not EOF do
begin
S:=IntToStr(n);
UDataM.DataM.WordDoc.Tables.Item(4).Cell(n+1,1).Range.InsertBefore(S);
S:=UDataM.DataM.ADOTrasУзел.Value;
UDataM.DataM.WordDoc.Tables.Item(4).Cell(n+1,2).Range.InsertBefore(S);
S:=Format('%m',[UDataM.DataM.ADOTrasЦена.Value]);
UDataM.DataM.WordDoc.Tables.Item(4).Cell(n+1,3).Range.InsertBefore(S);
S:=IntToStr(UDataM.DataM.ADOTrasКоличество.Value);
UDataM.DataM.WordDoc.Tables.Item(4).Cell(n+1,4).Range.InsertBefore(S);
S:=Format('%m',[UDataM.DataM.ADOTrasСумма.Value]);
UDataM.DataM.WordDoc.Tables.Item(4).Cell(n+1,5).Range.InsertBefore(S);
Размещено на http://www.allbest.ru/
UDataM.DataM.WordDoc.Tables.Item(4).Rows.Add(EmptyParam);
inc(n);
Next;
end;
end;
UDataM.DataM.WordDoc.Tables.Item(4).Rows.Item(n+1).Delete;
S:=Format('%m',[UDataM.DataM.ADOQSumRabРаботы.Value]);
UDataM.DataM.WordDoc.Tables.Item(5).Cell(1,2).Range.InsertBefore(S);
S:=Format('%m',[UDataM.DataM.ADOQSumRasУзлы.Value]);
UDataM.DataM.WordDoc.Tables.Item(5).Cell(2,2).Range.InsertBefore(S);
S:=Edit2.Text;
UDataM.DataM.WordDoc.Tables.Item(5).Cell(3,2).Range.InsertBefore(S);
S:=IntToStr(UDataM.DataM.ADOTzakazСкидка.Value);
UDataM.DataM.WordDoc.Tables.Item(5).Cell(4,2).Range.InsertBefore(S);
Sum:=UDataM.DataM.ADOQSumRasУзлы.Value+DataM.ADOQSumRabРабот
ы.Value;
Sum:=Sum-(Sum*UDataM.DataM.ADOTzakazСкидка.Value/100);
S:=Format('%m',[Sum]);
UDataM.DataM.WordDoc.Tables.Item(5).Cell(5,2).Range.InsertBefore(S);
Except
begin
ShowMessage('Шаблон документа "Акт выполненных работ" не
найден!');
UDataM.DataM.WordApp.Disconnect;
Application.Restore;
exit;
end;
end;
UDataM.DataM.WordApp.Disconnect;
Application.Restore;
Размещено на http://www.allbest.ru/
end;
//===Отчет ТО===
procedure TFMain.N15Click(Sender: TObject);
begin
Ureport.FReport.Caption:='Отчет ТО';
Ureport.FReport.ShowModal;
end;
//===Отчет ПО===
procedure TFMain.N16Click(Sender: TObject);
begin
Ureport.FReport.Caption:='Отчет ПО';
Ureport.FReport.ShowModal;
end;
//===Выход===
procedure TFMain.N17Click(Sender: TObject);
begin
FMain.Close;
end;
//===Справка===
procedure TFMain.N5Click(Sender: TObject);
begin
Uspr.Fspr.ShowModal;
end;
//===Добавить заказ на проведение ТО===
procedure TFMain.SBAddClick(Sender: TObject);
begin
Panel4.Visible:=False;
Panel3.Visible:=True;
UDataM.DataM.ADOTzakaz.Insert;
DBLookupComboBox3.Visible:=True;
Размещено на http://www.allbest.ru/
DBLookupComboBox2.Visible:=True;
DBLookupComboBox4.Visible:=True;
DateTimePicker1.Enabled:=True;
DateTimePicker1.Date:=Date();
DateTimePicker2.Enabled:=True;
DateTimePicker2.Date:=Date();
DBMemo1.Visible:=False;
DBComboBox1.ReadOnly:=True;
Memo1.Visible:=True;
Memo1.Clear;
Edit1.Visible:=True;
Edit1.Clear;
DBEdit2.Visible:=False;
DBEDate1.Visible:=False;
DBEdit7.Visible:=False;
DBEdit1.Visible:=False;
DBEdit5.Visible:=False;
DBEdit6.Visible:=False;
SBAdd.Enabled:=False;
SBSave.Enabled:=True;
SBdelet.Enabled:=False;
end;
//===Добавить заказ на разработку ПО===
procedure TFMain.SBAddPOClick(Sender: TObject);
begin
Panel3.Visible:=False;
Panel4.Visible:=True;
UDataM.DataM.ADOTzakaz.Insert;
DBLookupComboBox7.Visible:=True;
DBComboBox2.ReadOnly:=True;
Размещено на http://www.allbest.ru/
DBMemo2.Visible:=False;
Memo2.Visible:=True;
Memo2.Clear;
Edit5.Visible:=True;
Edit5.Clear;
DBEdit13.Visible:=False;
DBEdit11.Visible:=False;
Edit4.Visible:=True;
Edit4.Clear;
DBEdit12.Visible:=False;
SBAddPO.Enabled:=False;
SBSavePO.Enabled:=True;
SBdeletPO.Enabled:=False;
end;
//===Отменить заказ на проведение ТО===
procedure TFMain.SBcancelClick(Sender: TObject);
begin
UDataM.DataM.ADOTzakaz.Cancel;
UDataM.DataM.ADOTremont.Cancel;
DateTimePicker1.Enabled:=False;
DateTimePicker2.Enabled:=False;
DBComboBox1.ReadOnly:=False;
DBMemo1.Visible:=True;
Memo1.Visible:=False;
DBLookupComboBox3.Visible:=False;
DBLookupComboBox2.Visible:=False;
DBLookupComboBox4.Visible:=False;
Edit1.Visible:=False;
DBEDate1.Visible:=True;
DBEdit7.Visible:=True;
Размещено на http://www.allbest.ru/
DBEdit2.Visible:=True;
DBEdit1.Visible:=True;
DBEdit5.Visible:=True;
DBEdit6.Visible:=True;
SBAdd.Enabled:=True;
SBSave.Enabled:=False;
SBdelet.Enabled:=True;
end;
//===Отменить заказ на разработку ПО===
procedure TFMain.SBcancelPOClick(Sender: TObject);
begin
UDataM.DataM.ADOTzakaz.Cancel;
UDataM.DataM.ADOTprog.Cancel;
DBLookupComboBox7.Visible:=False;
DBComboBox2.ReadOnly:=False;
DBMemo2.Visible:=True;
Memo2.Visible:=False;
Edit5.Visible:=False;
DBEdit13.Visible:=True;
DBEdit11.Visible:=True;
Edit4.Visible:=False;
DBEdit12.Visible:=True;
SBAddPO.Enabled:=True;
SBSavePO.Enabled:=False;
SBdeletPO.Enabled:=True;
end;
//===Удалить заказ на проведение ТО===
procedure TFMain.SBdeletClick(Sender: TObject);
begin
IF MessageBox(Handle,' УДАЛЕНИЕ ЗАПИСИ!!!'+#10+#10+
Размещено на http://www.allbest.ru/
'Вы действительно хотите удалить запись?'+#10+#10+
'После нажатия на кнопку ДА, данные будут удалены.'+#10+
'Для отмены удаления нажмите на кнопку НЕТ.', 'ВНИМАНИЕ!!!',
MB_YesNo+MB_ICONWARNING+MB_TaskModal) = mrYes Then
UDataM.DataM.ADOTzakaz.Delete;
end;
//===Удалить заказ на разработку ПО===
procedure TFMain.SBdeletPOClick(Sender: TObject);
begin
IF MessageBox(Handle,' УДАЛЕНИЕ ЗАПИСИ!!!'+#10+#10+
'Вы действительно хотите удалить запись?'+#10+#10+
'После нажатия на кнопку ДА, данные будут удалены.'+#10+
'Для отмены удаления нажмите на кнопку НЕТ.', 'ВНИМАНИЕ!!!',
MB_YesNo+MB_ICONWARNING+MB_TaskModal) = mrYes Then
UDataM.DataM.ADOTzakaz.Delete;
end;
//===Сохранить заказ на проведение ТО===
procedure TFMain.SBSaveClick(Sender: TObject);
var
M: String;
i: integer;
begin
if DBLookupComboBox3.Text='' then
begin
Showmessage('Выберите клиента!');
Exit;
end;
if DBLookupComboBox2.Text='' then
begin
Showmessage('Выберите технику!');
Размещено на http://www.allbest.ru/
Exit;
end;
if DBLookupComboBox4.Text='' then
begin
Showmessage('Выберите марку техники!');
Exit;
end;
if Edit1.Text='' then
begin
Showmessage('Введите серийный номер техники!');
Exit;
end;
UDataM.DataM.ADOTzakazКодКлиента.Value:=UDataM.DataM.ADOTklientК
одКлиента.Value;
UDataM.DataM.ADOTzakazДатаЗаказа.Value:=Date();
UDataM.DataM.ADOTzakazВидЗаказа.Value:='Проведение ТО';
UDataM.DataM.ADOTzakaz.Post;
UDataM.DataM.ADOTzakaz.Refresh;
UDataM.DataM.ADOTremont.Insert;
UDataM.DataM.ADOTremontНомерЗаказа.Value:=UDataM.DataM.ADOTzakaz
НомерЗаказа.Value;
UDataM.DataM.ADOTremontКодТехники.Value:=UDataM.DataM.ADOTtexКо
дТехники.Value;
UDataM.DataM.ADOTremontКодМарки.Value:=UDataM.DataM.ADOTmarkiК
одМарки.Value;
UDataM.DataM.ADOTremontСтатус.Value:='на
выполнении';
UDataM.DataM.ADOTremont.FieldValues['ДатаРемонта']:=DateToStr(DateTime
Picker1.Date);
UDataM.DataM.ADOTremont.FieldValues['ДатаЗавершения']:=DateToStr(Date
TimePicker2.Date);
Размещено на http://www.allbest.ru/
UDataM.DataM.ADOTremontСерийныйНомер.Value:=Edit1.Text;
For i:=0 to Memo1.Lines.Count-1 do
M:=M+Memo1.Lines.Strings[i];
UDataM.DataM.ADOTremontОписание.Value:=M;
UDataM.DataM.ADOTremont.Post;
UDataM.DataM.ADOTremont.Refresh;
DateTimePicker1.Enabled:=False;
DateTimePicker2.Enabled:=False;
DBComboBox1.ReadOnly:=False;
DBMemo1.Visible:=True;
Memo1.Visible:=False;
DBLookupComboBox3.Visible:=False;
DBLookupComboBox2.Visible:=False;
DBLookupComboBox4.Visible:=False;
Edit1.Visible:=False;
DBEDate1.Visible:=True;
DBEdit7.Visible:=True;
DBEdit2.Visible:=True;
DBEdit1.Visible:=True;
DBEdit5.Visible:=True;
DBEdit6.Visible:=True;
SBAdd.Enabled:=True;
SBSave.Enabled:=False;
SBdelet.Enabled:=True;
end;
//===Сохранить заказ на разработку ПО===
procedure TFMain.SBSavePOClick(Sender: TObject);
var
M: String;
i: integer;
Размещено на http://www.allbest.ru/
begin
if DBLookupComboBox7.Text='' then
begin
Showmessage('Выберите клиента!');
Exit;
end;
if Edit5.Text='' then
begin
Showmessage('Введите имя программного обеспечения!');
Exit;
end;
if Edit4.Text='' then
begin
Showmessage('Введите цену программного обеспечения!');
Exit;
end;
UDataM.DataM.ADOTzakazКодКлиента.Value:=UDataM.DataM.ADOTklientК
одКлиента.Value;
UDataM.DataM.ADOTzakazДатаЗаказа.Value:=Date();
UDataM.DataM.ADOTzakazВидЗаказа.Value:='Разработка ПО';
UDataM.DataM.ADOTzakaz.Post;
UDataM.DataM.ADOTzakaz.Refresh;
UDataM.DataM.ADOTprog.Insert;
UDataM.DataM.ADOTprogНомерЗаказа.Value:=UDataM.DataM.ADOTzakazН
омерЗаказа.Value;
UDataM.DataM.ADOTprogИмяПО.Value:=Edit5.Text;
UDataM.DataM.ADOTprogЦена.Value:=StrToFloat(Edit4.Text);
UDataM.DataM.ADOTprogСтатус.Value:='на выполнении';
For i:=0 to Memo2.Lines.Count-1 do
M:=M+Memo2.Lines.Strings[i];
Размещено на http://www.allbest.ru/
UDataM.DataM.ADOTprogОписание.Value:=M;
UDataM.DataM.ADOTprog.Post;
UDataM.DataM.ADOTprog.Refresh;
UDataM.DataM.ADOTgraf.Insert;
UDataM.DataM.ADOTgrafНомерЗаказа.Value:=UDataM.DataM.ADOTzakazНо
мерЗаказа.Value;
UDataM.DataM.ADOTgrafЭтап.Value:=1;
UDataM.DataM.ADOTgrafНаименование.Value:='Проектирование';
UDataM.DataM.ADOTgrafСтатусЭтапа.Value:='в разработке';
UDataM.DataM.ADOTgraf.Post;
UDataM.DataM.ADOTgraf.Refresh;
UDataM.DataM.ADOTgraf.Insert;
UDataM.DataM.ADOTgrafНомерЗаказа.Value:=UDataM.DataM.ADOTzakazНо
мерЗаказа.Value;
UDataM.DataM.ADOTgrafЭтап.Value:=2;
UDataM.DataM.ADOTgrafНаименование.Value:='Разработка';
UDataM.DataM.ADOTgrafСтатусЭтапа.Value:='в разработке';
UDataM.DataM.ADOTgraf.Post;
UDataM.DataM.ADOTgraf.Refresh;
UDataM.DataM.ADOTgraf.Insert;
UDataM.DataM.ADOTgrafНомерЗаказа.Value:=UDataM.DataM.ADOTzakazНо
мерЗаказа.Value;
UDataM.DataM.ADOTgrafЭтап.Value:=3;
UDataM.DataM.ADOTgrafНаименование.Value:='Тестирование';
UDataM.DataM.ADOTgrafСтатусЭтапа.Value:='в разработке';
UDataM.DataM.ADOTgraf.Post;
UDataM.DataM.ADOTgraf.Refresh;
UDataM.DataM.ADOTgraf.Insert;
UDataM.DataM.ADOTgrafНомерЗаказа.Value:=UDataM.DataM.ADOTzakazНо
мерЗаказа.Value;
Размещено на http://www.allbest.ru/
UDataM.DataM.ADOTgrafЭтап.Value:=4;
UDataM.DataM.ADOTgrafНаименование.Value:='Внедрение';
UDataM.DataM.ADOTgrafСтатусЭтапа.Value:='в разработке';
UDataM.DataM.ADOTgraf.Post;
UDataM.DataM.ADOTgraf.Refresh;
DBLookupComboBox7.Visible:=False;
DBComboBox2.ReadOnly:=False;
DBMemo2.Visible:=True;
Memo2.Visible:=False;
Edit5.Visible:=False;
DBEdit13.Visible:=True;
DBEdit11.Visible:=True;
Edit4.Visible:=False;
DBEdit12.Visible:=True;
SBAddPO.Enabled:=True;
SBSavePO.Enabled:=False;
SBdeletPO.Enabled:=True;
end;
end.
Модуль формы справочника «Клиенты компании» (Uklient)
unit Uklient;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,Dialogs, Menus, Grids, DBGrids, StdCtrls, Buttons, DBCtrls;
var
Fklient: TFklient;
implementation
uses UMain, UDataM;
{$R *.dfm}
Размещено на http://www.allbest.ru/
//===Переход по записям===
procedure TFklient.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
ToIndex: Integer);
begin
N1.Enabled:=True;
N3.Enabled:=True;
N4.Enabled:=False;
N5.Enabled:=True;
end;
//===Добавить===
procedure TFklient.N1Click(Sender: TObject);
begin
UDataM.DataM.ADOTklient.Insert;
end;
//===Отменить===
procedure TFklient.N2Click(Sender: TObject);
begin
UDataM.DataM.ADOTklient.Cancel;
end;
//===Изменить===
procedure TFklient.N3Click(Sender: TObject);
begin
UDataM.DataM.ADOTklient.Edit;
end;
//===Сохранить===
procedure TFklient.N4Click(Sender: TObject);
begin
UDataM.DataM.ADOTklient.Post;
end;
//===Удалить===
Размещено на http://www.allbest.ru/
procedure TFklient.N5Click(Sender: TObject);
begin
IF MessageBox(Handle,' УДАЛЕНИЕ ЗАПИСИ!!!'+#10+#10+
'Вы действительно хотите удалить запись?'+#10+#10+
'После нажатия на кнопку ДА, данные будут удалены.'+#10+
'Для отмены удаления нажмите на кнопку НЕТ.', 'ВНИМАНИЕ!!!',
MB_YesNo+MB_ICONWARNING+MB_TaskModal) = mrYes Then
UDataM.DataM.ADOTklient.Delete;
end;
end.
Модуль формы справочника «Услуги компании» (Uuslugi)
unit Uuslugi;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,Dialogs, Grids, DBGrids, Menus, DBCtrls, StdCtrls;
var
Fuslugi: TFuslugi;
implementation
uses UMain, UDataM;
{$R *.dfm}
//===Переход по записям===
procedure TFuslugi.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
ToIndex: Integer);
begin
N1.Enabled:=True;
N3.Enabled:=True;
N4.Enabled:=False;
N5.Enabled:=True;
end;
Размещено на http://www.allbest.ru/
//===Добавить===
procedure TFuslugi.N1Click(Sender: TObject);
begin
UDataM.DataM.ADOTuslugi.Insert;
end;
//===Отменить===
procedure TFuslugi.N2Click(Sender: TObject);
begin
UDataM.DataM.ADOTuslugi.Cancel;
end;
//===Изменить===
procedure TFuslugi.N3Click(Sender: TObject);
begin
UDataM.DataM.ADOTuslugi.Edit;
end;
//===Сохранить===
procedure TFuslugi.N4Click(Sender: TObject);
begin
UDataM.DataM.ADOTuslugi.Post;
end;
//===Удалить===
procedure TFuslugi.N5Click(Sender: TObject);
begin
IF MessageBox(Handle,' УДАЛЕНИЕ ЗАПИСИ!!!'+#10+#10+
'Вы действительно хотите удалить запись?'+#10+#10+
'После нажатия на кнопку ДА, данные будут удалены.'+#10+
'Для отмены удаления нажмите на кнопку НЕТ.', 'ВНИМАНИЕ!!!',
MB_YesNo+MB_ICONWARNING+MB_TaskModal) = mrYes Then
UDataM.DataM.ADOTuslugi.Delete;
end;
Размещено на http://www.allbest.ru/
end.
Модуль формы справочника «Оргтехника» (Utex)
unit Utex;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,Dialogs, Mask, DBCtrls, ExtCtrls, StdCtrls, DBCGrids, Menus;
var
Ftex: TFtex;
implementation
uses UMain, UDataM;
{$R *.dfm}
//===Переход по записям===
procedure TFtex.FormClick(Sender: TObject);
begin
N1.Enabled:=True;
N3.Enabled:=True;
N4.Enabled:=False;
N5.Enabled:=True;
end;
//===Добавить===
procedure TFtex.N1Click(Sender: TObject);
begin
UDataM.DataM.ADOTtex.Insert;
end;
//===Отменить===
procedure TFtex.N2Click(Sender: TObject);
begin
UDataM.DataM.ADOTtex.Cancel;
end;
Размещено на http://www.allbest.ru/
//===Изменить===
procedure TFtex.N3Click(Sender: TObject);
begin
UDataM.DataM.ADOTtex.Edit;
end;
//===Сохранить===
procedure TFtex.N4Click(Sender: TObject);
begin
UDataM.DataM.ADOTtex.Post;
end;
//===Удалить===
procedure TFtex.N5Click(Sender: TObject);
begin
IF MessageBox(Handle,' УДАЛЕНИЕ ЗАПИСИ!!!'+#10+#10+
'Вы действительно хотите удалить запись?'+#10+#10+
'После нажатия на кнопку ДА, данные будут удалены.'+#10+
'Для отмены удаления нажмите на кнопку НЕТ.', 'ВНИМАНИЕ!!!',
MB_YesNo+MB_ICONWARNING+MB_TaskModal) = mrYes Then
UDataM.DataM.ADOTtex.Delete;
end;
end.
Модуль формы справочника «Марки оргтехники» (Umarka)
unit Umarka;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,Dialogs, DBCtrls, StdCtrls, Mask, ExtCtrls, DBCGrids, Menus;
var
Fmarka: TFmarka;
implementation
Размещено на http://www.allbest.ru/
uses UMain, UDataM;
{$R *.dfm}
//===Переход по записям===
procedure TFmarka.DBCtrlGrid1Click(Sender: TObject);
begin
N1.Enabled:=True;
N3.Enabled:=True;
N4.Enabled:=False;
N5.Enabled:=True;
end;
//===Добавить===
procedure TFmarka.N1Click(Sender: TObject);
begin
UDataM.DataM.ADOTmarki.Insert;
end;
//===Отменить===
procedure TFmarka.N2Click(Sender: TObject);
begin
UDataM.DataM.ADOTmarki.Cancel;
end;
//===Изменить===
procedure TFmarka.N3Click(Sender: TObject);
begin
UDataM.DataM.ADOTmarki.Edit;
end;
//===Сохранить===
procedure TFmarka.N4Click(Sender: TObject);
begin
UDataM.DataM.ADOTmarki.Post;
end;
Размещено на http://www.allbest.ru/
//===Удалить===
procedure TFmarka.N5Click(Sender: TObject);
begin
IF MessageBox(Handle,' УДАЛЕНИЕ ЗАПИСИ!!!'+#10+#10+
'Вы действительно хотите удалить запись?'+#10+#10+
'После нажатия на кнопку ДА, данные будут удалены.'+#10+
'Для отмены удаления нажмите на кнопку НЕТ.', 'ВНИМАНИЕ!!!',
MB_YesNo+MB_ICONWARNING+MB_TaskModal) = mrYes Then
UDataM.DataM.ADOTmarki.Delete;
end;
end.
Модуль формы (UReport)
unit UReport;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,Dialogs, DBCtrls, StdCtrls, Buttons, ComCtrls;
var
FReport: TFReport;
implementation
uses UMain, UDataM;
{$R *.dfm}
//===Отчеты ТО и ПО
procedure TFReport.SBreportClick(Sender: TObject);
var
Name, NameS: OleVariant;
Sum, SumVZ, SumNVZ: single;
n: integer;
S: string;
begin
Размещено на http://www.allbest.ru/
IF FReport.Caption='Отчет ТО' Then
begin
Name:=ExtractFilePath(Application.ExeName)+'\documents\Отчет
ТО.doc';
NameS:=ExtractFilePath(Application.ExeName)+'\temp\Отчет
ТО'+S+'.doc';
UDataM.DataM.WordApp.Connect;
Try
Application.Minimize;
UDataM.DataM.WordApp.Documents.Open(Name,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
UDataM.DataM.WordDoc.ConnectTo(UDataM.DataM.WordApp.ActiveDo
cument);
UDataM.DataM.WordDoc.SaveAs(NameS);
S:=DateToStr(DateTimePicker1.Date);
UDataM.DataM.WordDoc.Tables.Item(1).Cell(2,2).Range.InsertBefore(S);
S:=DateToStr(DateTimePicker2.Date);
UDataM.DataM.WordDoc.Tables.Item(1).Cell(3,2).Range.InsertBefore(S);
UDataM.DataM.ADOQReportTO.Close;
UDataM.DataM.ADOQReportTO.Parameters.ParamValues['D1']:=DateTim
ePicker1.Date;
UDataM.DataM.ADOQReportTO.Parameters.ParamValues['D2']:=DateTimePicke
r2.Date;
UDataM.DataM.ADOQReportTO.Open;
n:=1; SumVZ:=0; SumNVZ:=0;
With UDataM.DataM.ADOQReportTO do
begin
Размещено на http://www.allbest.ru/
First;
while not EOF do
begin
S:=IntToStr(n);
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,1).Range.InsertBefore(S);
S:=IntToStr(UDataM.DataM.ADOQReportTOЗАКАЗЫНомерЗаказа.Valu
e); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,2).Range.InsertBefore(S);
S:=DateToStr(UDataM.DataM.ADOQReportTOДатаЗаказа.Value);
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,3).Range.InsertBefore(S);
S:=UDataM.DataM.ADOQReportTOКлиент.Value;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,4).Range.InsertBefore(S);
S:=DateToStr(UDataM.DataM.ADOQReportTOДатаРемонта.Value);
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,5).Range.InsertBefore(S);
S:=DateToStr(UDataM.DataM.ADOQReportTOДатаЗавершения.Value);
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,6).Range.InsertBefore(S);
S:=UDataM.DataM.ADOQReportTOСтатус.Value;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,7).Range.InsertBefore(S);
UDataM.DataM.ADOQSumRabR.Close;
UDataM.DataM.ADOQSumRabR.Parameters.ParamValues['N']:=UDataM.DataM
.ADOQReportTOЗАКАЗЫНомерЗаказа.Value;
UDataM.DataM.ADOQSumRabR.Open;
UDataM.DataM.ADOQSumRasR.Close;
UDataM.DataM.ADOQSumRasR.Parameters.ParamValues['N']:=UDataM.DataM.
ADOQReportTOЗАКАЗЫНомерЗаказа.Value;
UDataM.DataM.ADOQSumRasR.Open;
S:=Format('%m',[UDataM.DataM.ADOQSumRabRРаботы.Value+UDataM.Data
M.ADOQSumRasRУзлы.Value]);
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,8).Range.InsertBefore(S);
S:=IntToStr(UDataM.DataM.ADOQReportTOСкидка.Value);
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,9).Range.InsertBefore(S);
Размещено на http://www.allbest.ru/
Sum:=UDataM.DataM.ADOQSumRabRРаботы.Value+UDataM.DataM.ADOQS
umRasRУзлы.Value;
Sum:=Sum-(Sum*UDataM.DataM.ADOQReportTOСкидка.Value/100);
S:=Format('%m',[Sum]);
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,10).Range.InsertBefore(S)
UDataM.DataM.WordDoc.Tables.Item(2).Rows.Add(EmptyParam);
if UDataM.DataM.ADOQReportTOСтатус.Value='завершен' then
SumVZ:=SumVZ+Sum;
if UDataM.DataM.ADOQReportTOСтатус.Value='на выполнении' then
SumNVZ:=SumNVZ+Sum;
inc(n);
Next;
end;
end;
UDataM.DataM.WordDoc.Tables.Item(2).Rows.Item(n+1).Delete;
S:=Format('%m',[SumVZ]);
UDataM.DataM.WordDoc.Tables.Item(3).Cell(1,2).Range.InsertBefore(S);
S:=Format('%m',[SumNVZ]);
UDataM.DataM.WordDoc.Tables.Item(3).Cell(2,2).Range.InsertBefore(S);
S:=Format('%m',[SumVZ+SumNVZ]);
UDataM.DataM.WordDoc.Tables.Item(3).Cell(3,2).Range.InsertBefore(S);
Except
begin
ShowMessage('Шаблон документа "Отчет ТО" не найден!');
UDataM.DataM.WordApp.Disconnect;
Application.Restore;
exit;
end;
end;
UDataM.DataM.WordApp.Disconnect;
Размещено на http://www.allbest.ru/
Application.Restore;
end;
IF FReport.Caption='Отчет ПО' Then
begin
Name:=ExtractFilePath(Application.ExeName)+'\documents\Отчет
ПО.doc';
NameS:=ExtractFilePath(Application.ExeName)+'\temp\Отчет
ПО'+S+'.doc';
UDataM.DataM.WordApp.Connect;
Try
Application.Minimize;
UDataM.DataM.WordApp.Documents.Open(Name,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
UDataM.DataM.WordDoc.ConnectTo(UDataM.DataM.WordApp.ActiveDocumen
t);
UDataM.DataM.WordDoc.SaveAs(NameS);
S:=DateToStr(DateTimePicker1.Date);
UDataM.DataM.WordDoc.Tables.Item(1).Cell(2,2).Range.InsertBefore(S);
S:=DateToStr(DateTimePicker2.Date);
UDataM.DataM.WordDoc.Tables.Item(1).Cell(3,2).Range.InsertBefore(S);
UDataM.DataM.ADOQReportPO.Close;
UDataM.DataM.ADOQReportPO.Parameters.ParamValues['D1']:=DateTimePicke
r1.Date;
UDataM.DataM.ADOQReportPO.Parameters.ParamValues['D2']:=DateTimePicke
r2.Date;
UDataM.DataM.ADOQReportPO.Open;
n:=1; SumVZ:=0; SumNVZ:=0;
Размещено на http://www.allbest.ru/
With UDataM.DataM.ADOQReportPO do
begin
First;
while not EOF do
begin
S:=IntToStr(n);
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,1).Range.InsertBefore(S);
S:=IntToStr(UDataM.DataM.ADOQReportPOЗАКАЗЫНомерЗаказа.Valu
e); UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,2).Range.InsertBefore(S);
S:=DateToStr(UDataM.DataM.ADOQReportPOДатаЗаказа.Value);
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,3).Range.InsertBefore(S);
S:=UDataM.DataM.ADOQReportPOКлиент.Value;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,4).Range.InsertBefore(S);
S:=UDataM.DataM.ADOQReportPOИмяПО.Value;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,5).Range.InsertBefore(S);
S:=UDataM.DataM.ADOQReportPOСтатус.Value;
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,6).Range.InsertBefore(S);
S:=Format('%m',[UDataM.DataM.ADOQReportPOЦена.Value]);
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,7).Range.InsertBefore(S);
S:=IntToStr(UDataM.DataM.ADOQReportPOСкидка.Value);
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,8).Range.InsertBefore(S);
Sum:=UDataM.DataM.ADOQReportPOЦена.Value;
Sum:=Sum-(Sum*UDataM.DataM.ADOQReportPOСкидка.Value/100);
S:=Format('%m',[Sum]);
UDataM.DataM.WordDoc.Tables.Item(2).Cell(n+1,9).Range.InsertBefore(S);
UDataM.DataM.WordDoc.Tables.Item(2).Rows.Add(EmptyParam);
if UDataM.DataM.ADOQReportPOСтатус.Value='выполнено' then
SumVZ:=SumVZ+Sum;
if UDataM.DataM.ADOQReportPOСтатус.Value='в разработке' then
SumNVZ:=SumNVZ+Sum;
Размещено на http://www.allbest.ru/
inc(n);
Next;
end;
end;
UDataM.DataM.WordDoc.Tables.Item(2).Rows.Item(n+1).Delete;
S:=Format('%m',[SumVZ]);
UDataM.DataM.WordDoc.Tables.Item(3).Cell(1,2).Range.InsertBefore(S);
S:=Format('%m',[SumNVZ]);
DataM.DataM.WordDoc.Tables.Item(3).Cell(2,2).Range.InsertBefore(S);
S:=Format('%m',[SumVZ+SumNVZ]);
DataM.DataM.WordDoc.Tables.Item(3).Cell(3,2).Range.InsertBefore(S);
Except
begin
ShowMessage('Шаблон документа "Отчет ПО" не найден!');
UDataM.DataM.WordApp.Disconnect;
Application.Restore;
exit;
end;
end;
UDataM.DataM.WordApp.Disconnect;
Application.Restore;
end;
end.
Размещено на Allbest.ru
Download