Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Разработка регламента выполнения процесса «Складской учет» (Выбор средства для моделирования бизнес-процессов)

Содержание:

Введение

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

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

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

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

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

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

Для достижения поставленной цели необходимо решить ряд задач:

1 Описание предметной области. Постановка задачи.

2 Выбор средства для моделирования бизнес-процессов.

3 Моделирование бизнес-процессов «как есть».

4 Предлагаемые мероприятия по улучшению бизнес-процессов.

5 Моделирование бизнес-процессов «как должно быть».

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

1. Аналитическая часть

1.1 Описание предметной области. Постановка задачи.

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

Рассматриваемое акционерное общество осуществляет деятельность в области реализации продукции магазинам с целью обеспечения последующего сбыта конечным покупателям. Коммерческая история данного предприятия небольшая – оно создано относительно недавно. Однако за время своей работы на рынке фирма «Мир школьника» сумела завоевать существенную его долю, в настоящее время продолжает наращивание объемов продаж, укрепляя и расширяя свое положение на целевом сегменте. В условиях расширяющихся объемов сбыта, увеличения численности покупателей возникает потребность в совершенствовании системы управления хранением и перемещением продукции путем внедрения автоматизированного учета товарных запасов, находящихся на складах.

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

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

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

Работа склада делится на три основных этапа:

-приемка товара;

-хранение;

-отпуск товара.

Основными этапами приемки товара являются:

-разгрузка товара;

-проверка товара по количеству;

-оформление приемо-сдаточных документов;

-регистрация принятых товаров.

В ЗАО «Мир школьника» приемка производится следующим образом: товар приходит на склад с сопроводительными документами. Начальник склада или кладовщик обязан присутствовать при разгрузке и провести идентификацию фактически поступившего на склад и указанного в сопроводительных документах товара. Распаковка не производится, но упаковка проверяется на целостность и деформацию. Если имеются повреждения, то составляется акт, согласно которому этот товар передается в сервисно - техническую службу, где проверяется его качество. Не соответствующий стандартным требованиям и параметрам товар должен быть возвращен поставщику.

Для контроля и учета товарных потоков используют самые разнообразные формы документов. Главное назначение этих документов состоит в том, чтобы обеспечить тщательный учет всех товаров, поступающих на склад. После разгрузки оформляются приемо-сдаточные документы: делается приходный ордер, в товарно-транспортных накладных экспедитор расписывается в том, что он сдал, а приемщик - в том, что он принял товар, ставится печать. После этого делаются копии документов, три экземпляра остаются на складе (один оригинал и 2 копии) и второй оригинал возвращаются поставщику [6].

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

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

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

-организация складского пространства;

-размещение, движение, перемещение товаров;

-создание необходимых условий хранения и надежной охраны товаров;

-организация учета товаров;

-обеспечение возможности применения подъемно-транспортного оборудования;

-прочие операции.

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

Планировка складского помещения должна отвечать следующим требованиям [20]:

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

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

-обеспечивать возможность применения подъемно-транспортного оборудования;

-соблюдение правил пожарной безопасности при размещении товара на складе.

Отпуск товара со склада производится различными способами, однако должны выполняться при этом определенные требования, без соблюдения которых нельзя производить отгрузку, т.е. все сопроводительные документы должны быть соответственно оформлены: товарно-транспортная накладная должна быть подписана менеджером, чей товар отпускается; генеральным директором, разрешающим отпуск, или лицом, его заменяющим: скреплена печатью. Накладная также может иметь пометку об оплате товара (указывается № счета и дата поступления денег на р/с продавца). В некоторых случаях при налаженных связях с товарополучателем отпуск товара может производиться при предъявлении платежного поручения с исполнением. Если получателем является юридическое лицо, то к накладной прикладывается доверенность на получение товара. После этого лицо, получающее товар, расписывается в том, что он получил товар. Копия накладной остается на складе, один оригинал отправляется в бухгалтерию (после отражения этой операции в складском учете), второй оригинал остается у получателя товара [12].

1.2.Выбор средства для моделирования бизнес-процессов.

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

При разработке такой системы заказчикам необходимо частично переосмыслить весь бизнес-процесс и учесть уже имеющиеся программы, чтобы не потерять вложенные средства. И хотя некоторое улучшение производительности ведения дел в компании может быть достигнуто просто за счет автоматизации уже существующей системы учета товаров «вручную», радикального улучшения можно добиться только при кардинальном пересмотре ведения бизнеса. Однако, так же как архитектура системы определяет ее реализацию, общее видение бизнеса определяет всю систему. Исходя из данной предпосылки, начинать следует с рассмотрения общего плана ведения складского учета. По результатам системного анализа можно выделить семь основных функций системы [7]:

