Автоматизация системы учета и контроля склада

1 ВВЕДЕНИЕ

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

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

Компьютерный учет имеет свои особенности  и радикально отличается от обычного. Компьютер не только облегчает учет, сокращая время, требующееся на оформление документов и обобщение накопленных  данных для анализа хода торговой деятельности, необходимого для управления ею. Отчеты о положении в торговле, получаемые с помощью компьютера, можно получить и без него – никакой особой математики в компьютере не содержится – но на расчеты уйдет столько времени, что они уже ни на что не будут нужны; или ими придется занять такое количество расчетчиков, что на их зарплату уйдет значительно больше, чем будет получено прибыли в результате их расчетов. Таким образом при применении компьютера “количество переходит в качество”: увеличение скорости расчетов делает возможным качественное улучшение самой схемы построения торговли.

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

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

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

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

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

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

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

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

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

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

 

 

 

 

 

 

 

 

 

2.ОБЩАЯ ЧАСТЬ

 

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

Подсистема должна обеспечивать:

- Сбор необходимой информации и вывод в удобном для пользователя виде

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

- Облегчение доступа  к информации.

- Интегрировать данные  функции в разработанную систему оборота документации “Информационная база ООО «МАП»”.

  -  Вывод информации  по движению, расходу и количеству материалов.

  - Построение отчетов в MicroSoft Excel и MicroSoft Word, на основе технологии OLE Automation.

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

Подсистема должна обеспечивать:

- Заполнение бланка  заказа без участия пользователя.

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

- Использование OLE-функций  открытого интерфейса системы  “ Информационная база ООО «МАП»”.

-Использование OLE-функций  TechCard, Search, ImBase.

 

 

 

2.1.Проблемы создания системы

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

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

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

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

2.1.2. Проблемы непосредственно кодирования в основном были связаны с тем, что при разработке подсистемы формирования бланков заказов зачастую приходилось опираться на слабо документированные OLE – функции систем TechCard, Search, Imbase. Так как обращение к подобным функциям происходит посредством технологии OLE Automation, то зачастую входные или выходные типы параметров подобных функций имели тип OLE Variant, то есть определить формат этих параметров без участия разработчиков было практически невозможно. Поэтому, немалую часть времени и средств приходилось выделять на связь с разработчиками посредством электронной почты или телефонных переговоров для выяснения необходимой информации.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.2. Выбор программно-технических средств реализации системы

2.2.1. Выбор Delphi 7 как основной среды разработки

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

Windows предоставляет разработчикам  (и пользователям) удобный стандартный  интерфейс, имеет мощные средства  межпрограммного обмена данными  через механизм OLE Automation  и ActiveX и обеспечивает поддержку работу с базами данных на уровне расширения операционной системы —  через ODBC драйвера.

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

Рисунок 1 Выбор программно-технических средств

 

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

Delphi 7 — это интегрированная среда разработки, обладающая мощными возможностями. Delphi 7 является Win32-совместимой средой разработки и позволяет разрабатывать быстрые высокопроизводительные программы под платформу Windows.

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

n Delphi 7 является визуальным средством проектирования приложений, которое позволяет быстро и без усилий создать работающий интерфейс системы.

n В Delphi 7 реализована мощная версия объектно-ориентированного языка программирования Object Pascal, который позволяет объединять данные и код в один класс (инкапсуляция), создавать дочерние классы (наследование) и обращаться с классами-потомками, как с родителями (полиморфизм).

 

 

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

n Delphi 7 поддерживает объекты, которые создаются с помощью других языков (например, С++) на основе стандарта OCX. ОСХ-объекты чаще всего поставляются независимыми компаниями, предлагающими широкий спектр продуктов: от WEB-броузеров до озвученных электронных таблиц и программ проверки орфографии.  ActiveX представляет собой измененую модель ОСХ и принят как стандарт для подключаемых объектов. Delphi полностью поддерживает этот стандарт.

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

