Автоматизация деятельности торгового предприятия

Анализ оптово-розничной торговли в сфере флористики. Методы автоматизации предпринимательской деятельности, электронная коммерция и бесплатные Open-Source СУБД. Базы данных основного и архивного сервера. Запуск интернет-магазина и установка OpenCart.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 18.07.2012
Размер файла 3,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

В этой работе реализован первый вариант.

3.3.4 Реализация системы авторизации и работы с несколькими кассирами

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

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

Рисунок 14 - Форма авторизации

Код обработчика нажатия на кнопку "Авторизация" (листинг), выполняет подключение и запрос к базе данных на получение записи из таблицы "l_kassir" по введенному логину. Если введен верный пароль, запоминаются данные работника и выполняются инициализация формы для работы кассира и скрытие формы авторизации. При вводе неверных данных выдается предупреждающее сообщение (Рисунок 15).

Рисунок 15 - Форма авторизации с неверно введенными данными

3.3.5 Импорт номенклатуры из базы данных

Импорт номенклатуры одна из важных задач, которую требуется реализовать для кассового приложения. Необходимо что бы список продукции и услуг отображался в программе именно в том виде, в каком она представлена в справочнике "Номенклатура", конфигурации, разработанной ранее. Что бы решить эту задачу, были использованы объекты TTreeView и TADOQuery. Компонент TreeView служит для иерархического отображения данных в виде дерева, в котором можно выбрать нужный узел или узлы. Он будет отображать номенклатуру из базы данных. Объект TADOQuery предоставляет собой механизм работы с базой данных, позволяющий получать, модифицировать, удалять или добавлять данные. С помощью него будет извлекаться информация о номенклатуре.

Для организации работы кассира используется вторая форма, которая и является основным рабочим пространством. На данной форме располагается компонент "TreeView". Для хранения информации о каждом элементе дерева используются три массива: PriceCena для хранения цен на продукцию и услуги, PriceName для хранения наименований и PriceId для хранения идентификаторов, извлеченных из базы данных, записей. Причем каждому элементу PriceId должно быть правильно сопоставлено элементы PriceName и PriceCena.

Размерность массивов указывается не сразу, так как эта величина будет периодически меняться с изменением объема номенклатуры. Она указывается после подсчета суммы записей таблиц "l_category" и "l_product".

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

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

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

Рисунок 16 - Номенклатура отображаемая приложением

3.3.6 Совершений операций продаж. Запись в базу данных информации о совершенных продажах и поступивших заказах

Розничные точки, как и склады, записывают информацию о продажах в таблицу "l_sale", а информацию о заказах в таблицу "l_zakaz". На форме имеется кнопка "Провести".

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

-- Использование объекта StringGrid, для размещения данных.

-- Формы, указания количества заказываемого или покупаемого продукта.

-- Контекстное меню объектов TreeView и StringGrid.

3.3.6.1 Использование и настройка компонента StringGrid, для размещения данных

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

Первые колонка и строка таблицы зафиксированы. Первая строка содержит наименование полей ("№", "Id", "Наименование", "Количество" и так далее). Первая колонка отображает номера записей. Так же в свойстве "ScrollBars" установлено значение "ssVertical", что бы использовалась только вертикальная полоса прокрутки (Рисунок 17).

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

Рисунок 17 - Визуальное отображение объекта "StringGrid"

3.3.6.2 Форма указания количества заказываемого или покупаемого продукта и расчета суммы

Данная форма используется при заполнении таблицы, имеет несколько надписей для отображения информации о добавляемом товаре, поле ввода для указания количества, и две кнопки для завершения или отменны операции (Рисунок 18).

Рисунок 18 - Форма указания количества товаров

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

Рисунок 19 - Процесс добавления товара в таблицу

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

Рисунок 20 - Таблица "StringGrid" с одной записью

3.3.6.3 Контекстное меню объектов TTreeView и TStringGrid