1. Учет заказов

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

2. Ведение счетов

Направление счетов клиентам и отслеживание платежей. Прием счетов от поставщиков и отслеживание платежей поставщикам.

3. Отгрузка со склада

Составление спецификаций на комплектацию товаров, отправляемых со склада клиентам.

4. Складской учет

Постановка прибывающих товаров на учет и снятие товаров с учета при отправке заказов.

5. Закупки

Заказ товаров поставщикам и отслеживание поставок.

6. Получение

Принятие на склад товаров от поставщиков.

7. Планирование

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

Кроме автоматизации стандартных складских операций, система также должна предоставлять богатые возможности по генерации различных форм отчетности, в том числе отражающих тенденции развития рынка, списков наиболее надежных и ненадежных поставщиков и клиентов [17].

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

СУБД Access относится к числу одних их самых гибких, мощных, простых в применении СУБД, ориентирована она на пользователей Microsoft Office, включая также и пользователей малознакомых с программированием.

MS Access является реляционной СУБД, в которой сбалансированы разные возможности и средства, обычные для современных СУБД. Реляционная база дает возможность вести всесторонний анализ содержащихся в ней данных, упрощает поддержку, поиск и защиту данных, потому что индексы, таблицы, правила ссылочной целостности, список пользователей, бизнес-правила, а также отчеты и формы находятся на хранении в одном отдельном файле [2].

В составе Access входят:

- средства манипуляции информацией Access, данными, которые доступны в ODBC (последние могут быть «присоединены» к базе данных Access);

- средства создания отчетов, форм, приложений; в то же время отчеты имеют возможность экспортироваться в формат Microsoft Excel или Microsoft Word;

- средства разработки приложений клиентов для Microsoft SQL Server;

- средства создания интерактивных Web-приложений для работы с данными (Data Access Pages);

- средства публикации отчетов в Internet;

- средства доступа к информации серверных СУБД посредством OLE DB;

- средства администрирования Microsoft SQL Server.

СУБД Access для работы с информацией ипользует процессор БД Microsoft Jet 3.0, объекты доступа к информации, средства оперативного формирования интерфейса - это Конструктор форм. Для распечаток используются конструкторы отчетов. Для автоматизации рутинных операций разработчиками предусмотрены макрокоманды. В случаях, когда функциональность визуальных средств является недостаточной, разработчиками пользователям предоставлена возможность создавать собственные функции и процедуры. А в макрокоманды могут быть включены вызовы функций. Аналогичным образом макрокоманды могут быть вызваны из функций и процедур [13].

Несмотря на ориентированность, непосредственно на конечного пользователя в СУБД Access предусмотрено использование языка программирования Visual Basic for Application, который предоставляет пользователю возможность создвать собственные типы данных, массивы, вызывать DLL-функции, при помощи OLE Automation осуществлят контроль работы приложений, которые могут функционировать в качестве OLE -серверов. Кроме того можно полностью создавать базы данных посредством кодирования, когда в этом есть такая необходимость [4].

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

Одним из главных качеств Access, привлекающее к нему разных пользователей является интеграция с Microsoft Office. Например, проведя процедуру копирования в буфер графического образа таблицы, открыв лист Microsoft Word, применив специальную вставку из буфера обмеа, сразу будет получена готовая таблицу с показателями из БД в документе [9].

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

Специфическая особенность СУБД Ассеss состоит в том, что все информационные сведения, относящиеся к одной БД, хранятся в общем файле. Данный файл имеет расширение вида *.mdb. Указанное решение чаще всего оказывается удобным для непрофессиональных пользователей, т.к. обеспечивает простоту в ходе переноса данных с одного рабочего места на другое. Что же касается внутренней организации данных в пределах mbd-формата, то она изменялась от одной версии к другой, но компания Microsoft поддерживала их совместимость снизу вверх, иначе говоря, БД из файлов в формате ранних версий Access могут конвертироваться в формат, который используется в более поздних версиях [5].

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

Microsoft Access более всего удобен не только для программистов, но также и для обычных пользователей, что обусловлено наличием русифицированного интерфейса. Было принято решение в качестве СУБД воспользоваться MS ACCESS.

1.3.   Моделирование бизнес-процессов «как есть».

Контекстная диаграмма, представленная на рисунке 4, реализована с применением методологии IDEF0. Главная компонента в ней – это диаграмма (т.е. активность) под названием «Ведение складского учета».