n Delphi 7 обладает большими возможностями по управлению и работе с базами данных. Большая часть библиотеки компонентов посвящена базам данных и позволяет легко реализовывать структуры баз данных. Delphi 7 также поддерживает промышленный стандарт SQL-запросов, без которого не обходится серьезное приложение баз данных.

  • Семейство сервисных продуктов, окружающее Delphi 7, как, например, Install Shield Express for Delphi 7,  облегчает работу по распостранению и поддержке программных продуктов, написанных на Delphi 7. Install Shield Express позволяет создавать инсталляционные версии Delphi-продуктов, удовлетворяющие требованиям логотипа Windows.

 

  • Программа, посредством технологии OLE – Automation связывается с программными комплексами Search, TechCard НПП “Интермех”, которые были также написаны на Delphi. Подобные связи всегда работают более устойчиво при написании объектов на единой платформе.
  • В Delphi хорошо проработана методика управления автоматизированными объектами Excel и Word, что используется при построении электронного балансового отчёта.

2.2.2. Особенности организации информационного, программного и технического обеспечения.

 

В разработанной программной  системе вся работа с базами данных построена на использовании SQL.

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

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

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

 

Другим мощным современным  средством, использованным при разработке программы, является COM интерфейс —  дальнейшее развитие технологии OLE Automation. COM расшифровывается как «Component Object Model» ,  т.е. составная модель объектов. Это объектно - базирующаяся технология, предназначенная для обеспечения возможностей взаимодействия процессов в среде Windows через заранее определенные наборы  процедур, называемых интерфейсами. С помощью COM-интерфейсов можно обращаться к внешней программе как к обычному программному модулю. Это придает чрезвычайную гибкость разрабатываемому программному обеспечению. Благодаря COM Search API разработка данной программы заняла гораздо меньше времени и усилий, чем без использования COM.

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

Вследствие повышенной требовательности к ресурсам, желательно наличие машин класса PentiumIV, ОЗУ>=512 Мб. Операционная система – Windows XP.

 

 

 

 

 

 

2.3. Анализ научно-технической задачи

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

Объект анализа:

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

 

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

Данные подсистемы являются частями  единой системы автоматизации «Информационная база ООО «МАП»:

 

 

 

 

 

 

 

 

Рисунок 2 Поддержка основных функций системой «Склад»

 

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

Выходным  результатом работы системы «Склад» над комплектом документации является сформированная заявка на заказ товара и документы по движению материалов.

Таким образом, мы выделили общую задачу автоматизации склада, определили необходимые входные и выходные данные для нее. Теперь необходимо выделить нашу задачу, как часть вышеописанной схемы, которая позволит автоматизировать ранее не затронутые системой “ Информационная база ООО «МАП ” части склада.

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

 

 

2.3.1 Анализ деятельности склада в части необходимости создания заявки.

Входными  данными для склада является заводская документация.

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

2.3.2 Анализ деятельности ОМТС.

Входными  данными для ОМТС являются зарегистрированные заказы на закупку материалов и счета из бухгалтерии.

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

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

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

3.ТЕХНИЧЕСКАЯ ЧАСТЬ

3.1. Функциональная модель системы «Склад»

Разрабатываемая система  управления складом интегрируется в единую систему автоматизации завода “Информационная база ООО «МАП»”.

 

 

 

 

 

 

 

 

 

 

 

Рисунок 6. Схема основных функций интегрированной системы  “Склад”

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 7. Функциональная схема взаимодействия подсистемы формирования заказов с сервисными функциями в единой системе управления складом.

 

3.2. Описание программы

 

Всю проделанную в  ходе дипломного проекта работу можно  разделить на три основные части: 1) Подсистема формирования заказов.

2) Подсистема учета товара.

3) Набор сервисных функций, обеспечивающих создание отчетности.

3.2.1.  Описание подсистемы поступления и расхода комплектующих и расходных материалов.

Для добавления позиции в базу нужно  выбрать нужную позицию в каталоге (в данном случае это струйные картриджи НР) и нажать кнопку «+» справа напротив наименования товара (26й картридж фирмы HP). При этом над таблицей товаров появиться зеленая панель «Добавление поступление товара:» с наименованием товара НР26.