При двойном нажатие левой кнопки мыши на элементе дерева, по умолчание будет выставляться операция "Продажа". Для реализации выбора типа операции воспользуется экземпляр объекта "TPopUpMenu" (контекстное меню) [10]. Контекстное меню дерева номенклатуры содержит две команды: "Продажа" и "Заказ". Каждая из команд контекстного меню, как и компоненты, имеет некоторый набор свойств и событий, представляемых в окне инспектора объектов (Рисунок 21).

Рисунок 21 - Редактор команд контекстного меню

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

В программе реализована процедура выделяющая элемент дерева при нажатии правой кнопки мыши. Ее алгоритм заключается в том, что отлавливаются координаты курсора, относительно формы приложения, в месте, где вызвано контекстное меню. После чего, по полученным координатам, учитывая смещение от левого верхнего угла формы, проверяется наличие элемента дерева, не обозначающего каталог. Если полученные координаты курсора удовлетворяют требуемым условиям, то элемент дерева, по которому было произведено нажатие правой кнопкой мыши, выделяется, а команды контекстного меню становятся активными (Рисунок 24). Иначе с деревом никаких операций не совершается, а команды контекстного меню деактивируются (рисунки 22 и 23).

автоматизация торговля сервер интернет

Рисунок 22 - Вызов контекстного меню вне области дерева

Рисунок 23 - Вызов контекстного меню в области элемента дерева, обозначающего каталог

Рисунок 24 - Вызов контекстного меню в области элемента дерева, обозначающего реализуемую единицу продукции.

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

Рисунок 25 - Процесс заполнения таблицы нескольким записями

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

Эта задача решена, использованием еще одного экземпляра объекта "TPopUpMenu", который связан с элементом "StringGrid". Для контекстного меню таблицы используются три команды: "Редактировать", "Удалить" и "Удалить все". При выполнении команды "Редактировать", промежуточная итоговая сумма пересчитывается.

Строки таблицы, как и в случае дерева, невозможно выделить нажатием правой кнопки мыши. Поэтому при вызове контекстного меню отлавливаются координаты курсора, относительно действующей формы и проверяется, наличие ячейки в полученных координатах [9]. Если в полученных координатах ячеек не имеется, команды контекстного меню деактивируются (Рисунок 27). В противном случае, выделенная ячейка проверяется на наличие данных. Если она не пуста, команды контекстного меню активируются, а вся строка выделяется (Рисунок 26).

Рисунок 26 - Вызов контекстного меню в области заполненной строки

Рисунок 27 - Вызов контекстного меню вне области заполненных строк

3.3.7 Организация автономного режима работы

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

Рисунок 28 - Предупреждение об отсутствии соединения

Рисунок 29 - Форма авторизации при отсутствии соединения

При нажатии на кнопку повторения попытки, программа снова попытается соединиться с базой данных. В случае удачного соединения, пользователя вернут к процессу стандартной авторизации, в противном случае программа предложит автономный режим работы (Рисунок 30).

Рисунок 30 - Предложение автономного режима работы

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

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

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

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

3.3.8 Подключение и работа с фискальным регистратором

Любая совершенная сделка купли-продажи должна сопровождаться с использованием фискального регистратора, поскольку в Российской Федерации действует фискальное законодательство.

В данной дипломной работе используется драйвер бюджетного фискального регистратора "500М" от компании Штрих-М. Компания поставляет свою продукцию с примерами на разных языках программирования, с программным обеспечением для теста и настройки фискального регистратора. Так же на официальном сайте можно доступны последняя версия драйвера и полное руководство программиста с описанием всех свойств и методов драйвера. Перед использованием фискального регистратора, необходимо установить драйвер (В данной дипломной работе используется драйвер версии 4.2), а затем подключить в коде разрабатываемого приложения. Процедура подключения выполняется при инициализации основной рабочей формы. После чего проверяется состояние подключения аппарата. Поскольку драйвер не имеет методов, автоматически определяющих свободный доступный COM-порт, в приложение реализован перебор всех COM-портов компьютера [5], останавливающийся в случаях, если порт найден или уже перебраны все порты.