Организация взаимодействия базовых компонентов системы (т.е. «механизмы») осуществляется на основе установленных прав доступа какого-либо компонента (т.е. «Управление»). Взаимодействие данных компонент системы осуществляется в заданном режиме согласно определенным правам.

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

Рисунок 3 - Контекстная диаграмма

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

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

Выходной информацией у этой системы является:

а) продукция, которая отгружается клиентам;

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

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

1) обработка заявки на товарную продукцию;

2) формирование заявки на закупку товарной продукции;

3) формирование необходимых отчетов;

4) координирование деятельности.

Рисунок 1 - Диаграмма декомпозиции

Далее следует рассмотреть каждый подпроцесс более подробно.

1. «Обработать заявку на продукцию»

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

Процесс обработки заявок на продукцию производится следующим образом: Менеджер по продажам регистрирует заявки, которые поступают от клиентов, группирует их по датам, а также по срокам выполнения. Далее производится анализ наличия требуемого количества товаров на складе. В случае, если такое количество товарных единиц имеется, продукция отгружается клиенту, если нет, данные о необходимом количестве товаров отправляют в отдел снабжения [11].

Дальнейшая декомпозиция проводилась с использованием методологии DFD (рисунок 2) На диаграмме наглядно представлены движения потоков данных.

Рисунок 2 - Диаграмма декомпозиции процесса «Обработать заявку на продукцию»

2. «Сформировать заявку на закупку продукции»

На входе подпроцесса расположена заявка поставщикам на предмет недостающего вида товаров. На выходе размещены данные о заявке поставщикам. При условии того, что продукция уже поставлена – на выходе стоит продукция для клиентов. Данная деятельность осуществляется менеджерами по вопросам снабжения [15].

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

Декомпозиция данного процесса проводилась с использованием методологии DFD (рисунок 3)

Рисунок 3 - Диаграмма декомпозиции процесса «Обработать заявку на продукцию»

3. «Сформировать отчет»

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

4. «Координировать деятельность»

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

2. Проектная часть


2.1.      Предлагаемые мероприятия по улучшению бизнес-процессов.

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

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

Выходной информацией у этой системы является:

а) продукция, которая отгружается клиентам;

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

2.2.  Моделирование бизнес-процессов «как должно быть».

Меню приложения представляет собой иерархическую древовидную структуру.

Пользовательское меню представлено 4 категориями:

  1. Файл

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

2) Справочники – обеспечивает работу со всеми справочниками системы

- Категории – справочник категорий продукции

- Ед. измерения – справочник единиц измерения

- Виды упаковки – справочник видов упаковки

- Виды товаров – справочник видов товаров

- Производители – справочник производителей продукции

- Ед. измерения – справочник товаров. Обеспечивает работу с товарной номенклатурой.

- Клиенты – справочник клиентов предприятия

- Поставщики – справочник поставщиков продукции предприятия

- Снабженцы – справочник менеджеров по снабжению

3) Операции – основное меню. Отвечает за выполнения операций прихода, расхода и списания продукции.

- Расход продукции – обеспечивает работу с интерфейсом, обеспечивающим произведение менеджерами по продажам расходных операций (отгрузка продукции клиентам предприятия).

- Списание продукции – обеспечивает переход к форме, на которой происходит списание продукции, с указанием причины и количества списываемой продукции.

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

4) Отчеты - обеспечивает взаимодействие с модулем, отвечающим за построение отчетов

- Товарный ассортимент – выводит отчет о товарной номенклатуре продукции

- Необходимые поставки – выводит отчет о необходимом количестве каждой номенклатурной единицы, исходя из имеющихся договоров на заказанную продукцию [14].

Структура пользовательского меню приведена на рисунке 4.

Рисунок 5 - Структура пользовательского меню

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

На рисунке 9 приведена диаграмма вариантов использования системы «Складской учет», которая демонстрирует взаимодействие пользователей с данной системой.

Рисунок 6 – Диаграмма вариантов использования системы «Складской учет»

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

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

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

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

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

Вариант использования «Оформить расход» используется для занесения данных об отгрузке продукции по договорам покупателям. С данным вариантом использования взаимодействует менеджер по снабжению. Также данный вариант использует вариант «Работать со справочниками». Этот вариант использования расширяется вариантом «Оформить списание», в котором происходит списание выбранной продукции [16].

