NS ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ
ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ»
( Н И У
« Б е л Г У » )
ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И ЕСТЕССТВЕННЫХ НАУК
КАФЕДРА МАТЕМАТИЧЕСКОГО И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
ИНФОРМАЦИОННЫХ СИСТЕМ И ТЕХНОЛОГИЙ
АВТОМАТИЗИРОВАННАЯ СИСТЕМА ПЛАНИРОВАНИЯ ПОСТАВОК НА
ПРИМЕРЕ ООО ТД «МАЛАХОВ +»
Выпускная квалификационная работа
обучающегося по направлению подготовки
02.03.02 «Фундаментальная информатика и информационные технологии»
очной формы обучения,
группы 07001301
Шевчука Андрея Романовича
Научный руководитель
Кандидат технических наук,
доцент Муромцев В. В.
БЕЛГОРОД 2017
2
ОГЛАВЛЕНИЕ
Глава 1 Анализ деятельности компании ООО ТД «Малахов +» и постановка задачи...........6
1.1 Обзор компании ООО ТД «Малахов +» ................................................................................6
1.2 Обзор закупочной деятельности компании ООО ТД «Малахов +» ...................................8
1.3 Анализ информационных технологий, используемых компанией ООО ТД «Малахов +»
.......................................................................................................................................................12
1.4 Обзор современных информационных систем, их недостатки и взаимосвязь с
поставщиками ..............................................................................................................................15
1.5 Актуальность автоматизированной системы взаимодействия с поставщиками .............22
1.6 Постановка цели и задачи .....................................................................................................24
Глава 2 Разработка процесса и программная реализация информационной системы
планирования поставок на примере ООО ТД «Малахов +»....................................................25
2.1 Выбор СУБД, операционной системы, языка программирования и среды разработки .25
2.2
Инфологическое
проектирование
автоматизированной
системы
планирования
поставок ........................................................................................................................................27
2.3 Даталогическое проектирование автоматизированной системы планирования поставок
.......................................................................................................................................................30
2.4 Создание и разработка процесса автоматизированной системы планирования поставок
.......................................................................................................................................................33
2.5 Программная реализация автоматизированной системы планирования поставок .........35
Глава 3 Оценка работоспособности разработанной автоматизированной системы на
примере ООО ТД «Малахов +» ..................................................................................................38
3.1 Описание программного интерфейса автоматизированной системы ..............................38
3.2 Тестирование автоматизированной системы планирования поставок ............................42
3.3 Основные итоги тестирования .............................................................................................45
ЗАКЛЮЧЕНИЕ............................................................................................................................50
СПИСОК ЛИТЕРАТУРЫ ...........................................................................................................51
Приложение 1...............................................................................................................................56
Приложение 2...............................................................................................................................66
Приложение 3...............................................................................................................................68
Приложение 4.....................................................................Ошибка! Закладка не определена.
3
ВВЕДЕНИЕ
В 20 веке, во время развития рыночных взаимоотношений, возникло и
стало интенсивно развиваться новое научно-практическое направление –
логистика.
Энтузиазм
к
ней
обоснован
потребностями
становления
экономики и бизнеса, а также возросшими объемами грузовых перевозок
продукции. На начальном этапе все усилия фирм были направлены в главном
на понижение производственной себестоимости продукции. В настоящее
время, поскольку предложение начало значительно превышать спрос,
предприниматели решили принимать также важность обеспечения сбыта за
счет снижения транспортных и складских издержек.
Логистика – это наука о планировании, контроле и управлении
транспонированием,
складированием
и
прочими
материальными
и
нематериальными операциями, совершаемыми в ходе доведения сырья,
материалов и покупных изделий до производственного подразделения
предприятия. В широком смысле под логистикой понимается управление
материальными
потоками
при
внутризаводской
переработке
сырья,
материалов и полуфабрикатов, а также доведение готовой продукции до
покупателя в соответствии с его интересами и требованиями, в том числе
включая передачу, хранение и обработку соответствующей информации [5].
Современные основы организации управления, базирующиеся на
концептуальных раскладах и способах мышления, объединяемым единым
понятием «логистика», успешно и эффективно используются приоритетными
компаниями, а также автотранспортными предприятиями, организациями и
фирмами.
В настоящее время существует и активно развивается большое
количество видов логистики, например: транспортная логистика (в том
числе,
автотранспортная
логистика),
складская
логистика
(логистика
4
складирования),
коммерческая
маркетинговая
логистика,
логистика,
логистика,
закупочная
промышленная
логистика,
информационная
логистика,
логистика,
производственная
логистика
распределения
(распределительная или же сбытовая логистика). Большинство из данных
видов взаимно пересекаются [33].
Без исключения любое предприятие, даже самое маленькое, имеет
службу, которая занимается закупкой, доставкой и временным хранением
материалов и товаров.
Закупочная логистика считается одной из главных логистических
систем и исследует процесс перемещения товаров и материалов с рынка
закупок до складов предприятия. Процесс приобретения материалов в работе
традиционно именуют закупками, в муниципальном секторе – снабжением, в
розничной и складкой торговле – покупками. Нередко тот же самый процесс
характеризуют как «логистика на входе», либо «внутренняя логистика».
Логистика закупок (или логистика снабжения) является единственной
логистической системой, представляющей собой процесс перемещения
товаров и материалов с рынка закупок до склада предприятия. Для более
действенного и эффективного функционирования логистики закупок следует
знать, какие конкретно материалы нужны для производства продукта,
составить проект закупок, обеспечивающих согласованность действий всех
отделов и должностных лиц компании [6,12].
Актуальность
определяется
темы
существенной
выпускной
квалификационной
необходимостью
работы
совершенствования
инструментария логистики каждого предприятия. В частности закупочной
логистики, которая является одним из приоритетных направлений в
настоящее время.
Объектом выпускной квалификационной работы является деятельность
логиста в ООО ТД «Малахов +». Предметом - методы разработки
автоматизированной системы планирования поставок на примере ООО ТД
«Малахов +».
5
Целью
разработка
данной
выпускной
автоматизированной
квалификационной
системы
работы
закупочной
является
логистики
на
предприятии.
Для достижения данной цели были поставлены ряд задач:
- рассмотреть и изучить предметную область;
- провести обзор современных информационных систем и выявить их
недостатки;
- провести инфологическое и даталогическое проектирование базы
данных предметной области;
-
создать
и
реализовать
процесс
планирования
поставок
на
предприятии;
- провести тестирование разработанной автоматизированной системы
планирования поставок.
Данная выпускная квалификационная работа состоит из введения, 3
глав, заключения, списка использованных источников и приложения.
В
первой
главе
проведен
анализ
деятельности
предприятия,
рассмотрены современные автоматизированные системы, их недостатки,
обоснована актуальность автоматизированной системы взаимодействия с
поставщиками.
Во второй главе был разработан и программно реализован алгоритм
реализации информационной системы планирования поставок на примере
ООО ТД «Малахов +».
В
третьей
главе
рассматривается
обзор
работоспособности
автоматизированной системы закупки товаров и материалов, проводится
описание программного интерфейса, и основных этапов тестирования
созданной системы.
Выпускная квалификационная работа состоит из 51 страницы,
включает в себя 26 рисунков, 1 таблицу, 52 источника литературы и 4
приложения.
6
ГЛАВА 1 АНАЛИЗ ДЕЯТЕЛЬНОСТИ КОМПАНИИ ООО ТД
«МАЛАХОВ +» И ПОСТАНОВКА ЗАДАЧИ
1.1 Обзор компании ООО ТД «Малахов +»
Компания ООО ТД «Малахов +» находится по адресу город Белгород,
5-й Заводской переулок, строение 30. В настоящее время директором данного
предприятия является Антюфеев Павел Валерьевич [32].
Одним из главных видов деятельности предприятия является оптовая
продажа различного рода пищевыми и бытовыми товарами. Кроме указанной
деятельности торговый дом работает еще по двадцати семи направлениям.
Размер уставного капитала компании составляет десять тысяч рублей.
Данный Торговый Дом считается одним из главных дистрибьюторов
широкой
категории
пищевых
и
бытовых
товаров
на
территории
Белгородской области и Центрально-черноземного региона. За восемнадцать
лет своей деятельности компания ООО ТД «Малахов +» смогла накопить
опыт, связанный с продажами и закупками, а также заручиться доверием
клиентов. Работа предприятия главным образом нацелена на интересы
клиента и улучшение качества обслуживания. Постоянное развитие, создание
новых подразделений, поиск новых поставщиков и быстрое время доставки
продукта – все это помогает развиваться компании и удерживать
конкуренцию на российском рынке.
В настоящее время ООО ТД «Малахов +» именит не только как
дистрибьютор продуктов питания, а еще как производитель пищевых
продуктов. К личному производству компании также относят «Малаховские
крупы» и «Тайник вкуса». Большим преимуществом торгового дома перед
остальными компаниями является то, что география продажи товаров
перешла на региональный уровень [32].
7
Более 2000 потребителей составляют около 40% российского рынка по
бакалейной группе товаров. Бесперебойные поставки товаров, развитая
логистическая
деятельность,
прогрессивный
автопарк,
и
конечно,
квалифицированные работники компании гарантируют настоящее и будущее
ООО ТД «Малахов +».
Главными преимуществами ООО ТД «Малахов +» считаются:
- прогрессивные логистические технологии;
- неповторимые контракты;
- стремительная поставка продукта потребителю;
- оптимальные цены;
- индивидуальный подход к любому потребителю [32].
Дистрибьюторская фирма ООО ТД «Малахов +» была создана в 1996
году. На данный момент ООО ТД «Малахов +» постепенно развивается и
расширяет список поставляемого товара, а также уверенно завоевывает
доверие партнеров. Кроме этого, потребителями дистрибьюторской фирмы
являются более 30 производителей продукции, такие как:
- НИДАН (ТМ моя Семья);
- Бунге СНГ (ТМ Олейна);
- СИ Групп ИнфоЛинк (ТМ Шебекинские);
- бакалейная группа товара, специи, консервация (ЮМК);
- социально-значимые продукты питания [32].
ООО ТД «Малахов +» поставляет товары более чем в 2000 торговых
точек Российской Федерации: в Белгородскую, Курскую, Орловскую
области, также во все сетевые ритейлы не только федерального, но и
местного значения.
В настоящее время компания имеет центральный офис, расположенный
в городе Белгород, и филиал, расположенный в городе Старый Оскол.
8
1.2 Обзор закупочной деятельности компании ООО ТД «Малахов
+»
Данный торговый дом имеет свою логистическую инфраструктуру,
которая включает в себя закупочную, транспортную, складскую и
информационную логистики [41].
В ООО ТД «Малахов +» имеется ряд отделов. Подразделения компании
показаны на рис. 1.1.
Рис. 1.1. Отделы ООО ТД «Малахов +»
Деятельность данных отделов включает в себя ряд следующих
функций:
- выбор поставщиков продукции питания и бытовых товаров;
-
оформление
и
заключение
договоров
с
поставщиками,
на
прописанных в нем условиях;
- процесс организации доставки продуктов питания и бытовых товаров
на предприятие;
- оптимальный выбор транспортных средств для перевозки продуктов
питания и бытовых товаров;
- процесс организации взаимодействия с контролирующими органами и
государственными структурами;
- определение и анализ сектора потребителей;
9
-
оформление
и
заключение
договоров
с
потребителями,
на
прописанных в нем условиях.
В Торговом Доме имеется собственный сайт в сети Интернет (tdmalahov.ru). В нем присутствуют все необходимые сведения о компании, а
также базы производителей продуктов питания, которые позволяют
потребителям в минимальные промежутки времени найти подходящий для
себя вариант. Помимо указанных сведений, на сайте торгового дома имеется
не только список оказываемых логистических услуг, но также справочная
информация для связи потребителей и поставщиков с сотрудниками ООО ТД
«Малахов +» [32].
Всю работу ООО ТД «Малахов +» можно представить в виде схемы
логистической деятельности. Данная схема представлена на рис. 1.2.
Рис. 1.2. Схема логистической деятельности
Любая логистическая фирма имеет отдел, который занимается
закупками, доставками и хранением товара на складе. Отдел закупок – это
специализированное
подразделение
в
компании,
которое
занимается
получением нужного по качеству и количеству товара в необходимое время и
в определенном месте от проверенного поставщика с хорошим сервисом и по
оптимальной стоимости [31, 38].
В более широком смысле под закупками рассматривается закупочная
деятельность, которая представляет собой процесс, получения товаров
10
требуемого качества и количества по оптимальной цене, а также управление
поставщиками. За все это отвечает отдел закупок.
В ходе закупочной деятельности Торгового Дома вначале определяется
потребность фирмы в товаре, а затем устанавливается точное описание
потребности, то есть артикула товара. Для этого в ООО ТД «Малахов +» был
создан справочник (список) часто закупаемых товаров. Данный справочник
помогает правильному ведению бухгалтерского учета на предприятии и
процедуре хранения товаров на складе.
Этапы организации закупочной деятельности ООО ТД «Малахов +»
представлены на рис. 1.3.
Рис. 1.3. Этапы организации закупочной деятельности
Исходя из информационно - логистической структуры предприятия,
важное значение в совершенствовании его работы, имеет управление
закупками предприятия [9, 19].
Для того чтобы организовать эффективное управление работой ООО
ТД «Малахов +» необходимо создать бесперебойную поставку продукции
11
питания и бытовых товаров, а также ее актуальность и своевременность.
Иными словами, правильное управление закупочной работой Торгового
Дома во многом зависит от наличия точных сведений.
Закупочная логистика включает в себя управление материальными
потоками предприятия для обеспечения Торгового Дома необходимыми
пищевыми и бытовыми товарами. Осуществление закупок товаров ООО ТД
«Малахов +» является одной из важных функций его деятельности.
В общем виде целью закупочной логистики является гарантия
надежной поставки товаров соответствующего качества, требуемого объема,
к определенному времени, от квалифицированного поставщика, с высоким
уровнем сервиса и минимальными затратами [42].
В ООО ТД «Малахов +» процесс закупки товаров осуществляется
методами, правильный выбор которых зависит от следующих характеристик:
- сложность конечного товара;
- состав используемых материалов;
- особенности конечного продукта;
- периодичность поставки продукта;
- количество товара в партии при единовременном заказе;
- объем закупки.
Существует несколько методов закупки товаров, у каждого из которых
есть свои плюсы и минусы. Сущность закупочной деятельности ООО ТД
«Малахов +» формируется из следующих процессов:
- процесс снабжения и выбора рационального способа закупки:
- поиск и выбор дилера продукции.
Использование программных продуктов в закупочной деятельности
предприятия в первую очередь связано с автоматизацией заказов на
продукцию поставщикам, повышению времени сбора и обработки сведений,
приводящих к увеличению производительности процесса закупки продукции.
Применение информационных технологий при переговорах с поставщиками
и заключении договоров позволяет уменьшить время логистического цикла в
12
следствии использования электронной почты и факса. Формирование
сопроводительной документации, договоров купли-продажи представляет
собой обыденную работу и особую трудность таких отделов как:
юридический отдел и отдел закупок ООО ТД «Малахов +». Именно из-за
ненадежности сопроводительных договоров и возникают трудности в
компании [11, 14].
Информационные системы закупочной логистики на предприятии
представляют собой работу по мониторингу, переработке, учету и анализу
данных и считаются важным инструментом системы логистического
управления работой компании.
Большинство информационных систем базируются на электронном
обмене данных – это вариант, при помощи которого облегчается проведение
документации в стандартизированной электронной форме, исполняемой
непосредственно между системой в одной организации и аналогичной
системой в другой [7].
1.3
Анализ
информационных
технологий,
используемых
компанией ООО ТД «Малахов +»
В настоящее время в организации довольно широко используются
передовые программные продукты, а также мощная и повсеместно
совершенствующаяся информационная среда. Однако на уровне закупки для
анализа работы логиста нужна специализированная система, нацеленная на
обработку определенных сведений [32].
Так, к примеру, в 2005 году были модернизированы первые проекты по
работе с программными продуктами, написанными внутри организации, для
управления персоналом. Также разрабатывались программы управления
товаром при работе с производством. С 2008 года по настоящее время в ООО
ТД «Малахов +» активно внедряются новейшие специализированные
информационные системы, а также происходит замена на более совершенное
13
программное обеспечение: внедряются новые программные продукты,
использующие последние версии. Наряду с этим, стремительно развивается
структура работы с Web- и Win - технологиями.
Кроме
вышеперечисленного
расширяются
компьютерные
сети,
возрастает скорость передачи данных по ним. Эти расширения позволяют
ускорить работу сотрудников организации, благодаря скорости работы
программных продуктов и средств. Помимо прочего ведется система
безопасности информации. На персональные компьютеры устанавливаются
дополнительные программные средства, ведется система прав доступа
данных и анализ использования информации.
В управлении персоналом реализован ряд проектов, главной целью
которых является улучшение корпоративного управления и увеличение
информационной прозрачности организации. Так, к примеру, проект
информации позволил модернизировать систему и практику управления
персоналом. Этот проект разрабатывался в самой организации, внедряя
максимально
возможные
тонкости,
которые
необходимы
в
самой
организации. Главным преимуществом этого проекта является то, что он был
реализован с помощью Интернет - технологий и позволяет хранить большое
количество клиентов.
В
настоящее
время
в
ООО
ТД
«Малахов
+»
используется
специализированный программный продукт 1С: Предприятие. Он играет
большую роль в деятельности предприятия ООО ТД «Малахов +».
Программный
продукт
имеет
возможность
обновляться
по
мере
необходимости. Кроме этого он позволяет быстро и точно найти примеры
документов, отчетов и другие данные, которые требуются логисту
предприятия.
В распоряжении ООО ТД «Малахов +» находится ряд компьютеров,
имеющие следующие характеристики:
- процессор типа Inter Core;
- объем оперативной памяти 512 мб или 1гб;
14
- емкость жесткого диска от 100 гб до 250 гб.
Главной функцией
компьютеров является набор и распечатка
документации, а также использование информационных систем. С каждого
персонального компьютера имеется доступ во всемирную сеть Интернет,
которая используется для отправки и получения электронных писем от
поставщиков и потребителей. Все без исключения компьютеры, стоящие в
торговом доме, объединены в локальную сеть.
Персональные компьютеры оснащены устройствами ввода-вывода
информации и офисной техникой: принтером, сканером и ксероксом. На ПК
установлено следующее программное обеспечение:
- Операционная система Windows 7 Корпоративная;
- Microsoft Office 2010;
- Программный продукт «1С: Предприятие».
Защита базы данных предприятия и всех сведений на компьютере
осуществляется при помощи антивирусной программы Kaspersky Internet
Security.
Рутинная работа сотрудников отдела закупок сопровождается большим
потоком
информации.
Для
повышения
эффективности
деятельности
сотрудников ООО ТД «Малахов +» целесообразнее всего будет создать такое
программное обеспечение, которое бы упорядочивало, защищало данные и
обеспечивала их быстрый поиск.
Преимуществами нового программного продукта будут:
- снижение затрат и увеличение производительности с помощью
упрощения действий закупок и освобождение времени сотрудников
предприятия;
- быстрый поиск наиболее важных сведений помогает принимать
актуальные и обоснованные решения;
- уменьшения времени на административную работу, в результате чего
сотрудники
смогут
уделять
больше
времени
работе
с
важными
поставщиками, а также заключению с ними договоров по поставкам [24].
15
1.4 Обзор современных информационных систем, их недостатки и
взаимосвязь с поставщиками
Быстрое развитие информационных технологий заложило базу для
создания и применения автоматизированных информационных систем. Они
основаны на компьютерных технологиях накопления, хранения, обработки,
передачи и представления сведений.
Для взаимодействия с поставщиками используется ряд систем, которые
занимаются планированием закупок предприятия. К таким системам относят
следующие:
- «JIT» (иначе автоматизация поставки продукции «точно в срок») –
основной целью является максимальная интеграция всех логистических
функций предприятия для минимизации уровня запасов материальных
ресурсов в интегрированной логистической системе, обеспечение высокой
надежности и уровня качества продукции и сервиса для максимального
удовлетворения запросов потребителей;
- «KANBAN» - предусматривает, что на все производственные участки
строго по графику поставляется именно то количество материальных
ресурсов,
которое
действительно
необходимо
для
выпуска
только
запланированного количества продукции;
- MRP – I – основной целью является удовлетворение потребности в
материальных ресурсах для планирования производства и доставки
потребителям, поддержание низкого уровня запасов материальных ресурсов,
незавершенного
производства,
готовой
продукции,
планирование
производственных операций, графиков доставки, закупочных операций;
- MRP-II – система планирования потребностей (ресурсов) второго
поколения, основной целью является интеграция микрологической системы,
в которой объединяются сведения по финансовому планированию и
логистическим операциям.
16
- SDP – это усовершенствованная система планирования поставок
предприятия «точно в срок», которая представляет собой планирование
потребностей в материалах для упорядочивания организации материалов и
прогнозирования их количества;
- LP (иначе плоское/стройное производство) – система планирования
поставок, которая включает в себя элементы KANBAN и «планирование
потребностей», основными ее целями являются повышение стандартов
качества продукции, уменьшение производственных издержек, быстрое
реагирование на потребительский спрос и малое время переналадки
оборудования;
- DDT (иначе реагирование на спрос) – некая модификация концепции
планирования потребностей предприятия. В настоящее время известны 4
типа концепции: «точка заказа (либо перезаказа)», «быстрого реагирования»,
«непрерывного
пополнения
запасов»,
«автоматического
пополнения
запасов».
При определении нужд предприятия в товарах различают несколько
подходов:
- расчет потребности материалов начинается только в тот момент,
когда она возникает;
- расчет на учете потребителя товаров.
Помимо подходов для анализа нужд товаров предприятия различают
следующие методы определения товаров:
- детерминированный метод
- данный метод используется в том
случае, когда заранее известен определенный период выполнения заказа и
потребность в материалах по количеству и срокам доставки);
- стохастический метод – данный метод используется в том случае,
когда основой для расчета количества товара является математикостатический метод. Стоит отметить, что данный метод основан на
прогнозировании данных;
17
- эвристический метод - данный метод используется на основе опыта
работников.
В ООО ТД «Малахов +» используется эвристический метод
определения количества товаров на складе, основанный на личном опыте
работников предприятия.
Компьютерное обеспечение отдела закупки организации представляет
собой большую работу по прогнозу, переработке, учету и анализу сведений и
в свою очередь является неким инструментом объединения элементов
системы управления закупочной работой организации [15, 28].
Внедрение
программных
продуктов
позволяет
автоматизировать
процесс закупки товаров на предприятие.
Схема автоматизированной системы закупок на примере ООО ТД
«Малахов +» представлена на рис. 1.4.
Рис. 1.4. Схема автоматизированной системы закупок
На
российских
информационного
предприятиях
обеспечения
закупочной
для
специализированного
деятельности
предприятия
используется ряд основных информационных систем.
Информационная
хранения,
поиска
и
система (ИС)
— система, предназначенная
обработки информации,
и
для
соответствующие
18
организационные
ресурсы,
которые
обеспечивают
и
распространяют
для
своевременного
информацию.
Информационная
система
предназначена
обеспечения надлежащих людей надлежащей информацией, то есть для
удовлетворения конкретных информационных потребностей в рамках
определенной предметной области, при этом результатом функционирования
информационных
систем
является информационная
продукция —
документы, информационные массивы, базы данных и информационные
услуги.
В настоящее время используется ряд основных информационных
систем:
1. «Галактика» - популярный комплексный программный продукт,
созданный для автоматизации полного комплекса финансово-хозяйственной
работы средних и крупных предприятий.
Реализованные функции «Галактики» помогают автоматизировать
определение объемов закупок товаров и направлений денежных потоков,
организацию складского хозяйства и процесса перевозки, а также всех
нужных операций в пути следования грузов к пунктам назначения.
Все задачи в составе «Контура логистики» решаются комплексно, что
является главным превосходством его применения для управления закупками
предприятия. Учитывая мнение специалистов в сфере управления логистикой
на предприятии, «Контур логистики» отличается многофункциональностью и
удобством эксплуатации [20].
Особенностями программного продукта «Галактика» являются:
- гибкость системы и быстрая адаптация к изменениям в российском
законодательстве;
- система имеет широкий набор функций планирования закупок.
Данный набор является самым большим среди российских информационных
систем и, в свою очередь, покрывает все возможные запросы сотрудников
торгового дома.
19
Возможность использования информационной системы до 20 рабочих
мест. Стоимость данной системы 27 000 рублей [22].
2. «1С: Логистика: Управление складом» - специализированная
информационная система фирмы «1С», предназначенная для автоматизации
управления складским хозяйством, а также для ведения закупочной
деятельности организации.
С использованием данного программного продукта уменьшается
количество неверных складских операций, увеличивается точность и
своевременность учета товара, сокращаются издержки на заработную плату
складских
сотрудников.
поддерживает
работу
с
Следует
разными
отметить
типам
тот
факт,
оборудования:
что
система
принтерами,
сканерами штрих-кода [51].
Достоинствами информационной системы «1С: Логистика: Управление
складом» являются:
-
повышение
точности
учета
товара
и
складских
операций
предприятия;
- помогает избежать потери, которые могут быть связаны с
ограничением сроков реализации товара;
- анализ количественных показателей товаров на складе.
Возможность использования информационной системы только на 1
рабочее место. Стоимость данной системы 360 000 рублей [51].
3. «Фолио» - специализированная информационная система, главным
отличием которой является большая функциональная полнота. «Фолио»
состоит из ряда информационных подсистем, таких как: «Фолио-WinСклад»,
«Фолио-ЛогистикСклад», «Фолио-ЗаказПоставка», «Фолио-Интернет-Заказ».
Подсистема «Фолио-ЗаказПоставка» оптимизирует работу отдела закупочной
логистики.
«Фолио» в многофункциональном смысле представляет собой систему,
отслеживающую цепочку поставок от заказа до прихода на склад.
Преимуществами программного продукта «Фолио» являются:
20
- поддержка полного цикла документооборота;
- подбор генеральных поставщиков по нескольким аспектам (к
примеру, стоимость, сроки, качество, надежность);
- вероятность консолидации и подачи заказов в разной форме [21].
Возможность использования логистической информационной системы
от 6 до 100 рабочих мест. Стоимость данной системы 18 000 рублей [21].
4. «Эконом-эксперт» - специализированный программный продукт для
контрактного управления предприятием или всей контрактной службы
потребителя.
В
оптимизировать
свою
процесс
очередь,
закупки
информационная
товара
на
система
предприятии
позволяет
по
ряду
федеральных законов, автоматизируя при этом трудоемкие операции.
Благодаря ряду функций, данная система позволяет:
- вести контроль и учет закупок товара в торговый дом;
- производиться автозаполнение отчетных форм на предприятии;
- создавать классификаторы и справочники;
- описывать функциональные особенности торгового дома.
Достоинствами данной системы являются:
- ведение учета закупок товара по одной или сразу нескольким
организациям - потребителям;
- выгрузка данных на единую информационную систему от компании
или уполномоченного на то органа;
- уведомления о наступлении срока окончания действия договоров с
поставщиками и потребителями [38].
Возможность использования информационной системы только на 1
рабочее место. Стоимость данной системы 25 000 рублей [38].
5. АС «Торговый Дом «Малахов +» – программный продукт,
созданный в самой организации, главной целью которого является
автоматизация закупочной деятельности ООО ТД «Малахов
+». При
разработке автоматизированной системы максимально внедрены возможные
21
тонкости, которые необходимы для реализации закупок на предприятии.
Также был учтены ряд особенностей ООО ТД «Малахов +».
Достоинствами данной системы являются:
- прозрачность информации о закупках ООО ТД «Малахов +»;
- уведомления о наступлении срока закупки товаров;
- гибкость системы и быстрая адаптация к изменениям в российском
законодательстве.
На
каждом
предприятии
необходимо
оценивать
производительности
применения
информационной
степень
обеспеченности
закупочной логистики, кроме этого следует знать, какие программные
продукты существует и как, по возможности, внедрить их. От этого зависят
отношения с поставщиками предприятия, а также целесообразный их поиск и
выбор.
Сравнительный анализ специализированных программных продуктов с
точки зрения производительности представлен в таблице 1. 1.
Таблица 1.1
Сравнительный анализ программных продуктов
Мониторинг
уровня
запаса
товара на складе
Отражение статуса
заявки
Контроль расходов
товаров
Простота
использования
программы
«Заточенность»
под особенности
предприятия
«Галактика»
«1С:
Логистика:
Управление
складом»
«Фолио»
«Экономэксперт»
АС
«ТД
«Малахов +»
+
+
-
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
-
-
+
22
В результате проведения сравнительного анализа, было выявлено, что
наиболее подходящим продуктом для ООО ТД «Малахов +» является
автоматизированная система «Торговый Дом «Малахов +», которая включает
в
себя
все
необходимые
модули
для
деятельности
предприятия.
Отличительной особенностью данной системы является «заточенность» под
особенности торгового дома.
Исходя из таблицы 1.1, автоматизированная система планирования
поставок ООО ТД «Малахов +» сможет дать предприятию ряд преимуществ:
- снизить издержки и повысить производительность за счет упрощения
закупок и освобождения времени логистов, вследствие чего они могут быть
заняты работой, которая имеет более высокую ценность;
- принятие обоснованных решений в реальном времени благодаря
простому доступу к наиболее важным данным;
- логисты предприятия могут уделять больше времени стратегическим
инициативам и работе с поставщиками благодаря сокращению времени на
работу в неспециализированных информационных системах;
- контроль расходов в масштабах всего предприятия.
Переход деятельности предприятия на информационные системы
позволит повысить точность информации. Благодаря этому могут быть
снижены запасы предприятия, сократятся случаи дефицита продукции,
снизятся затраты на издержки выполнения заказов.
1.5 Актуальность автоматизированной системы взаимодействия с
поставщиками
Автоматизация отношений с поставщиками ООО ТД «Малахов +»
требует предварительного изучения документации компании с последующей
отметкой измененного распорядка делопроизводства в направлениях и
положениях, а также настройки распорядков прохождения электронных
документов по рабочим местам сотрудников предприятия.
23
Обученные логисты Торгового Дома занимаются: регистрацией
документов предприятия, контролем и учетом выполнения документов
предприятия,
классификацией
документов
предприятия,
составлением
номенклатуры дел предприятия, контроль состояния дел [16, 17].
Специализированное делопроизводство предусматривает применение
персональных компьютеров в управлении компанией для хранения, поиска и
отображения
данных,
что
позволяет
минимизировать
или
вообще
ликвидировать использование бумажных носителей.
Необходимость в автоматизации документооборота продиктована
проблемами,
которые
возникают
в
деятельности
компаний
всех
организационно-правовых форм, которые по своей сути схожи. Такими
проблемами могут быть:
- долгий поиск документа, или его потеря – большой размер
документации, вследствие децентрализованной регистрации затруднен поиск
документов;
- практически бесконтрольность исполнения – отсутствие данных об
исполнении и исполнителе в реальном времени;
- трудности контролирования документации – недоступность либо
плохая организация контроля, неисполнение документации или их задержка;
-
избыточность
однотипных
документов
–
дублирование
документации;
- огромный штат сотрудников, имеющих потребность в документации
– рутинные технические операции предприятия [30].
Учитывая существующую тенденцию роста численности поставщиков,
объема продукции и документооборота торгового дома, вопрос об
автоматизации документационного обеспечения в управлении, внедрении в
работу новых специализированных информационных систем встает весьма
остро.
Именно
этим
обуславливается
актуальность
создания
специализированной информационной системы, максимально исключающая
ошибки в деятельности предприятия ООО ТД «Малахов +».
24
1.6 Постановка цели и задачи
В результате написания выпускной квалификационной работы будут
автоматизированы ряд функций, которые выполняются в отделе закупок
предприятия
ООО
автоматизированы
ТД
за
счет
«Малахов
+».
внедрения
в
Данные
функции
деятельность
будут
предприятия
автоматизированной системы планирования поставок.
Целью
разработка
данной
выпускной
автоматизированной
квалификационной
системы
работы
закупочной
является
логистики
на
предприятии.
Для достижения данной цели были поставлены ряд задач:
- рассмотреть и изучить предметную область;
- провести обзор современных информационных систем и выявить их
недостатки;
- провести инфологическое и даталогическое проектирование базы
данных предметной области;
-
создать
и
реализовать
процесс
планирования
поставок
на
предприятии;
- провести тестирование разработанной автоматизированной системы
планирования поставок.
25
ГЛАВА 2 РАЗРАБОТКА ПРОЦЕССА И ПРОГРАММНАЯ
РЕАЛИЗАЦИЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ
ПЛАНИРОВАНИЯ ПОСТАВОК НА ПРИМЕРЕ ООО ТД
«МАЛАХОВ +»
2.1
Выбор
СУБД,
операционной
системы,
языка
программирования и среды разработки
Для написания выпускной квалификационной работы была выбрана
система управления базами данных Firebird. Данный сервер предназначен
для решения широкого круга задач.
Преимуществами Firebird являются надежность и простой процесс
установки. Впервые система управления базами данных была выпущена 12
апреля 2002 года. В ходе написания выпускной квалификационной работы
была использована версия Firebird 2.1.
Под системой управления базами данных Firebird понимается мощная,
реляционная система управления базами данных с архитектурой «клиентсервер». Она позволяется работать на различного рода серверных и
клиентских платформах, таких как: Windows, Linux, Unix и Mac OS.
Основным достоинством версии Firebird 2.1, которая используется в
выпускной квалификационной работе, является обеспечение поддержки
параллельной работы на многопроцессорном оборудовании [18].
Вместе с системой управления базами данных Firebird предполагается
использование
утилиты
администрирование
при
IBExpert,
сервера,
управление
помощи
базами
которой
данных
возможно
и
правами
пользователей системы [47].
Клиент – серверная система управления базами данных Firebird
позволяет
обмениваться
клиенту
и
серверу
необходимым
объемом
26
информации, при этом основная вычислительная нагрузка ложиться на
сервер системы. Клиент может выполнять ряд функций предварительной
обработки перед передачей информации серверу, но в основном его функции
заключаются в организации доступа пользователей к серверу.
В результате необходимости написания программного продукта,
возникает
потребность
в
выборе
операционной
системы,
языка
программирования и среды разработки.
Исходя из требований, предъявляемых к программному продукту и
параметрам технических средств, установленных на предприятие ООО ТД
«Малахов
+»,
была
выбрана
операционная
система
Windows
7
Максимальная.
Windows 7 Максимальная (Ultimate) – это операционная система
семейства Microsoft. Она является полнофункциональным и мощнейшим
выпуском, созданным для нужд корпоративных клиентов и потребителей,
которым необходим полный набор функционала операционной системы
Windows 7 [50].
Данная
редакция позволяет работать где угодно, увеличивает
защищенность данных, а также облегчает управление персонального
компьютера потребителя. Кроме всего прочего, данная операционная
система гарантирует гибкий интерфейс с поддержкой разных языков.
Функционал данной системы больше, чем в других операционных системах
данного семейства.
В качестве языка программирования для написания выпускной
квалификационной работы был выбран язык C++.
С++
-
это
компилированный
высокоуровневый
язык
программирования, на котором имеется возможность создания программы
любого уровня. В настоящее время данный язык спроектирован и постепенно
развивается как высокоуровневый язык, который поддерживает различного
рода способы и технологии программирования.
27
Высокоуровневый язык С++ имеет большую библиотеку, содержащая в
себе распространенные контейнеры и методы, ввод – вывод, постоянные
выражения, обеспечивает поддержку многопоточности данных, а также ряд
других возможностей. С++ сочетает в себе не только возможности
высокоуровневого языка программирования, но также и низкоуровневых
языков. Если говорить о сравнении с языком С, то в С++ большое внимание
уделено
реализации
объектно-ориентированного
и
обобщенного
программирования [36].
В качестве среды разработки была выбрана среда разработки
приложений Embracadero Rad Studio.
Embracadero Rad Studio – это среда разработки, созданная фирмой
Embracadero Technologies и работающая под Microsoft Windows. Главным
преимуществом Rad Studio является быстрый способ написания приложений,
а также сборки и разработки кросс - платформенных приложений с
поддержкой гибких облачных сервисов и решений [48].
Стоит отметить, что Embracadero гарантирует эффективность при
разработке корпоративных приложений (Enterprise Strong Development), а
также дает возможность разработки и внедрения программного продукта на
базе персональных компьютеров, серверов, мобильных платформ. По
сравнению с другими средами разработки приложений, Embracadero Rad
Studio обеспечивает скорость работы в 5 раз быстрее [49].
2.2 Инфологическое проектирование автоматизированной системы
планирования поставок
Программным
средствам,
созданным
для
инфологического
проектирования, необходимо удовлетворять таким требованиям, как:
- инфологическая схема базы данных должна включать в себя все
данные, достаточные для исполнения этапов проектирования (в том числе
количественные характеристики, требования процессов обработки данных);
28
- инфологическая схема базы данных должна легко преобразовываться
в модели баз данных для распространения систем управления базами данных.
Отличиями между возможностями этих двух моделей не должны быть
значительными, чтобы не обнаружились трудности при их реализации;
- язык спецификаций (то есть характеристики атрибутов) должен быть
понятен
потребителю
и
не
содержать
характеристики
реализации
информационной системы [4].
Таким
образом,
целесообразнее
всего
в
инфологическом
проектировании использовать модель типа «сущность – связь». Эту модель
можно описать следующими определениями: атрибут, объект, связи.
Под объектом понимается общее понятие, включающее в себя
сущности процесса или явления, о котором нужно хранить сведения в
системе. Вид объекта описывает поименованный набор однотипных
объектов, а экземпляр объекта – определенный объект в системе.
Под атрибутом понимается поименованная характеристика объекта, а
также его свойство. В широком смысле атрибут – это логически
неразделимый элемент структуры данных. Объекты могут быть локальные,
которые не зависят от связей с иными объектами, и реляционными, не
зависящие от связей с другими объектами базы данных [46].
Взаимосвязи в системе непосредственно выступают в виде средства, с
помощью которого представляются отношения между объектами базы
данных. Любой вид связи в базе данных рассматривается отдельно между
каждым типом объекта, а определенный экземпляр связи этого вида
присутствует между определенными экземплярами типов объектов.
Потребность разработки базы данных в наиболее удобных и мощных
средствах
проектирования
предметной
области
вызвали
развитие
семантических моделей данных. Стоит отметить, что любая развитая
семантическая модель базы данных, в том числе реляционного типа,
содержат в себе структурную, манипуляционную и целостную части,
29
основным предназначением которых является непосредственное обеспечение
способности выражения семантики данных.
Зачастую семантическое проектирование используется на самой первой
стадии проектирования базы данных информационной системы. При всем
этом в определениях семантической модели создается концептуальная схема
информационной базы данных, преобразующаяся затем к реляционной (либо
какой-то другой) схеме. Данный процесс преобразования производится под
управлением ряда методологий, в которых довольно подробно обговорены
все этапы преобразования.
На применении видов ER – модели (Entity-Relationship) основывается
большая часть современных подходов к проектированию баз данных (в
большинстве случаев реляционного типа).
Проектирование предметной области базируется на применении
графических диаграмм, которые содержат в себе небольшое число
разнородных
компонентов.
В
результате
наглядного
представления
концептуальных схем баз данных ER-модели получили широкое применение
в системах CASE, которые в свою очередь поддерживают автоматическое
планирование реляционных базы данных [29, 15].
На этапе инфологического проектирования базы данных была создана
модель типа «сущность-связь» базы данных. Фрагмент «Запасы на складе»
базы данных автоматизированной системы планирования поставок показан
на рис. 2.1.
Рис. 2.1. Фрагмент инфологического моделирования «Запасы на складе»
30
Фрагмент «Закупка товаров» базы данных автоматизированной
системы планирования поставок показан на рис. 2.2.
Рис. 2.2. Фрагмент инфологического моделирования «Закупка товаров»
Следующим шагом моделирования автоматизированной системы
планирования поставок является даталогическое моделирование фрагментов
базы данных информационной системы, которое заключается в конкретном
создании базы данных.
2.3 Даталогическое проектирование автоматизированной системы
планирования поставок
Описание, создаваемое по инфологическому проектированию базы
данных,
нередко
называют
даталогической
моделью
базы
данных.
Даталогическая модель базы данных показывает логические связи между
всеми составляющими информационной базы вне зависимости от их
содержания и среды хранения. Пользователям выделяются подмножества
данной информационной модели, называемые внешними моделями, которые
отражают представления о предметной области [46].
Внешняя
модель
базы
данных
полностью
соответствует
представлениям, которые пользователи получают на базе инфологического
проектирования. Концептуальные требования к информационной базе
31
показывают представления, которые пользователи сначала хотели бы видеть
и которые легли в базу разработки инфологического проектирования базы
данных. Даталогическая модель базы данных хранится в физической памяти
компьютера: на диске, ленте или другом носителе данных. Такая модель
используется программистами для реализации требований, выдвигаемых
клиентами,
которые
отражены
в
инфологическом
проектировании
информационной базы данных.
Под видами даталогического моделирования понимаются модели
представления данных. Даталогические модели, как и информационные,
бывают следующих типов: реляционные, иерархические или сетевые.
При разработке даталогической модели информационной базы, за
исключением требований предъявляемых при построении инфологической
модели, предъявляются следующие дополнительные требования:
- загруженная правильная информация в базу данных должна
оставаться корректной;
- сведения до включения в информационную базу должны проверяться
на достоверность;
- доступ к сведениям, размещенным в информационной базе, обязаны
иметь только лица с надлежащими возможностями;
- решение проблем, возникающих при параллельном запросе схожих
данных несколькими пользователями;
- способы обеспечения защиты информации от некорректных
обновлений или несанкционированного доступа [29].
Инфологическое моделирование базы данных предназначено для
наглядного представления пользователей, другими словами, является
человеко-ориентированным. В свою очередь даталогическое моделирование
базы данных, наоборот, считается компьютерно-ориентированной.
С ее
поддержкой система управления базами данных дает программам и
пользователям разрешение на доступ к хранимым данным только по тем
32
именам, доступ к которым у них открыт, не беспокоясь о физическом
месторасположении информации.
Спроектированная база данных приведена к третьей нормальной
форме, это означает, что значения всех атрибутов в таблицах преобразованы
в атомарные, то есть они имеют только одну запись. Первичный ключ
каждой таблицы разбит на доли таким образом, чтобы некоторые из
основных полей зависели от одной из этих долей. Кроме этого были созданы
новые таблицы каждой части ключа и перемещены поля, которые зависят от
них. В даталогическом моделировании было произведено логическое
разделение на родительские и дочерние сущности, после этого определены
идентифицирующие связи между таблицами [4].
Получившийся фрагмент даталогического проектирования «Запасы на
складе» базы данных автоматизированной системы планирования поставок
показан на рис. 2.3.
Рис. 2.3. Фрагмент даталогического проектирования «Запасы на складе»
Получившийся фрагмент даталогического проектирования «Закупка
товаров» базы данных автоматизированной системы планирования поставок
показан на рис. 2.4.
33
Рис. 2.4. Фрагмент даталогического проектирования «Закупка товаров»
Модели
даталогического
проектирования
считаются
моделями
физического уровня и представляют собой совокупность закономерных
взаимосвязей между сущностями базы данных. Данный этап проектирования
представляет
собой
непосредственно
разработку
доменов,
таблиц
автоматизированной системы, а также генераторов и триггеров для
реализации автоинкрементных полей таблиц базы данных [10].
2.4 Создание и разработка процесса автоматизированной системы
планирования поставок
Перед
разработкой
автоматизированной
системы
планирования
поставок, «заточенную» под особенности предприятия ООО ТД «Малахов +»
необходимо разработать алгоритм работы программного продукта.
Алгоритм автоматизированной системы планирования поставок на
примере ООО ТД «Малахов +» представлен на рис. 2.5.
34
Рис. 2.5. Схема процесса работы системы
Начало работы автоматизированной системы планирования поставок
сопровождается проверкой на работу функционала системы. В случаи
возникновения проблем, необходимо приостановить работу, и устранить
возникшие проблемы. Дальнейшим шагом является проверка доступа к базе
данных (либо частям базы данных) предприятия ООО ТД «Малахов +». В
случаях потери или же отсутствия доступа необходимо исправить возникшие
проблемы.
В ходе планирования поставки товара происходит выбор поставщика и
производится анализ его ресурсов. При наличии нужного товара у
конкретного поставщика, идет проверка движения товара в процессе его
реализации. Данная проверка состоит из: определения потребностей в
35
складских помещениях и транспортных средствах. Если же данного товара
нет у поставщика, то происходит поиск других поставщиков.
После анализа складских помещений и транспортного средства
происходит оплата товара на расчетный счет поставщика. При поступлении
денежных средств на счет, оформляется соответствующая документация, и
товар поступает в ООО ТД «Малахов +». Благодаря автоматизированной
системе
планирования
поставок
облегчается
оформление
бумажной
документации предприятия, и ведется учет всех проведенных операций с
товарами (его поступление, или продажа). Кроме этого, система производит
контроль товара на складе ООО ТД «Малахов +», она заблаговременно
оповещает о том, что ресурсы заканчиваются (к примеру, система выдает
оповещение, что осталось товара на 3 дня).
2.5
Программная
реализация
автоматизированной
системы
планирования поставок
Для простоты работы с приложением используется поиск и фильтрация
данных. Пользователь указывает в поле ввода необходимую информацию и в
результате получает отфильтрованную информацию.
Программный код поиска и фильтрации данных представлен в
листинге 2.1.
Листинг 2.1 Пример поиска и фильтрации данных
case 1: {
if(Edit1->Text !="")
{ StoreModule->StorageQuery->Close();
StoreModule->StorageQuery->SQL->Clear();
if (PriceEdit1->Enabled==true & PriceEdit2->Enabled==true)
{SQL="SELECT *FROM PRODUCT_VIEW WHERE SUBCATEGORY like'"+Edit1>Text+"%' and PRICE BETWEEN "+PriceEdit1->Text+" AND "+PriceEdit2->Text+Exp; }
Else {
SQL="SELECT *FROM PRODUCT_VIEW WHERE SUBCATEGORY like'"+Edit1>Text+"%'"+Exp;}
StoreModule->StorageQuery->SQL->Add(SQL);
StoreModule->StorageQuery->Open(); }
Else {
36
Продолжение. Листинг 2.1.Пример поиска и фильтрации данных
/ MessageBox(NULL, "Заполните поле", "Ошибка", MB_OK);}
}break;
case 2: {
if(Edit1->Text !="")
{ StoreModule->StorageQuery->Close();
StoreModule->StorageQuery->SQL->Clear();
if (PriceEdit1->Enabled==true & PriceEdit2->Enabled==true)
{SQL="SELECT *FROM PRODUCT_VIEW WHERE ARTICLE like'"+Edit1->Text+"%' and
PRICE BETWEEN "+PriceEdit1->Text+" AND "+PriceEdit2->Text+Exp;}
Главным
из
преимуществ
СУБД
Firebird
являются
хранимые
процедуры. Одной из таких процедур является «оформление закупок», в
которой заполняются необходимые данные для закупки товара на
предприятие ООО ТД «Малахов +».
Программный код вызова хранимой процедуры оформления закупок
представлен в листинге 2.2.
Листинг 2.2 Вызов хранимой процедуры оформления закупок
PurchaseModule->IBPurchaseSet->Close();
PurchaseModule->IBPurchaseSet->SelectSQL->Clear();
PurchaseModule->IBPurchaseSet->SelectSQL->Add("select * from purchase");
PurchaseModule->IBPurchaseSet->Open();
PurchaseModule->IBPurchaseSet->First();
do{
if(PurchaseModule->IBPurchaseSet->FieldByName("ISDELIVERED")->AsString=="Да"){
StoreModule->IBProductionSet->Insert();
StoreModule->IBProductionSet->FieldByName("ARTICLEID")->Value = PurchaseModule>IBPurchaseSet->FieldByName("ARTICLEID")->AsString;;
StoreModule->IBProductionSet->FieldByName("AMOUNT")->Value = PurchaseModule>IBPurchaseSet->FieldByName("COUNTPUR")->AsString;
StoreModule->IBProductionSet->FieldByName("PRODUCTIONDATE")->Value
=
PurchaseModule->IBPurchaseSet->FieldByName("PRODDATE")->AsString;
StoreModule->IBProductionSet->FieldByName("EXPDATE")->Value = PurchaseModule>IBPurchaseSet->FieldByName("EXPDATE")->AsString;
StoreModule->IBProductionSet->FieldByName("PRICE")->Value
=
PurchaseModule>IBPurchaseSet->FieldByName("PRICE")->AsString;
StoreModule->IBProductionSet->Post();
PurchaseModule->IBPurchaseSet->Delete();}
PurchaseModule->IBPurchaseSet->Next();}
while(!PurchaseModule->IBPurchaseSet->Eof);
37
Для приведения всех значений к изначальному виду используется
копка «Сброс», которая отвечает за отмену поиска и фильтрации данных в
автоматизированной системе планирования поставок.
Программный код сброса фильтрации и поиска представлен в листинге
2.3.
Листинг 2.3 Программный код сброса фильтрации и поиска
{ StoreModule->StorageQuery->Close();
StoreModule->StorageQuery->SQL->Clear();
SQL="SELECT *FROM PRODUCT_VIEW";
StoreModule->StorageQuery->SQL->Add(SQL);
StoreModule->StorageQuery->Open(); }
Для вычисления общей стоимости товара на складе, минимальной,
максимальной, а также средней его стоимости используется отчет о товарах
на складе. Данный отчет содержит в себе следующие данные: категория и
подкатегория товара, артикул, дата производства, годен до, количество, цена,
общая стоимость.
Программный код создания отчета о товарах на складе представлен в
листинге 2.4.
Листинг 2.4 Программный код создания отчета
{ StoreModule->frxReport1->ShowReport();}
Таким образом, после программной реализации автоматизированной
системы
планирования
работоспособности.
поставок
можно
переходить
к
оценке
ее
38
ГЛАВА 3 ОЦЕНКА РАБОТОСПОСОБНОСТИ
РАЗРАБОТАННОЙ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ
НА ПРИМЕРЕ ООО ТД «МАЛАХОВ +»
3.1 Описание программного интерфейса автоматизированной
системы
Для
разработки
клиентского
приложения
было
использовано
программное обеспечение Embracadero Rad Studio, в котором содержаться
все необходимые библиотеки и компоненты для работы с базой данных и
проектирования непосредственно Windows-приложения.
Вначале работы необходимо пройти авторизацию в системе «Торговый
Дом «Малахов +». Для этого была создана форма со следующими
компонентами:
- Edit – компонент, предназначенный для ввода логина и пароля
пользователя;
- Label – компонент, предназначенный для вывода вспомогательной
информации;
-
GroupBox
–
компонент,
предназначенный
для
объединения
нескольких компонентов на форме;
- Image – компонент, предназначенный для добавления картинки на
форму;
- Button – компонент, предназначенный для входа в систему.
На рис. 3.1 показана созданная форма авторизации с необходимыми
компонентами.
39
Рис. 3.1 Форма авторизации с компонентами
После получения доступа к системе открывается основное окно
программы «Торговый Дом «Малахов +». Для этого была создана форма со
следующими компонентами:
- Image – компонент, предназначенный для добавления картинки на
форму;
- Button – компонент, предназначенный для входа в систему.
На
рис.
3.2
показана
основная
форма
Windows-приложения
планирования поставок.
Рис. 3.2. Форма Windows – приложения
Модульная структура приложения включает в себя следующую
структуру:
40
- модуль «склад» - предназначен для вывода информации о запасах
товара на складе ООО ТД «Малахов +»;
- модуль «заказ товаров» - предназначен для оформления поставки и
закупки товаров на предприятие ООО ТД «Малахов +».
В Embracadero Rad Studio имеется возможность хранения не
визуальных компонентов. Для этого были использованы следующие модули:
PurchaseModule, SaleModule, StoreModule.
Созданные контейнеры и формы показаны на рис. 3.3.
Рис. 3.3. Созданные контейнеры и формы
Для разделения общей системы на более мелкие многофункциональные
категории был использован компонент управления, который называется
PageControl. В свою очередь данный компонент отображает все созданные
вкладки программного продукта.
Для реализации модуля «Заказ товаров» были использованы такие
вкладки как:
- «Поставка товара» - данная вкладка служит для наглядного
представления характеристик базы данных, а именно: категории товара,
подкатегории товара, артикула товара, цены товара, даты производства
товара, количества на складе того или иного товара;
41
- «Заказ товаров» - данная вкладка представляет собой форму для
заказа товара.
На рис. 3.4 представлена форма фрагмента базы данных «Товары на
складе».
Рис.3.4. Товары на складе
Для создания модуля «Заказ товаров» были использованы следующие
компоненты:
- DBGrid – компонент, предназначенный для вывода информации из
базы данных системы;
- PageControl
- компонент, предназначенный для создания вкладок
системы;
- DBNavigator – компонент, предназначенный для передвижения по
строкам базы данных.
Кроме основного меню в системе создано дополнительное меню,
включающее в себя следующий перечень вкладок:
- поставщики – вкладка, предназначенная для хранения информации о
поставщиках, у которых закупает товар ООО ТД «Малахов +»;
- закупочный договор – вкладка, предназначенная для хранения
информации о заключенных договорах между ООО ТД «Малахов +» и
поставщиками;
- закупка – вкладка, предназначенная для хранения информации о
закупках товара предприятием ООО ТД «Малахов +».
42
На рис. 3.5 представлено дополнительное меню программного
продукта «Торговый Дом «Малахов +».
Рис. 3.5. Дополнительное меню программного продукта
Таким образом, после создания интерфейса автоматизированной
системы закупочной логистики «Торговый Дом «Малахов +» можно
переходить к ее тестированию.
3.2 Тестирование автоматизированной системы планирования
поставок
При запуске автоматизированной системы ООО ТД «Малахов +»
необходимо пройти авторизацию. Для этого сотруднику Торгового Дома
необходимо ввести имя и пароль.
Авторизация сотрудника в системе представлена на рис. 3.6.
43
Рис. 3.6. Авторизация сотрудника в системе
При правильном вводе логина и пароля открывается основное окно
системы. Данное окно включает в себя 2 подсистемы: склад и заказ товаров,
каждый из которых включает в себя определенный набор функций для
работы.
На рис. 3.7 показано основное окно программы «Торговый Дом
«Малахов +».
Рис. 3.7 Основное окно программы
При нажатии на кнопку «Склад» автоматизированная система
предоставляет доступ к информации о наличии того или отсутствии товара
44
на складе. Данная функция необходима для ведения учета товаров и
своевременной их закупки на предприятие.
Форма «Товары на складе» позволяет производить поиск по
выбранным полям, фильтровать ценовой диапазон товара, а также
производить поиск по товарам с истекающим сроком годности.
На рис. 3.8 показана форма «Товары на складе».
Рис. 3.8. Форма «Товары на складе»
При подключении к базе данных склада, а именно к модулю «Запасы
на складе», открывается таблица «Поставка товара», хранящая в себе
информацию обо всех поступивших товарах на склад.
На рис. 3.9 показан модуль «Поставка товара».
Рис. 3.9. Модуль «Поставка товара»
При переходе к модулю «Закупка товара» открывается таблица с
хранящейся информацией о поставщиках, договорах, количествах поставки,
дате поставки, дате производства товара, сроку годности товара, статуса
45
доставки и цене закупки. По прибытии заказанного товара на склад ООО ТД
«Малахов +» в поле «Доставлено» ставится статус «Да».
На рис. 3.10 показан модуль «Закупка товара» на склад ООО ТД
«Малахов +».
Рис. 3.10 Модуль «Закупка товара»
После тестирования автоматизированной системы можно перейти к
методам обработки данных.
3.3 Основные итоги тестирования
Тестирование автоматизированной системы планирования поставок
предполагает добавление, удаление, поиск, фильтрацию и редактирование
данных в системе.
На рис. 3.11 показана таблица «Товары» автоматизированной системы.
Рис.3.11 Таблица «Товары»
46
Для добавления продукта в таблицу «Товары» нужно заполнить
следующие поля: артикул товара, количество, дата выпуска, годен до, цена.
После заполнения необходимо нажать кнопку подтверждение («стрелочка»
на панели навигации).
На рис. 3.12 показана таблица «Товары» после добавления записи под
номером 16.
Рис. 3.12 Таблица «Товары» после добавления записи
Для удаления продукта из таблицы «Товары» необходимо нажать
кнопку удаления («минус» на панели навигации) и подтверждения («минус»
на панели навигации). После этого автоматизированная система выведет
сообщение с подтверждением выполнения данного действия.
На рис.3.13 показан процесс удаления записи в таблице «Товары».
Рис.3.13 Процесс удаления записи
Для поиска необходимой информации необходимо выбрать поле
поиска, ввести название товара и нажать кнопку «Найти».
На рис. 3.14 показан поиск товара по артикулу.
47
Рис. 3.14 Поиск товара по артикулу
Под фильтрацией понимается заранее заданный диапазон в промежутке
которого необходимо найти нужную информацию. Для фильтрации товара
задается параметр «от» и «до».
На рис. 3.15 показана фильтрация закупочного договора по дате.
Рис. 3.15 Фильтрация закупочного договора по дате
48
Под редактированием в системе понимается процесс изменения
существующей информации на новую. Для
редактирования необходимо
выбрать после изменения, нажать на него и ввести нужную информацию.
На рис. 3.16 показан процесс редактирования данных доставки товара
на склад.
Рис. 3.16 Редактирование данных доставки товара на склад
Помимо основного функционала системы в ней можно создавать отчет.
Он включает в себя не только все данных о товарах, которые в данный
момент находятся на складе, но также и общую стоимость товаров,
минимальную, максимальную и среднюю его стоимости.
На рис. 3.17 показан отчет о товарах на складе предприятия ООО ТД
«Малахов +».
49
Рис. 3.17 Отчет о товарах на складе
Таким образом, в ходе выполнения выпускной квалификационной
работы была создана автоматизированная система планирования поставок на
примере ООО ТД «Малахов +». Данный продукт имеет весь необходимый
функционал и готов к использованию.
50
ЗАКЛЮЧЕНИЕ
В результате написания выпускной квалификационной работы была
решена
поставленная
цель:
разработана
информационная
система
автоматизации закупочной логистики на предприятии ООО ТД «Малахов +».
В процессе прохождения практики были решены все поставленные
задачи:
- рассмотрена и изучена предметная область – деятельность ООО ТД
«Малахов +»;
- проведено инфологическое и даталогическое проектирование базы
данных предметной области;
- создан и реализован процесс планирования поставок на предприятие;
-
протестирована
разработанная
автоматизированная
система
планирования поставок.
Кроме этого, были сформулированы требования к работоспособности
программного
продукта,
а
также
проведен
сравнительный
анализ
существующих разработок, выявлены их особенности и недостатки.
В качестве возможных путей развития проекта в дальнейшем можно
предложить:
- разработку специфических отчетов деятельности предприятия ООО
ТД «Малахов +»;
- добавление документооборота предприятия, т.е. автоматическое
формирование нужной документации.
Таким
образом,
интерфейс
является
простым
и
не
требует
дополнительного обучения сотрудников предприятия, данный программный
продукт был внедрен в ООО ТД «Малахов +», о чем имеется акт о
внедрении.
51
СПИСОК ЛИТЕРАТУРЫ
1. ГОСТ 34.601-90 Автоматизированные системы. Стадии создания.
2.
ГОСТ
34.602-89
Техническое
задание
на
создание
автоматизированной системы.
3.
ГОСТ
библиотечному
7.1
и
–
2003
Система
издательскому
делу.
стандартов
по
информации,
Библиографическая
запись.
Библиографическое описание. Общие требования и правила составления.
4. Агальцов, В. П. Базы данных. Распределенные и удаленные базы
данных: Учебник/В. П. Агальцов. – Москва: ИД ФОРУМ: НИЦ Инфра, 2013.
– 272 с.
5. Аникин, Б. А. Логистика/Б. А. Аникин. – Москва: Проспект, 2013. –
406 с.
6. Аникин, Б. А. Коммерческая логистика: учебник/Б. А. Аникин. Москва: Проспект, 2014. - 426 с.
7.
Аникин, Б. А. Логистика: учебник/Б. А. Аникин, В. В. Дыбская,
А. А. Колобов. – Москва: Инфра-М, 2013. – 368 с.
8. Ардатова, М.М. Логистика в вопросах и ответах: учебное
пособие/М.М. Ардатова. – Москва: Проспект, 2012. – 272 с.
9. Бабаев, С.С. Управление закупками и продажами/С. С. Бабаев. Российская торговля, 2015. – № 5. – 11–13 с.
10. Базы данных и управление ими [Электронный ресурс].- Режим
доступа: http://www.bestreferat.ru/ (дата обращения 20.05.2017г).
11. Борисова, В. В. Складская логистика как универсальный
инструмент управления товаропотоками/В. В. Борисова, К. Г. Гордей //
Вестник
Ростовского
государственного
(РИНХ). - 2013. - № 4 (44). - С. 40-43.
экономического
университета
52
12. Волгин, В. В. Логистика хранения товаров: практическое
пособие/В. В. Волгин. - Москва: Дашков и К, 2014. - 367 с.
14. Волгин, В.В. Склад: организация, управление, логистика/В.В.
Волгин. – Москва: Издательско-торговая корпорация «Дашков и Ко», 2013. –
732 с.
15. Волочиенко, В. А. Логистика производства: теория и практика:
учебник/В. А. Волочиенко, Р. В. Серышев. – Москва: Юрайт, 2014. – 454 с.
16. Гайдаенко, А.А. Логистика: учебник для студентов вузов/А. А.
Гайдаенко, О. В. Гайдаенко.– Москва: Кнорус, 2012. – 272 с.
17.
Голиков,
Е.А.
Основы
логистики:
учебно-практическое
пособие/Е.А. Голиков. – Москва: Дашков и К, 2013. – 88 с.
18. Документация по СУБД Firebird [Электронный ресурс]. – Режим
доступа: http://www.nestor.minsk.by/kg/2004/13/kg41312.html (дата обращения
21.05.2017г).
19. Канке, А.А. Логистика: учебник/ А. А. Канке, И. П. Кошевая. –
Москва: Форум, 2016. – 384 с.
20.
Корпоративная
[Электронный
информационная
ресурс].
–
система
Режим
«Галактика»
доступа:
http://studme.org/109812058814/informatika/korporativnaya_informatsionnaya_si
stema_galaktika (дата обращения 30.05.2017г).
21. Корпоративная
[Электронный
информационная
ресурс].
система
–
(КИС) «ФОЛИО»
Режим
доступа:
http://www.folio.ru/redy51/_progy/cupec.php (дата обращения 30.05.2017г).
22.
Корпоративная
информационная
система
«Галактика»
[Электронный ресурс]. – Режим доступа: http://t-asu.ru/portfolio/galaktika-erp/
(дата обращения 30.05.2017г).
23.
Курочкин,
Д.
В.
Логистика:
[транспортная,
закупочная,
производственная, распределительная, складирования, информационная]:
курс лекций/Д. В. Курочкин. – Минск: ФУАинформ, 2012. – 268с
53
24. Ломтадзе, В. В. Практическая информатика/В. В. Ломтадзе, Л. П.
Шишкина. – Иркутс: изд-во ИрГТУ, 2012. – 200 с.
25. Манжай, И.С. Логистика: конспект лекций/И. С. Манжай – Москва:
Приор-издат, 2012. – 144 с.
26. Маргунова, В.И. Логистика: учебное пособие/В. И. Маргунова. –
Минск: Высшая школа, 2012. – 507 с.
27. Марусева, И.В. Логистика: краткий курс/И. В. Марусева, В. В.
Котов, И. Я. Савченко. – Санкт-Петербург: Питер, 2012. – 192 с.
28. Мельников, В.П. Логистика/В.П. Мельников, А.Г. Схирладзе, А.К.
Антонюк. - Москва: Юрайт, 2014. - 288 с.
29. Моделирование баз данных [Электронный ресурс]. – Режим
доступа: http://www.studfiles.ru/preview/5440797/page:23/
(дата обращения
30.05.2017г).
30. Николайчук, В. Е. Логистический менеджмент: учебник/В. Е.
Николайчук. – Москва: Дашков и К, 2012. – 978 с.
31. Неруш, Ю.М. Логистика: учебник/Ю. М. Неруш Ю.М. – Москва:
Проспект, 2013. – 520 с.
32. ООО ТД «Малахов +» [Электронный ресурс]. – Режим доступа:
http://td-malahov.ru (дата обращения 20.05.2017г).
33. Основные понятия ER-моделей данных [Электронный ресурс]. –
Режим
доступа:
https://infourok.ru/poyasnitelnaya_zapiska_k_proektu_er-
modeli_dannyh-413528.htm (дата обращения 30.05.2017г).
34. Перри, Грег Программирование на C++ для начинающих/Грег
Перри, Дин Миллер. - Москва: Эксмо, 2015. - 368 c.
35. Пелих, С.А. Логистика: учебное пособие/С. А, Пелих, Ф. Ф. Иванов.
– Минск: Право и экономика, 2012. – 556 с.
36.
Прата,
Стивен
Язык
программирования
C++.
Лекции
и
упражнения/Стивен Прата. - Москва: Вильямс, 2015. - 445 c.
37. Прокофьева, О.С. Особенности проектирования современного
складского комплекса/О.С. Прокофьева, Д.С. Фадеев, С.Л. Чикалина //
54
Вестник Иркутского государственного технического университета. - 2013. № 8 (79). -126-130 с.
38.
Программа
[Электронный
автоматизации
ресурс].
госзакупок
–
«Эконом-эксперт»
Режим
доступа:
(дата
http://www.ovariant.ru/program/persis/econom-expert/price
обращения
30.05.2017г).
39. Русаков, С.В. Логистика: курс лекций/С.В. Русаков, С.Н.
Селиванов. – Москва: Элит, 2013. – 176 с.
40. Самоучитель по языку SQL (SQL DML) [Электронный ресурс]. –
Режим доступа: http://www.sql-ex.ru/help (дата обращения 21.05.2017г).
41. Свиридова И. В., Пусная О. П., Зайцева Т. В., Путивцева Н. П.,
Игрунова С. В., Нестерова Е. В., Шевчук А. Р. Разработка интеллектуальной
системы поддержки процесса транспортной логистики/Научные ведомости
Белгородского
государственного
университета
Экономика
Информатика/Выпуск № 23 (244) (декабрь, 2016г.).
42. Сергеев, В. И. Логистика снабжения: учебник/В. И. Сергеев, И. П.
Эльяшевич. – Москва: Юрайт, 2014. – 522с.
43.
Смирнова,
Е.А.
Управление
цепями
поставок:
Учебное
пособие/Е.А, Смирнова.– Санкт-Петербург: Изд-во СПбГУЭФ, 2016.– 120 с.
44.
СУБД
Firebird
[Электронный
ресурс].
–
Режим
доступа:
https://ru.wikipedia.org/wiki/Firebird (дата обращения 21.05.2017г).
45. Тяпухин, А.П. Логистика: учебник для бакалавров/А. П. Тяпухин. –
Москва: Юрайт, 2013. – 568 с.
46. Фуфаев, Э. В., Фуфаев Д. Э. Разработка и эксплуатация удаленных
баз данных/Э. В. Фуфаев, Д. Э. Фуфаев. – Москва: Академия, 2012. – 256 с.
47. Утилита IBExpert [Электронный ресурс]. – Режим доступа:
https://ru.wikipedia.org/wiki/IBExpert (дата обращения 21.05.2017г).
48. Embracadero RAD Studio [Электронный ресурс]. – Режим доступа:
https://ru.wikipedia.org/wiki/Embarcadero_RAD_Studio
21.05.2017г).
(дата
обращения
55
49. Embracadero RAD Studio XE. Информационные технологии,
средства разработки приложений [Электронный ресурс]. – Режим доступа:
http://www.tadviser.ru/index.php/Продукт:Embarcadero_RAD_Studio_XE (дата
обращения 21.05.2017г).
50.
Windows
7
[Электронный
ресурс].
–
Режим
доступа:
https://ru.wikipedia.org/wiki/Windows_7 (дата обращения 21.05.2017г).
51.
1С:
Логистика
[Электронный
ресурс].
–
Режим
доступа:
http://solutions.1c.ru/catalog/tms/features (дата обращения 30.05.2017г).
52. 1С: Предприятие 8. WMS Логистика. Управление складом»: цены и
лицензионная
политика
[Электронный
ресурс].
–
Режим
доступа:
http://logistics.axelot.ru/service/avtomatizatsiya_sklada/1c-wms/1c-wms_price/
(дата обращения 30.05.2017г).
56
Приложение 1
Файл Malachov.cpp
//--------------------------------------------------------------------------#include <vcl.h>
#pragma hdrstop
#include <tchar.h>
//--------------------------------------------------------------------------USEFORM("Unit4.cpp", AuthorizationForm);
USEFORM("Unit3.cpp", PurchaseModule); /* TDataModule: File Type */
USEFORM("Unit6.cpp", PurchaseForm);
USEFORM("Unit5.cpp", MainForm);
USEFORM("Unit2.cpp", StoreModule); /* TDataModule: File Type */
USEFORM("Unit1.cpp", StoreForm);
USEFORM("Unit7.cpp", SaleForm);
USEFORM("Unit8.cpp", SaleModule); /* TDataModule: File Type */
//--------------------------------------------------------------------------int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{ try {
Application->Initialize();
Application->MainFormOnTaskBar = true;
Application->CreateForm(__classid(TStoreForm), &StoreForm);
Application->CreateForm(__classid(TStoreModule), &StoreModule);
Application->CreateForm(__classid(TPurchaseModule), &PurchaseModule);
Application->CreateForm(__classid(TAuthorizationForm), &AuthorizationForm);
Application->CreateForm(__classid(TMainForm), &MainForm);
Application->CreateForm(__classid(TPurchaseForm), &PurchaseForm);
Application->CreateForm(__classid(TSaleForm), &SaleForm);
Application->CreateForm(__classid(TSaleModule), &SaleModule);
Application->Run(); }
catch (Exception &exception) {
Application->ShowException(&exception); }
catch (...) { try {
throw Exception(""); }
catch (Exception &exception) {
Application->ShowException(&exception); } }
return 0;
}
//---------------------------------------------------------------------------
Файл Unit1.cpp
//--------------------------------------------------------------------------#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
57
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Data.DB.hpp>
#include <Vcl.ComCtrls.hpp>
#include <Vcl.DBGrids.hpp>
#include <Vcl.Dialogs.hpp>
#include <Vcl.Grids.hpp>
#include <Vcl.Menus.hpp>
#include <Vcl.DBCtrls.hpp>
#include <Vcl.ExtCtrls.hpp>
//--------------------------------------------------------------------------class TStoreForm : public TForm
{ __published:// IDE-managed Components
TMainMenu *MainMenu1; TMenuItem *Afqk1;
TMenuItem *N1; TMenuItem *N2;
TMenuItem *N3; TMenuItem *N4;
TMenuItem *N5; TMenuItem *N6;
TStatusBar *StatusBar1; TOpenDialog *OpenDialog1;
TPageControl *PageControl1; TTabSheet *TabSheet1;
TDBGrid *DBGrid1; TDBNavigator *DBNavigator1;
TGroupBox *GroupBox1; TPageControl *PageControl2;
TTabSheet *TabSheet2; TDBGrid *DBGrid2;
TDBNavigator *DBNavigator2; TTabSheet *TabSheet4;
TDBNavigator *DBNavigator3; TDBGrid *DBGrid3;
TTabSheet *TabSheet5; TDBNavigator *DBNavigator4;
TDBGrid *DBGrid4; TTabSheet *TabSheet6;
TDBNavigator *DBNavigator5; TDBGrid *DBGrid5;
TGroupBox *GroupBox2; TEdit *Edit1;
TButton *Button1; TCheckBox *CheckBox1;
TEdit *PriceEdit1; TEdit *PriceEdit2;
TComboBox *ComboBox1; TMenuItem *N7;
TButton *Button2; TEdit *Edit2;
TCheckBox *CheckBox2; TMenuItem *N8;
void __fastcall N3Click(TObject *Sender);
void __fastcall N7Click(TObject *Sender);
void __fastcall N5Click(TObject *Sender);
void __fastcall N4Click(TObject *Sender);
void __fastcall CheckBox1Click(TObject *Sender);
void __fastcall Button1Click(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
void __fastcall N8Click(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
private:
// User declarations
public:
// User declarations
__fastcall TStoreForm(TComponent* Owner); };
//--------------------------------------------------------------------------extern PACKAGE TStoreForm *StoreForm;
//--------------------------------------------------------------------------#endif
58
Файл Unit2.cpp
//--------------------------------------------------------------------------#ifndef Unit2H
#define Unit2H
//--------------------------------------------------------------------------#include <System.Classes.hpp>
#include <Data.DB.hpp>
#include <IBX.IBCustomDataSet.hpp>
#include <IBX.IBDatabase.hpp>
#include <IBX.IBQuery.hpp>
#include <IBX.IBStoredProc.hpp>
//--------------------------------------------------------------------------class TStoreModule : public TDataModule
{ __published:// IDE-managed Components
TIBDatabase *IBDatabase1;
TIBTransaction *IBTransaction1;
TDataSource *StorageSource;
TIBQuery *StorageQuery;
TDataSource *CategorySource;
TDataSource *SubcategorySource;
TDataSource *ArticleSource;
TDataSource *ProductionSource;
TIBDataSet *IBCategorySet;
TIBDataSet *IBSubcategorySet;
TIBDataSet *IBArticle;
TIBDataSet *IBProductionSet;
TIntegerField *IBSubcategorySetSUBCATEGORYID;
TIBStringField *IBSubcategorySetNAME;
TIntegerField *IBSubcategorySetCATEGORYID;
TStringField *IBSubcategorySetCN;
TIntegerField *IBCategorySetCATEGORYID;
TIBStringField *IBCategorySetNAME;
TIntegerField *IBArticleARTICLEID;
TIBStringField *IBArticleNAME;
TIntegerField *IBArticleSUBCATEGORYID;
TStringField *IBArticleCN;
TIntegerField *IBProductionSetPRODUCTID;
TIntegerField *IBProductionSetARTICLEID;
TLargeintField *IBProductionSetAMOUNT;
TDateField *IBProductionSetPRODUCTIONDATE;
TDateField *IBProductionSetEXPDATE;
TIBBCDField *IBProductionSetPRICE;
TStringField *IBProductionSetAN;
private:
// User declarations
public:
// User declarations
__fastcall TStoreModule(TComponent* Owner); };
//--------------------------------------------------------------------------extern PACKAGE TStoreModule *StoreModule;
59
//--------------------------------------------------------------------------#endif
Файл Unit3.cpp
//--------------------------------------------------------------------------#ifndef Unit3H
#define Unit3H
//--------------------------------------------------------------------------#include <System.Classes.hpp>
#include <Data.DB.hpp>
#include <IBX.IBCustomDataSet.hpp>
#include <IBX.IBDatabase.hpp>
//--------------------------------------------------------------------------class TPurchaseModule : public TDataModule
{__published: // IDE-managed Components
TIBDatabase *IBDatabase1;
TIBTransaction *IBTransaction1;
TIBDataSet *IBCustomerSet;
TIBDataSet *IBDConProdSet;
TIBDataSet *IBContractSet;
TIBDataSet *IBProviderSet;
TDataSource *CustomerSource;
TDataSource *ConProdSource;
TDataSource *DataContractSource;
TDataSource *ProviderSource;
TIntegerField *IBCustomerSetCUSTOMERID;
TIBStringField *IBCustomerSetNAME;
TIBStringField *IBCustomerSetCITY;
TIBStringField *IBCustomerSetSTREET;
TIntegerField *IBCustomerSetBUILD;
TIntegerField *IBCustomerSetPHONE;
TIntegerField *IBCustomerSetINN;
TIntegerField *IBCustomerSetKPP;
TIntegerField *IBCustomerSetOGRN;
TIntegerField *IBDConProdSetCONPRODID;
TIntegerField *IBDConProdSetCONTRACTID;
TIntegerField *IBDConProdSetCUSTOMERID;
TIntegerField *IBDConProdSetARTICLEID;
TIntegerField *IBDConProdSetCOUNTPARTY;
TDateField *IBDConProdSetDATECONPROD;
TIntegerField *IBDConProdSetPERIOD;
TIntegerField *IBContractSetCONTRACTID;
TIntegerField *IBContractSetCUSTOMERID;
TIBStringField *IBContractSetNUMBER;
TDateField *IBContractSetDATECONTRACT;
TStringField *IBContractSetCN;
TStringField *IBDConProdSetCONTRACT_NO;
TStringField *IBDConProdSetCUSTOMER_NAME;
TStringField *IBDConProdSetARTICLE_NAME;
TIntegerField *IBProviderSetPROVIDERID;
60
TIBStringField *IBProviderSetNAME;
TIBStringField *IBProviderSetCITY;
TIBStringField *IBProviderSetSTREER;
TIntegerField *IBProviderSetBUILD;
TIntegerField *IBProviderSetPHONE;
TIntegerField *IBProviderSetINN;
TIntegerField *IBProviderSetKPP;
TIntegerField *IBProviderSetOGRN;
TIBDataSet *IBContractProvSet;
TDataSource *ContractProvSource;
TIntegerField *IBContractProvSetCONPROVID;
TIntegerField *IBContractProvSetPROVIDERID;
TIBStringField *IBContractProvSetNUMBER;
TDateField *IBContractProvSetDATECONPROV;
TStringField *IBContractProvSetPROV_NAME;
TIBDataSet *IBPurchaseSet;
TDataSource *PurchaseSource;
TIntegerField *IBPurchaseSetPURCHASEID;
TIntegerField *IBPurchaseSetARTICLEID;
TIntegerField *IBPurchaseSetCONPROVID;
TIntegerField *IBPurchaseSetPROVIDERID;
TIntegerField *IBPurchaseSetCOUNTPUR;
TDateField *IBPurchaseSetDATEPUR;
TIBBCDField *IBPurchaseSetPRICE;
TIBStringField *IBPurchaseSetISDELIVERED;
TDateField *IBPurchaseSetPRODDATE;
TDateField *IBPurchaseSetEXPDATE;
TStringField *IBPurchaseSetARTICLE_NAME;
TStringField *IBPurchaseSetPROV_NAME;
TStringField *IBPurchaseSetCONTR_NO;
private:
// User declarations
public:
// User declarations
__fastcall TPurchaseModule(TComponent* Owner);};
//--------------------------------------------------------------------------extern PACKAGE TPurchaseModule *PurchaseModule;
//--------------------------------------------------------------------------#endif
Файл Unit4.cpp
//--------------------------------------------------------------------------#ifndef Unit4H
#define Unit4H
//--------------------------------------------------------------------------#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <Vcl.Graphics.hpp>
//---------------------------------------------------------------------------
61
class TAuthorizationForm : public TForm
{__published: // IDE-managed Components
TGroupBox *GroupBox1; TImage *Image1;
TLabel *Label1; TLabel *Label2;
TEdit *Edit1;TEdit *Edit2;
TButton *Button1;
void __fastcall Button1Click(TObject *Sender);
private:
// User declarations
public:
// User declarations
__fastcall TAuthorizationForm(TComponent* Owner); };
//--------------------------------------------------------------------------extern PACKAGE TAuthorizationForm *AuthorizationForm;
//--------------------------------------------------------------------------#endif
Файл Unit5.cpp
//--------------------------------------------------------------------------#ifndef Unit5H
#define Unit5H
//--------------------------------------------------------------------------#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <Vcl.Graphics.hpp>
//--------------------------------------------------------------------------class TMainForm : public TForm
{__published: // IDE-managed Components
TImage *Image1; TButton *Button1;
TButton *Button2; TButton *Button3;
void __fastcall Button1Click(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
void __fastcall Button3Click(TObject *Sender);
private:
// User declarations
public:
// User declarations
__fastcall TMainForm(TComponent* Owner); };
//--------------------------------------------------------------------------extern PACKAGE TMainForm *MainForm;
//--------------------------------------------------------------------------#endif
Файл Unit6.cpp
//--------------------------------------------------------------------------#ifndef Unit6H
#define Unit6H
//--------------------------------------------------------------------------#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
62
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.ComCtrls.hpp>
#include <Vcl.Dialogs.hpp>
#include <Vcl.Menus.hpp>
#include <Data.DB.hpp>
#include <Vcl.DBCtrls.hpp>
#include <Vcl.DBGrids.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <Vcl.Grids.hpp>
//--------------------------------------------------------------------------class TPurchaseForm : public TForm
{__published: // IDE-managed Components
TMainMenu *MainMenu1; TMenuItem *Afqk1;
TMenuItem *N2; TMenuItem *N3;
TMenuItem *N4; TMenuItem *N5;
TMenuItem *N6; TMenuItem *N8;
TMenuItem *N7; TMenuItem *N1;
TOpenDialog *OpenDialog1; TStatusBar *StatusBar1;
TPageControl *PageControl1;TTabSheet *TabSheet1;
TDBGrid *DBGrid1; TDBNavigator *DBNavigator1;
TTabSheet *TabSheet2; TDBGrid *DBGrid2;
TDBNavigator *DBNavigator2; TTabSheet *TabSheet3;
TDBGrid *DBGrid3; TDBNavigator *DBNavigator3;
TGroupBox *GroupBox1; TGroupBox *GroupBox2;
TPageControl *PageControl2;
TTabSheet *TabSheet4; TTabSheet *TabSheet5;
TTabSheet *TabSheet6; TDBGrid *DBGrid4;
TDBGrid *DBGrid5; TDBGrid *DBGrid6;
TDBNavigator *DBNavigator4;
TDBNavigator *DBNavigator5;
TDBNavigator *DBNavigator6;
TPageControl *PageControl3;
TTabSheet *TabSheet7; TTabSheet *TabSheet8;
TDBGrid *DBGrid7; TGroupBox *GroupBox3;
TEdit *Edit1; TButton *Button1;
TCheckBox *CheckBox1; TEdit *PriceEdit1;
TEdit *PriceEdit2; TComboBox *ComboBox1;
TButton *Button2; TCheckBox *CheckBox2;
TDateTimePicker *DateTimePicker1;
TDateTimePicker *DateTimePicker2;
TLabel *Label1; TLabel *Label2;
TButton *Button3; TDBGrid *DBGrid8;
TGroupBox *GroupBox4;
TLabel *Label3; TLabel *Label4;
TEdit *Edit2; TButton *Button4;
TCheckBox *CheckBox3;
TEdit *Edit3; TEdit *Edit4;
TComboBox *ComboBox2; TButton *Button5;
TCheckBox *CheckBox4;
TDateTimePicker *DateTimePicker3;
63
TDateTimePicker *DateTimePicker4;
TGroupBox *GroupBox5; TCheckBox *CheckBox5;
TButton *Button6; TButton *Button7;
void __fastcall N8Click(TObject *Sender);
void __fastcall N7Click(TObject *Sender);
void __fastcall Button6Click(TObject *Sender);
void __fastcall Button7Click(TObject *Sender);
private:
// User declarations
public:
// User declarations
__fastcall TPurchaseForm(TComponent* Owner);};
//--------------------------------------------------------------------------extern PACKAGE TPurchaseForm *PurchaseForm;
//--------------------------------------------------------------------------#endif
Файл Unit7.cpp
//--------------------------------------------------------------------------#ifndef Unit7H
#define Unit7H
//--------------------------------------------------------------------------#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.Dialogs.hpp>
#include <Vcl.Menus.hpp>
#include <Data.DB.hpp>
#include <Vcl.ComCtrls.hpp>
#include <Vcl.DBCtrls.hpp>
#include <Vcl.DBGrids.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <Vcl.Grids.hpp>
//--------------------------------------------------------------------------class TSaleForm : public TForm
{__published: // IDE-managed Components
TMainMenu *MainMenu1; TMenuItem *Afqk1;
TMenuItem *N2; TMenuItem *N3;
TMenuItem *N4; TMenuItem *N5;
TMenuItem *N6; TMenuItem *N8;
TMenuItem *N7; TMenuItem *N1;
TOpenDialog *OpenDialog1;
TStatusBar *StatusBar1;
TPageControl *PageControl1;
TTabSheet *TabSheet1;
TGroupBox *GroupBox1;
TPageControl *PageControl2;
TTabSheet *TabSheet2; TTabSheet *TabSheet3;
TTabSheet *TabSheet4; TTabSheet *TabSheet5;
TTabSheet *TabSheet6;
TDBGrid *DBGrid1; TDBGrid *DBGrid2;
64
TDBGrid *DBGrid3; TDBGrid *DBGrid4;
TDBGrid *DBGrid5;
TDBNavigator *DBNavigator2;
TDBNavigator *DBNavigator3;
TDBNavigator *DBNavigator4;
TDBNavigator *DBNavigator5;
TDBNavigator *DBNavigator1;
TDBGrid *DBGrid6; TEdit *Edit1;
TDBNavigator *DBNavigator6;
TGroupBox *GroupBox3;
TLabel *Label1; TLabel *Label2;
TEdit *Edit2; TButton *Button1;
TCheckBox *CheckBox1;
TEdit *PriceEdit1; TEdit *PriceEdit2;
TComboBox *ComboBox1;
TButton *Button2;
TCheckBox *CheckBox2;
TDateTimePicker *DateTimePicker1;
TDateTimePicker *DateTimePicker2;
TButton *Button3;
TButton *Button4;
void __fastcall N7Click(TObject *Sender);
void __fastcall N8Click(TObject *Sender);
private:
// User declarations
public:
// User declarations
__fastcall TSaleForm(TComponent* Owner);};
//--------------------------------------------------------------------------extern PACKAGE TSaleForm *SaleForm;
//--------------------------------------------------------------------------#endif
Файл Unit8.cpp
//--------------------------------------------------------------------------#ifndef Unit8H
#define Unit8H
//--------------------------------------------------------------------------#include <System.Classes.hpp>
#include <Data.DB.hpp>
#include <IBX.IBCustomDataSet.hpp>
#include <IBX.IBDatabase.hpp>
//--------------------------------------------------------------------------class TSaleModule : public TDataModule
{
__published: // IDE-managed Components
TIBDatabase *IBDatabase1;
TIBTransaction *IBTransaction1;
TIBDataSet *IBCarSet;
TIBDataSet *IBDriverSet;
TIBDataSet *IBWaiBillSet;
TDataSource *GarageSource;
65
TDataSource *CarSource;
TDataSource *DriverSource;
TDataSource *WayBillSource;
TDataSource *SaleSource;
TIntegerField *IBCarSetCARID;
TIBStringField *IBCarSetNAME;
TIBStringField *IBCarSetTYPE;
TIBStringField *IBCarSetREFRIGERATOR;
TLargeintField *IBCarSetMAXWEIGHT;
TLargeintField *IBCarSetDISTANCE;
TIntegerField *IBCarSetGARAGEID;
TIntegerField *IBDriverSetDRIVERID;
TIBStringField *IBDriverSetNAME;
TIBStringField *IBDriverSetSURNAME;
TIBStringField *IBDriverSetPATRONYMIC;
TDateField *IBDriverSetBIRTHDAY;
TIntegerField *IBWaiBillSetWAYBILLID;
TIntegerField *IBWaiBillSetCARID;
TIntegerField *IBWaiBillSetDRIVERID;
TIBDataSet *IBGarageSet;
TIBStringField *IBGarageSetADRESS;
TIntegerField *IBGarageSetGARAGEID;
TIBStringField *IBGarageSetNAME;
TIBDataSet *IBSaleSet;
TIntegerField *IBSaleSetSALEID;
TIntegerField *IBSaleSetARTICLEID;
TIBBCDField *IBSaleSetSALEPRICE;
TLargeintField *IBSaleSetAMOUNT;
TIntegerField *IBSaleSetWAYBILLID;
TDateField *IBSaleSetSALEDATE;
TStringField *IBCarSetGN;
TStringField *IBWaiBillSetCARNAME;
TStringField *IBWaiBillSetDRN;
TStringField *IBSaleSetAR_NAME;
TStringField *IBSaleSetWBN;
void __fastcall IBSaleSetBeforePost(TDataSet *DataSet);
private:
// User declarations
public:
// User declarations
__fastcall TSaleModule(TComponent* Owner);};
//--------------------------------------------------------------------------extern PACKAGE TSaleModule *SaleModule;
//--------------------------------------------------------------------------#endif
66
Приложение 2
Таблица 1 – Список атрибутов таблицы «Категория»
Содержание атрибута
Индивидуальный код таблицы «Категория»
Название категории продукта
Название атрибута
ID_category
name
Тип данных
smallint
Char (30)
Название атрибута
ID_subcategory
ID_category
name
Таблица 2 – Список атрибутов таблицы «Подкатегория»
Тип данных
Содержание атрибута
smallint
Индивидуальный код таблицы «Подкатегория»
smallint
Индивидуальный код таблицы «Категория»
Char (30)
Название подкатегории продукта
Название атрибута
ID_article
ID_category
name
Тип данных
smallint
smallint
Char (30)
Название атрибута
ID_inventory
ID_article
count
Product_date
Purchase_price
Таблица 3 – Список атрибутов таблицы «Артикул»
Содержание атрибута
Индивидуальный код таблицы «Артикул»
Индивидуальный код таблицы «Категория»
Название артикула товара
Таблица 4 – Список атрибутов таблицы «Запасы на складе»
Тип данных
Содержание атрибута
Smallint
Индивидуальный код таблицы «Запасы на
складе»
smallint
Индивидуальный код таблицы «Артикул»
integer
Количество товара на складе
datetime
Дата производства товара
integer
Закупочная цена товара
Название атрибута
ID_buyer
Name_company
City
Тип данных
smallint
Char (30)
Char (30)
Street
Char (30)
House
integer
phone
INN
KPP
OGRN
Integer
Integer
Integer
integer
Таблица 5 – Список атрибутов таблицы «Покупатель»
Содержание атрибута
Индивидуальный код таблицы «Покупатель»
Название фирмы «Покупателя»
Город, в котором зарегистрирована фирмапокупатель
Улица, на которой зарегистрирована фирмапокупатель
Дом, в котором зарегистрирована фирмапокупатель
Номер телефона фирмы-покупателя
ИНН фирмы-покупателя
КПП фирмы-покупателя
ОГРН фирмы-покупателя
67
Таблица 6 – Список атрибутов таблицы «Договор купли-продажи»
Название атрибута
Тип данных
Содержание атрибута
ID_contract_of_sale smallint
Индивидуальный код таблицы «Договор куплипродажи»
ID_buyer
smallint
Индивидуальный код таблицы «Покупатель»
Act_number
Integer
Номер акта заключения договора купли-продажи
Date_of_confinement datetime
Дата заключения договора купли-продажи
Таблица 7 – Список атрибутов таблицы «Договор купли-продажи-товар»
Название атрибута Тип данных
Содержание атрибута
ID_contract_of_sale smallint
Индивидуальный код таблицы «Договор купли_product
продажи-товар»
ID_contract_of_sale smallint
Индивидуальный код таблицы «Договор куплипродажи»
Planned_quantity_in integer
Плановое количество товара в партии
_batch
Date
datetime
Дата заключения
periodicity
Char (30)
Периодичность поставки
Название атрибута
ID_provider
Name_company
City
Тип данных
smallint
Char (30)
Char (30)
Street
Char (30)
House
integer
phone
INN
KPP
OGRN
Integer
Integer
Integer
integer
Название атрибута
ID_Contract_of_pur
chase
ID_provider
Number_act
Date_of_confineme
nt
INN_TD
KPP_TD
OGRN_TD
Название атрибута
Таблица 8 – Список атрибутов таблицы «Поставщик»
Содержание атрибута
Индивидуальный код таблицы «Поставщик»
Название фирмы «Поставщик»
Город, в котором зарегистрирована фирмапоставщик
Улица, на которой зарегистрирована фирмапоставщик
Дом, в котором зарегистрирована фирмапоставщик
Номер телефона фирмы-поставщика
ИНН фирмы-поставщика
КПП фирмы-поставщика
ОГРН фирмы-поставщика
Таблица 9 – Список атрибутов таблицы «Закупочный договор»
Тип данных
Содержание атрибута
smallint
Индивидуальный код таблицы «Закупочный
договор»
smallint
Индивидуальный код таблицы «Поставщик»
Integer
Номер акта заключения закупочного договора
datetime
Дата заключения закупочного договора
Integer
Integer
Integer
Тип данных
Integer
Integer
Integer
Таблица 10 – Список атрибутов таблицы «Закупка»
Содержание атрибута
68
ID_purchase
ID_Contract_of_pur
chase
amount
date_of_manufactur
e
purchase_price
Delivered_to_the_w
arehouse
Integer
datetime
Индивидуальный код таблицы «Закупка»
Индивидуальный код таблицы «Закупочный
договор»
Количество товара в закупке
Дата закупки товаров
Integer
Char (30)
Закупочная цена товаров
Доставлено/недоставлено на склад
smallint
smallint
Приложение 3
Рис. 3.1 Созданная база данных «Закупки товаров»
69
Рис. 3.2 Таблица «Поставщики» базы данных «Закупки»
Рис. 3.3 Созданная база данных «Склад»
70
Рис. 3.4 Таблица «Товар» базы данных «Склад»
Рис. 3.5 Изменение статуса доставки товара на склад
71
Рис. 3.6 Фильтрация закупок товара по дате
Рис.3.7 Добавление нового артикула
72
Рис.3.8 Таблица «Категория»
Рис.3.9 Таблица «Подкатегория»
73
Рис. 3.10 Таблица «Артикул»
Рис. 3.11 Поставка товара
74
Рис. 3.12 Закупка товара
75
Приложение 4
Копия титульного листа Технического задания
97
Выпускная квалификационная работа выполнена мной совершенно
самостоятельно. Все использованные в работе материалы и концепции из
опубликованной научной литературы и других источников имеют ссылки на
них.
«___» ________________ _____ г.
__________________________
(подпись)
______________
(Ф.И.О.)
Отзывы:
Авторизуйтесь, чтобы оставить отзыв