3.3.9 Разделение пользователей на группы. Разделение формы приложения на вкладки

Для реализации данной задачи, основная рабочая форма приложения была разделена на две вкладки: "Касса, которая содержит все ранее созданные элементы и "Сервис", которая разделена двумя панелями: "Импорт/экспорт данных" и "Параметры подключения" (Рисунок 31).

Рисунок 31 - Вкладка для пользователей группы "Программисты"

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

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

Поскольку две имеющиеся вкладки, "Касса" и "Сервис", рассчитаны на разные профили работников, то есть кассир не должен заниматься настройками, а программист не должен работать с кассой, приложение распознает группу авторизовавшегося пользователя. Если идентификатор вошедшего пользователя состоит в группе кассиров, приложение обязательно будет проверять наличие соединения с фискальным регистратором и скрывать вкладку "Сервис". При отсутствии подключения к контрольно кассовой машине [15] будет выдано сообщение с описанием ошибки (Рисунок 32), а работа приложения завершится.

Рисунок 32 - Сообщение об ошибке работы фискального регистратора

Если же пользователь состоит в группе администраторов, программа перешагнет через этап проверки фискального регистратора и сделает доступным только вкладку "Сервис".

3.4 Запуск интернет магазина

3.4.1 Установка OpenCart

Установка OpenCart не составляет большого труда, но следует относиться к данной процедуре ответственно. Так как при установке необходимо производить первоначальные настройки. После установки OpenCart, при первом посещении интернет-магазина, открывается первая страница настроек с условиями лицензии GNU с которыми необходимо. На следующей странице OpenCart проверяет версию и параметры настроек PHP и наличие необходимого программного обеспечения. При наличии недостатков, желательно прервать установку, и устранить проблему. Еще одна отличительная черта OpenCart от большинства других CMS, заключается в том, что позволяется продолжать установку, даже если имеются несоответствия нужных параметров с параметрами системы.

Рисунок 33 - Анализ системы установщиком CMS

Следующая страница уже потребует настроить подключение к базе данных. Параметру Database Host присваивается IP адрес основного сервера. Поля User и Password заполняются в соответствии с настройками СУБД MySQL. В Database Name указывается имя подключаемой базы данных, а в качестве префикса используется латинская буква "l".

Рисунок 34 - Настройка подключения к базе данных

Последняя страничка настройки позволяет выбрать шаблон сайта, который будет использоваться при работе. На этом установка завершается и открывается главная страница магазина (Рисунок 35). После установки обязательно нужно удалить папку install с установочными файлами из соображений безопасности.

Рисунок 35 - Стандартный вид магазина, работающего на OpenCart

3.4.2 Изменение внешнего вида и настройка функциональности

Были произведены изменения, касательно внешнего вида интернет-магазина, связанные с изменением цветов схем. Как видно на рисунке, в шаблоне, используемом в CMS по умолчанию, преобладает синий цвет. Поскольку автоматизируемое предприятие занимается, по большей части, реализацией цветочной продукции и декоративных растений, использовались оттенки красного и зеленого цветов. Причем были выбраны мягкие оттенки, что бы при просмотре страниц не напрягались ни зрение, ни внимание посетителя. Для изменения текущих цветов сайта можно воспользоваться любым редактором изображений, позволяющий менять цвет и насыщенность изображения [11]. Изображения, используемые движком, расположены в каталоге \catalog\view\theme\default\image.

Так же были изменены некоторые надписи интернет-магазина и функционал. На рисунке 36 продемонстрирован вид интернет-магазина на движке OpenCart, после изменений.

Рисунок 36 - Вид магазина после изменений.

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

Список использованной литературы

1 Тишбаев А.М. 1С:Предприятие 8.Версия для обучения программированию. URL:http://devtrainingforum.v8.1c.ru/forum/.