При запуске программы на экране появляется форма «Складской учет: Главное меню». Данная форма является связующей со всеми остальными. На ней присутствует элемент меню, которое представлено следующими категориями: «Файл», «Справочники», «Операции» и «Отчеты». В каждой из категории располагаются элементы меню, обеспечивающие переход к той или иной форме. К тому же расположение управляющих элементов категорий «Справочники», «Операции» для удобства сделано в виде объединенных групп кнопок непосредственно на форме меню (см. рисунок 6).

Работа со справочниками, за исключением справочника товаров, происходит следующим образом: выбирается необходимый справочник, после этого в таблице данных предоставляется возможность добавления, удаления и редактирования. Для перехода по записям предусмотрены навигационные кнопки, при нажатии на которые указатель текущей записи переходит либо на предыдущую запись, либо на следующую (см рисунки 7-17).

Рисунок 7 – Главное окно программы

Рисунок 8 - Категории

Рисунок 9 - Справочник единиц измерения

Рисунок 10 - Виды товаров

Рисунок 11 - Справочник производителей

Рисунок 12 - Клиенты

Рисунок 13 - Поставщики

Рисунок 14 - Снабженцы

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

Рисунок 15 - Товары

При выборе пункта «Расход продукции» на экране отображается форма «Заявки» (см. рисунок 19), на которой отображаются данные о заявках на продукцию, а также ниже расположена подчиненная таблица содержащая перечень наименований продукции с указанием количества по каждой позиции. Для добавления/редактирования данных о содержании заявки необходимо нажать кнопку добавить/Изменить. При этом на экране появится форма «Редактирование содержания заявки» изображенная на рисунке 20. На этой форме происходит выбор наименования продукции из справочника товаров, а также указывается количество заказываемого товара.

Рисунок 16 - Заявки

Рисунок 17 - Редактирование содержания заявки

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

При нажатии на кнопку «Печать заявки» пользователю для просмотра представляется заявка, готовая для печати (см. Рисунок 18).

Рисунок 18 - Расходный документ

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

При нажатии на кнопку «Списание продукции» на экране отображается одноименная форма (см. рисунок 22). На данной форме по выбранной продукции отображается история списаний. Для добавления информации по списанию необходимо заполнить поля «Дата», «Количество» и «Причина» и нажать кнопку «Добавить». Для удаления данных о списании продукции необходимо выбрать нужную запись и нажать кнопку «Удалить».

Рисунок 20 - Списание продукции

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

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

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

При нажатии на кнопку «Печать документа» пользователю для просмотра представляется заявка, готовая для печати (см. Рисунок 21).

Рисунок 21 - Приходный документ

При выборе пункта меню «Отчеты» -> «Товарный ассортимент» на экране отображается ассортимент имеющейся продукции, который можно вывести на печать.

При выборе пункта меню «Отчеты» -> «Товарный ассортимент» на экране отображается ассортимент имеющейся продукции, который можно вывести на печать (см. Рисунок 22).

Рисунок 22 - Ассортимент продукции

При выборе пункта меню «Отчеты» -> «Необходимые поставки» на экране отображается ассортимент имеющейся продукции, цена, запас, количество необходимое по заявкам, а также остатки после исполнения заявок (см. Рисунок 25).

Рисунок 23 - Отчет о необходимых поставках

Заключение

В ходе выполнения курсового проекта была изучена работа предприятия ЗАО «Мир школьника».

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

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

1. Учет заказов

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

2. Ведение счетов

Направление счетов клиентам и отслеживание платежей. Прием счетов от поставщиков и отслеживание платежей поставщикам.

3. Отгрузка со склада

Составление спецификаций на комплектацию товаров, отправляемых со склада клиентам.

4. Складской учет

Постановка прибывающих товаров на учет и снятие товаров с учета при отправке заказов.

5. Закупки

Заказ товаров поставщикам и отслеживание поставок.

6. Получение

Принятие на склад товаров от поставщиков.

7. Планирование

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

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

Реализация системы проводилась с использованием инструментальных средств MS Visual Basic в сочетании с СУБД MS ACCESS. При написании программы основное внимание было уделено удобству работы пользователя и построению дружественного интерфейса.