Далее в соответствующих  строках вводятся наименование поставщика, фактическое кол-во и кол-во по документам (поля обязательны к заполнению), номер накладной и примечание. Кнопка «Добавить к документу» служит для предварительной записи товара, после ее нажатия можно перейти к добавлению другой позиции. Кнопка «Записать документ» окончательно обновляет БД (нужно нажать 1 раз после добавления всех позиций).

При уменьшении количества нужно нажать кнопу «-». При этом над таблицей товаров появиться красная панель «Добавление расхода товара:» с наименованием товара.

 

 

Далее в соответствующих  строках вводятся наименование получателя, фактическое кол-во и кол-во по документам (поля обязательны к заполнению), заявка и примечание. Назначение кнопок «Добавить к документу» и «Записать документ» такое же как и при добавлении товара.

 

Список товаров находится  в единой БД oit_sklad_mov.

Основные процедуры  описаны в табл. 1.

 

Основные процедуры

Краткое описание

orDS_Mov.SQL.Add

Основная процедура, запоминающая в строке все необходимые данные и подставляющая их в SQL – запрос для записи в БД.

MovSeq

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

OS.Commit

Сохранение изменений  в БД.


 

 

Структура модуля:

id,OtInteger;

    id_sklad,OtInteger;

name,OtString;

zakaz,OtInteger;

userid,OtString;

created,OtDate;

note,OtString;

 

  • id – идентификатор записи в oit_tov
  • id_sklad – идентификатор
  • oper – идентификатор операции
  • doc_no – номер документа
  • created – дата внесения изменений
  • contr - контрагент
  • quantity – количество на складе
  • userid – пользователь внесший изменения
  • request_attr
  • qty_req
  • note - примечание

 

3.2.2.Описание подсистемы формирования отчетов.

В системе предусмотрено 4 вида отчетов. Это формирование и печать заявки, список товаров на складе, отчет о движении материала и отчет о расходе.

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

 

 

При нажатии кнопки «Печать заявки» возникает окно с месяцем на который формируется заявка. Затем нажатием кнопки «Печать» запускается процедура экспорта данных в MS Word, после чего заявку можно распечатывать.

Данная процедура используется при бумажном документообороте. Система склад позволяет осуществлять полностью электронный документооборот. Эти функции будут рассмотрены в разделе 3.3.

При нажатии кнопки « » выводиться полный список товаров на складе в формате документа MS Word.

Нажатием кнопки  « » вызывается отчет о движении материалов, позволяющий отследить, кто из пользователей данного приложения делал записи в БД склада.

 

В столбце «Пользователь» указаны сетевые имена (логины) пользователей  в домене.

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

При нажатии кнопки « » возникает окно с выбором отчетного периода. Затем нажатием кнопки «ОК» запускается процедура экспорта данных в MS Excel, после чего отчет можно распечатывать.

 

 

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

 

Описание основных процедур приведено в Таблице 2

Таблица 2

Модуль

Основные процедуры

Описание 

Ureport

Button3Click

Процедура построения заявки в MS word.

SBSkladClick

Процедура построения отчёта о складских запасах.

WordDvigenieTovara

Процедура построения отчёта по движению товара

Button7Click

Процедура построения отчёта по расходу материалов


 

 

 

3.2.3. Оптимизация данных

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

 

 

 

 

 

 

3.3. Описание подсистемы формирования заказов.

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

 

 

Рисунок 16 Окно системы sklad

 

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

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

 

Рисунок 17  Система формирования заказов

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

 

Рисунок 18 Главное окно подсистемы

 

В ходе работы считываются  необходимые данные из mainDB. Параллельно с этим, анализируется уникальность обозначений создаваемых заказов как в пределах текущей заявки, так и в пределах информационной основы системы «Склад» – базы oit_sklad_mov.

 

Таблица 3 Основные данные, считываемые из oit_sklad_mov

Считываемые данные

Обозначение понятия TechCard

Обозначение заказа

zak

Обозначение оснастки

Id_tov

Принадлежность к подразделению (необходимо для определения исполнителя)

userID


 

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

 

Таблица 4 Данные, необходимые для поиска родительского задания

Автоматизация системы учета и контроля склада