2 Гончаров Д.И., Хрусталева Е.Ю. Технологии интеграции 1С:Предприятия

3 Радченко М.Г. 1С:Предприятие 8.2. Практическое пособие разработчика

4 Сергей Кашаев. 1C:Предприятие 8. Учимся программировать на примерах

5 Форум программистов и сисадминов. URL:http://www.cyberforum.ru/programming/.

6 Паутов А.В. MySQL: руководство профессионала. URL:http://lib.rus.ec/b/328368/read.

7 Виктор Гольцман. MySQL 5.0. СПб., 2009.

8 Людоговский Александр. Использование библиотеки ADO (Microsoft ActiveX Data Object). URL:http://www.script-coding.com/ADO.html.

9 Самоучитель по Delphi для профессионалов. URL:http://www.computerbooks.ru/books/Programming/Book-Delphi-for-professionals/index.html.

10 Любаев Владимир. Delphi: уроки и примеры. URL:http://www.delphiexpert.ru/.

11 Прохоренок Н.А. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. СПб., 2010.

12 Джен Харрингтон. Разработка баз данных, СПб., 2005.

13 Марко Кэнту. Delphi 7 для профессионалов. СПб., 2004.

14 Марат Ильмаз. OpenCart 1.4 Гид Новичка. Бирмингем, 2010.

15 НТЦ "Штрих-М. Руководство программиста. Штрих-М: Драйвер

ФР. НН., 2004.

Размещено на Allbest.ru


Подобные документы

  • Загрузка и установка локального сервера Denwer. Создание базы данных Denwer. OpenCart как система управления содержимым. Установка Opencart на Denwer. Работа с магазином в качестве администратора. Взгляд со стороны пользователя. Формирование заказа.

    отчет по практике [1,0 M], добавлен 07.01.2016

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

    дипломная работа [530,5 K], добавлен 14.02.2015

  • Применение серверной платформы Denwer и с CMS Opencart при создании сайта интернет-магазина электроники. Установка и настройка Denwer и Opencart. Русификация сайта на Opencart, создание системы отображения цен в рублях. Разработка функционала сайта.

    практическая работа [985,3 K], добавлен 04.08.2015

  • Принципы и способы электронной торговли. Требования к разработке гипертекстовой информации для размещения в сети Интернет. Маркетинговые исследования в сфере розничной продажи в магазине обуви города Россошь. Структура сайта розничной торговли магазина.

    дипломная работа [4,3 M], добавлен 26.09.2013

  • Применение системы автоматизации розничной торговли в работе современного магазина самообслуживания или супермаркета. Описание информационного и технологического обеспечений информационной системы. Программное обеспечение и экономическая эффективность.

    курсовая работа [810,7 K], добавлен 28.12.2010

  • Оптимизация комплексной конфигурации "1С: Предприятие" для автоматизации работы магазина "Мобильный рай"; регистрация информационной базы, запуск системы. Заполнение справочников "Номенклатура", "Контрагенты". Учетная процедура приобретения товаров.

    дипломная работа [3,5 M], добавлен 21.09.2014

  • Автоматизация торговли, база данных. Модели представления данных, СУБД Microsoft Access. Инструменты для работы с данными в Access. Назначение проектируемой базы данных для компьютерного магазина. Основные функции, решаемые информационной системой.

    курсовая работа [2,9 M], добавлен 15.11.2011

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

    курсовая работа [2,0 M], добавлен 21.04.2015

  • Автоматизация деятельности книжного магазина. Информация базы данных. Заполнение полей таблиц "Книги", "Покупатель", "Поставщик", "Сотрудники". Создание запроса в режиме конструктора. Вывод данных с помощью форм. Разработка приложения СУБД MS Access.

    курсовая работа [3,2 M], добавлен 13.01.2015

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

    реферат [24,6 K], добавлен 07.04.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.