Список литературы

  1. Афонин В.Л., Моделирование систем: учебно-практическое пособие [Текст] / В.Л. Афонин - М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. – 232 с.
  2. Баженова И.Ю., Основы проектирования приложений баз данных [Текст] / И.Ю. Баженова - М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. – 261 с.
  3. Базовые средства программирования на Visual Basic в среде VisualStudio Net. Практикум: Учебное пособие. Гриф МО РФ [Текст] - М.: Инфра-М Форум, 2017. – 288 с.
  4. Голицына О.Л., Основы проектирования баз данных. [Текст]: Учебное пособие / О.Л. Голицына - М.: Форум, 2016. – 416 с.
  5. Дадян Э.Г., Методы, модели, средства хранения и обработки данных [Текст] / Э.Г. Дадян - М.: Инфра-М, 2017. – 268 с.
  6. Даниленко А.В., Безопасность систем электронного документооборота. Технология защиты электронных документов [Текст] / А.В. Даниленко - М.: URSS, 2015. – 232 с.
  7. Джесси Р., Проектирование баз данных [Текст] / Р. Джесси - М.: VSD, 2013.
  8. Долганова О.В., Моделирование бизнес-процессов. Учебник и практикум для академического бакалавриата [Текст] / О.В. Долганова - М.: Издательство: Юрайт, 2016. – 289 с.
  9. Иванова Г.С., Объектно-ориентированное программирование [Текст] / Г.С. Иванова - М.: Московский Государственный Технический Университет (МГТУ) имени Н.Э. Баумана, 2014. – 456 с.
  10. Кагаловский, М.Р. Технология баз данных на персональных ЭВМ [Текст] / М.Р. Кагаловский − М.: Финансы и статистика, 2014. – 224 с.
  11. Казанский А.П., Объектно-ориентированный анализ и программирование на visual basic 2013. Учебник для прикладного бакалавриата [Текст] / А.П. Казанский - М.: Юрайт, 2016. – 290 с.
  12. Казиев В.М., Введение в анализ, синтез и моделирование систем. Учебное пособие [Текст] / В.М. Казиев - М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2014. – 244 с.
  13. Кириллов В.В., Введение в реляционные базы данных. Учебник (+ CD-ROM) [Текст] / В.В. Кириллов - М.: БХВ-Петербург, 2017. – 464 с.
  14. Козлов В., Системный анализ, оптимизация и принятие решений. Учебное пособие [Текст] / В. Козлов - М.: Проспект, 2016. – 76 с.
  15. Культин Н.Б., Visual Basic. Освой на примерах (+ CD-ROM) [Текст] / Н.Б. Культин - М.: БХВ-Петербург, 2012. – 288 с.
  16. Кумскова И.А., Базы данных. Учебник. Гриф МО РФ [Текст] / И.А. Кумскова - М.: КноРус, 2016. – 400 с.
  17. Лукин С.Н., Visual Basic: самоучитель для начинающих [Текст] / С.Н. Лукин - М.: Диалог-МИФИ, 2012. – 480 с.
  18. Малкин Г.Е., Учимся моделировать в среде Visual Basic [Текст] / Г.Е. Малкин - М.: Нобель Пресс, 2012. – 210 с.
  19. Мартишин С.А., Проектирование и реализация баз данных в СУБД MySQL с использованием MySQL Workbench. Учебное пособие. Методы и средства проектирования информационных систем и технологий. Инструментальные средства информационных сетей. Гриф УМО вузов России [Текст] / С.А. Мартишин - М.: Форум, 2017. – 160 с.
  20. Назаров С.В., Архитектура и проектирование программных систем [Текст] / С.В. Назаров - М.: Инфра-М, 2016. – 376 с.

Приложение А

Фрагмент программного кода

Private Sub Form_Load()

'MsgBox ""

DE.rsComPrihod.Filter = 0

Set DataGrid1.DataSource = DE

Set DataGrid2.DataSource = DE

DataGrid1.Columns("Suppl_Z_Date").Visible = False

DataGrid1.Columns("Suppl_Z_Note").Visible = False

DataGrid2.Columns("ID документа").Visible = False

DataGrid2.Columns("Tovar_name").Visible = False

End Sub

Private Sub Command1_Click()

If DE.rsComSnabj.BOF Then

MsgBox "Вы уже находитесь в первой записи."

Else

DE.rsComSnabj.MovePrevious

End If

End Sub

Private Sub Command2_Click()

If DE.rsComSnabj.EOF Then

MsgBox "Вы уже находитесь в последней записи."

Else

DE.rsComSnabj.MoveNext

End If

End Sub

Private Sub UpdateData()

DE.rsComSpis.Close

DE.rsComSpis.Open

End Sub

Private Sub UpdateElems()

Set DataGrid1.DataSource = DE

Set DataGrid2.DataSource = DE

Set TextDate.DataSource = DE

Set TextQuan.DataSource = DE

Set TextReason.DataSource = DE

End Sub

Private Sub Command1_Click()

TextDate.Enabled = True

TextQuan.Enabled = True

TextReason.Enabled = True

'TextDate.Enabled = True

DE.rsComSpis.AddNew

Command1.Enabled = False

Command3.Enabled = False

Command2.Enabled = True

Call UpdateElems

End Sub

Private Sub Command2_Click()

'Проверка что в поле число

If Command1.Enabled = False Then

If IsNumeric(TextQuan.Text) Then

If DE.rsComTov!Tovar_quan - TextQuan.Text < 0 Then

MsgBox "Требуемое для списания количество товара отсутствует"

Exit Sub

End If

Else

MsgBox "Введенное количество не является числом"

Exit Sub

End If

If TextDate.Text = "" Or _

TextQuan.Text = "" Or _

TextReason.Text = "" Then

MsgBox "Не все данные введены"

Exit Sub

End If

DE.rsComSpis!spis_tovar = DE.rsComTov!idTovar

DE.rsComSpis.Update

DE.rsComTov!Tovar_quan = DE.rsComTov!Tovar_quan - TextQuan.Text

Command1.Enabled = True

Command3.Enabled = True

UpdateData

UpdateElems

End If

TextDate.Enabled = False

TextQuan.Enabled = False

TextReason.Enabled = False

End Sub

Private Sub Command3_Click()

DE.rsComTov!Tovar_quan = DE.rsComTov!Tovar_quan + DE.rsComSpis!Spis_quan

DE.rsComSpis.Delete

UpdateData

UpdateElems

End Sub

Private Sub Command4_Click()

DE.rsComSpis.CancelUpdate

Command2.Enabled = False

Command1.Enabled = True

Command3.Enabled = True

End Sub

Private Sub Command5_Click()

DE.rsComTov.Filter = "idTovar = " & DE.rsComTov!idTovar

RepSpis.Show

End Sub

Private Sub Command1_Click()

If DE.rsComTov.BOF Then

MsgBox "Вы уже находитесь в первой записи."

Else

DE.rsComTov.MovePrevious

End If

End Sub

Private Sub Command2_Click()

If DE.rsComTov.BOF Then

MsgBox "Вы уже находитесь в первой записи."

Else

DE.rsComTov.MovePrevious

End If

End Sub

Private Sub Form_Load()

DataGrid1.Columns("Tovar_price").Visible = False

DataGrid1.Columns("Количество продукции").Visible = False

DataGrid1.Columns("Tovar_cat").Visible = False

DataGrid1.Columns("Tovar_inch").Visible = False

DataGrid1.Columns("Tovar_manuf").Visible = False

DataGrid1.Columns("Tovar_pack").Visible = False

DataGrid1.Columns("Tovar_vid").Visible = False

'DataGrid1.Columns("Код").Visible = False

End Sub

Private Sub MSHFlexGrid1_Click()

'DE.ComT

End Sub

Private Sub Label1_Click()

End Sub

Private Sub Command1_Click()

If DE.rsComVid1.BOF Then

MsgBox "Вы уже находитесь в первой записи."

Else

DE.rsComVid1.MovePrevious

End If

End Sub

Private Sub Command2_Click()

If DE.rsComVid1.EOF Then

MsgBox "Вы уже находитесь в последней записи."

Else

DE.rsComVid1.MoveNext

End If

End Sub

Private cn As ADODB.Connection

Private rs As ADODB.Recordset

Private rsTovar As ADODB.Recordset

Private Sub Command1_Click()

DE.rsComPZ.Close

DE.rsComPZ.Open

Set TextFlag.DataSource = DE

Set DataGrid1.DataSource = DE

Set DataGrid2.DataSource = DE

DataGrid2.Refresh

End Sub

Private Sub Command2_Click()

DE.rsComPZ.Filter = "idCl_Z = " & DE.rsComPZ!idCl_Z

DataReportZ.Show

End Sub

Private Sub Command3_Click()

DataGrid1.Col = 13

If DataGrid1.Text = "да" Then

MsgBox "Данная заявка уже исполнена. Изменять ее нельзя"

Exit Sub

End If

idRaschod = 0

DataGrid1.Col = 0

If DataGrid1.Text <> "" Then

idCl_Z = DataGrid1.Text

Else

idCl_Z = 0

End If

FmZCont.Show

End Sub

Private Sub Command4_Click()

DataGrid1.Col = 13

If DataGrid1.Text = "да" Then

MsgBox "Данная заявка уже исполнена. Изменять ее нельзя"

Exit Sub

End If

DataGrid1.Col = 0

If DataGrid1.Text <> "" Then

idCl_Z = DataGrid1.Text

Else

idCl_Z = 0

End If

cmd = "Provider = Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = " & App.Path & "\sclad.mdb;Persist Security Info=False"

Set cn = New ADODB.Connection

With cn

.ConnectionString = cmd

.Open

End With

DataGrid2.Col = 0

If DataGrid2.ApproxCount = 0 Then

num = -1

Else

num = DataGrid2.Text

End If

idRaschod = num

SQL = "SELECT * FROM Raschod WHERE idRaschod = " & num

Set rs = New ADODB.Recordset

With rs

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

If idRaschod = -1 Then num = 0 Else num = rs("Raschod_Tovar")

SQL = "SELECT * FROM Tovar WHERE idTovar = " & num

Set rsTovar = New ADODB.Recordset

With rsTovar

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

If num <> 0 Then

FmZCont.CBTovar.BoundText = rsTovar("idTovar")

DataGrid2.Col = 3

FmZCont.TextQuan.Text = DataGrid2.Text

DataGrid2.Col = 5

FmZCont.TextCost.Text = DataGrid2.Text

End If

rs.Close

rsTovar.Close

Set rs = Nothing

Set rsTovar = Nothing

cn.Close

Set cn = Nothing

If DataGrid2.ApproxCount <> 0 Then FmZCont.Show

End Sub

Private Sub Command6_Click() 'Отпуск товара по заявке

'DataGrid2.Col = 1

'if DE.rsComPZ.Fields

'If DataGrid2.Text = "" Then

' Exit Sub

'End If

DataGrid1.Col = 0

If DataGrid1.Text <> "" Then

idCl_Z = DataGrid1.Text

Else

idCl_Z = 0

End If

cmd = "Provider = Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = " & App.Path & "\sclad.mdb;Persist Security Info=False"

Set cn = New ADODB.Connection

With cn

.ConnectionString = cmd

.Open

End With

DataGrid1.Col = 13

If idCl_Z <> 0 And (DataGrid1.Text <> "да") Then 'Если имеется необработанная заявка

SQL = "SELECT * FROM Raschod WHERE idCl_Z = " & idCl_Z

Set rs = New ADODB.Recordset

With rs

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

If rs.BOF Or rs.EOF Then

Exit Sub

End If

rs.MoveFirst

Do While Not rs.EOF 'В цикле проверяем наличие товара на складе

num = rs("Raschod_Tovar") 'Получаем ID Товара

SQL = "SELECT * FROM Tovar WHERE idTovar = " & num

Set rsTovar = New ADODB.Recordset

With rsTovar

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

If rs("Raschod_quan") > rsTovar("Tovar_quan") Then

MsgBox "Невозможно выполнить заявку. на складе отсутствует требуемое количество товара"

Exit Sub

End If

rsTovar.Close

Set rsTovar = Nothing

rs.MoveNext

Loop

'Если цикл пройден, то значит товар есть

rs.MoveFirst

Do While Not rs.EOF 'В цикле проверяем наличие товара на складе

num = rs("Raschod_Tovar") 'Получаем ID Товара

SQL = "UPDATE Tovar SET Tovar_quan = Tovar_quan - " & rs("Raschod_quan") & " WHERE idTovar = " & num

Set rsTovar = New ADODB.Recordset

With rsTovar

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

Set rsTovar = Nothing

rs.MoveNext

Loop

rs.Close

Set rs = Nothing

SQL = "UPDATE cl_z set cl_Z_flag = 'да' WHERE idCl_Z = " & idCl_Z

Set rs = New ADODB.Recordset

With rs

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

Set rs = Nothing

cn.Close

Set cn = Nothing

MsgBox "Расход произведен"

End If

End Sub

Private Sub Command5_Click()

DataGrid1.Col = 13

If DataGrid1.Text = "да" Then

MsgBox "Данная заявка уже исполнена. Изменять ее нельзя"

Exit Sub

End If

cmd = "Provider = Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = " & App.Path & "\sclad.mdb;Persist Security Info=False"

Set cn = New ADODB.Connection

With cn

.ConnectionString = cmd

.Open

End With

DataGrid2.Col = 0

If DataGrid2.ApproxCount = 0 Then

num = -1

Else

num = DataGrid2.Text

End If

idRaschod = num

SQL = "Delete * FROM raschod WHERE idRaschod = " & idRaschod

Set rs = New ADODB.Recordset

With rs

.Open SQL, cn, adOpenDynamic, adLockOptimistic

End With

Set rs = Nothing

cn.Close

Set cn = Nothing

DE.rsComPZ.Close

DE.rsComPZ.Open

DE.rsComPZ.Fields(13).Value.Close

Set DataGrid1.DataSource = DE

Set DataGrid2.DataSource = DE

DataGrid2.Refresh

End Sub

Private Sub Form_Activate()

Set FmZ.DataGrid1.DataSource = DE

Set FmZ.DataGrid2.DataSource = DE

FmZ.DataGrid2.Refresh

End Sub

Private Sub Form_Load()

DataGrid1.Columns("Cl_Z_Men").Visible = False

DataGrid1.Columns("Cl_Z_Client").Visible = False

DataGrid1.Columns("Cl_Z_Tovar").Visible = False

DataGrid1.Columns("Cl_Z_Znum").Visible = False

DataGrid2.Columns("Tovar_name").Visible = False

End Sub

Private cn As ADODB.Connection

Private rs As ADODB.Recordset

Private rsTovar As ADODB.Recordset

Private Sub CBTovar_Click(Area As Integer)

If CBTovar.Text <> "" Then

cmd = "Provider = Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = " & App.Path & "\sclad.mdb;Persist Security Info=False"

'MsgBox cmd

Set cn = New ADODB.Connection

With cn

.ConnectionString = cmd

.Open

End With

SQL = "SELECT * FROM Tovar WHERE idTovar = " & CBTovar.BoundText

Set rs = New ADODB.Recordset

With rs

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

TextCost.Text = rs("Tovar_price")

End If

End Sub

Private Sub RefreshData()

DE.rsComPZ.Close

DE.rsComPZ.Open

DE.rsComPZ.Fields(13).Value.Close

Set FmZ.DataGrid1.DataSource = DE

Set FmZ.DataGrid2.DataSource = DE

FmZ.DataGrid2.Refresh

End Sub

Private Sub Command1_Click()

'MsgBox idRaschod

If idRaschod = 0 Then ' Добавлние записи

If TextCost.Text = "0" Then

MsgBox "Вы не выбрали товар или цена товара равна нулю"

Exit Sub

End If

If TextQuan.Text = "" Or TextQuan.Text = "0" Then

MsgBox "Количетсво товара не может быть пустым или нулевым значением"

Exit Sub

End If

cmd = "Provider = Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = " & App.Path & "\sclad.mdb;Persist Security Info=False"

'MsgBox cmd

Set cn = New ADODB.Connection

With cn

.ConnectionString = cmd

.Open

End With

'Запрос на вставку данных

SQL = "Insert INTO Raschod (idCl_Z, Raschod_Tovar, Raschod_Price, Raschod_quan) VALUES (" & idCl_Z & ", " & CBTovar.BoundText & "," & TextCost.Text & "," & TextQuan.Text & ")"

'MsgBox SQL

Set rs = New ADODB.Recordset

With rs

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

' rs.Close

Set rs = Nothing

cn.Close

Set cn = Nothing

End If

If idRaschod <> 0 Then 'Редактирование записи

If TextCost.Text = "0" Then

MsgBox "Вы не выбрали товар или цена товара равна нулю"

Exit Sub

End If

If TextQuan.Text = "" Or TextQuan.Text = "0" Then

MsgBox "Количетсво товара не может быть пустым или нулевым значением"

Exit Sub

End If

cmd = "Provider = Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = " & App.Path & "\sclad.mdb;Persist Security Info=False"

'MsgBox cmd

Set cn = New ADODB.Connection

With cn

.ConnectionString = cmd

.Open

End With

'Запрос на обновление данных

SQL = "UPDATE Raschod SET idCl_Z = " & idCl_Z & ", Raschod_Tovar = " & CBTovar.BoundText & ", Raschod_Price = " & TextCost.Text & ", Raschod_quan = " & TextQuan.Text & " WHERE idRaschod = " & idRaschod

'MsgBox SQL

'MsgBox SQL

Set rs = New ADODB.Recordset

With rs

.Open SQL, cn, adOpenForwardOnly, adLockReadOnly

End With

' rs.Close

Set rs = Nothing

cn.Close

Set cn = Nothing

End If

DE.rsComPZ.Close

DE.rsComPZ.Open

Set FmZ.DataGrid1.DataSource = DE

Set FmZ.DataGrid2.DataSource = DE

FmZ.DataGrid2.Refresh

FmZCont.Hide

Call RefreshData

End Sub

Private Sub Command2_Click()

FmZCont.Hide

End Sub