Файл: Проектирование реализации операций бизнес-процесса «Продажи» (Методы автоматизации предпринимательской деятельности).pdf
Добавлен: 22.05.2023
Просмотров: 404
Скачиваний: 2
СОДЕРЖАНИЕ
Методы и средства автоматизации предпринимательской деятельности
1.1 Методы автоматизации предпринимательской деятельности
1.2 Бесплатные Open-Source СУБД
1.3 Технологии удаленного доступа к базам данных
2.2 Требования к программным продуктам на серверах
2.4 Требования к интернет-магазину:
2.5 Требования к Программного Обеспечения для отдела управления торговлей и складов
3. Проектирование базы данных разработка и настройка необходимого программного обеспечения
3.1 Проектирование баз данных основного и архивного серверов
3.1.1 Описание предметной области
3.1.2 Построение реляционной модели данных
Настройка конфигурации 1С: Предприятие
3.1.1.2 Доступа к данным через объект "Внешние источники данных"
3.1.1.3 Создание подключения к базе данных для управления данными
3.1.1.4 Организация объектов информационной базы
3.3Разработка ПО для торговых точек
3.3.1Выбор среды разработки и обоснование выбора
3.3.2Настройка удаленного соединения с базой данных
3.3.3Приведение некоторых форматов представления данных Delphi к форматам MySQL
3.3.4Реализация системы авторизации и работы с несколькими кассирами
3.3.5Импорт номенклатуры из базы данных
3.3.7Использование и настройка компонента StringGrid, для размещения данных
3.3.8Форма указания количества заказываемого или покупаемого продукта и расчета суммы
3.3.9Контекстное меню объектов TTreeView и TStringGrid
3.3.4.1Организация автономного режима работы
3.3.4.2 Подключение и работа с фискальным регистратором
3.3.4.3 Разделение пользователей на группы. Разделение формы приложения на вкладки
О каждом реализованном товаре должно быть известно: номер сделки купли-продажи (зависит от места реализации), сотрудник отпустивший товар, склад/торговая точка на котором отпущен товар, наименование реализованной продукции, количество проданного товара, цена проданного товара, точное время реализации и итоговая сумма.
От торговых точек на склады поступают заказы. О каждом заказе должна быть известна вся информация, необходимая для совершения сделки купли-продажи.
Сотрудники предприятия делятся на несколько групп. Каждая группа имеет свой уровень доступа к базе данных: для кассиров предназначен самый низкий уровень, а для программистов самый высокий. О каждом сотруднике должно быть известно: ФИО, имя пользователя, пароль, склад/торговая точка на котором работает, адрес, контактный номер и уровень доступа.
Поставка продукции на склады осуществляется непосредственно самими производителями. О каждом производителе должно быть известно: наименование, ИНН, ОГРН, ФИО представителя, юридический адрес и контактный номер. Построение реляционной модели данных
3.1.2 Построение реляционной модели данных
В данном проекте используется реляционная модель данных [6.c.199]. Поскольку на сегодняшний день реляционные СУБД стали доминирующим типом программных продуктов для обработки данных. В реляционной модели все данные логически структурированы внутри отношений (таблиц). Каждое отношение имеет имя и состоит из именованных атрибутов (столбцов) данных. Каждый кортеж (строка) данных содержит по одному значению каждого из атрибутов. Большое преимущество реляционной модели заключается именно в этой простоте логической структуры. Хотя, конечно же, за этой простотой скрывается серьезный теоретический фундамент, которого нет у моделей первого поколения (т.е. у сетевых и иерархических моделей). В проектируемой базе данных используются следующие отношения: "l_product" отношение сущности "Товар"; "l_category" отношение сущности категориях товар; "l_stock" и "l_store" отношения сущностей "Склад" и "Торговая точка"; "l_sale", "l_delivery" и "l_zakaz" отношения связей "Реализует", "Поставляет" и "Заказывает"; "l_staff" отношение сущности "Сотрудник"; "l_manufacturer" сущности "Производитель". Структуры отношений проектируемой базы данных:
Таблица 1 - Структура отношения "l_manufacturer"
|
Наименование атрибута |
Описание атрибута |
Тип данных |
|
Manufacturer_id |
ID производителя |
INT(11) |
|
Name |
Наименование |
VARCHAR(255) |
|
Juristic_person |
Юридическое лицо |
VARCHAR(255) |
|
Address |
Адрес производителя |
VARCHAR(255) |
|
OGRN |
ОГРН |
INT(20) |
|
INN |
ИНН |
INT(20) |
|
Contact |
Контактная информация |
VARCHAR(255) |
Таблица 2 - Структура отношения "l_product"
|
Наименование атрибута |
Описание атрибута |
Тип данных |
|
Product_id |
ID продукта |
INT(11) |
|
Manufacturer_id |
ID производителя |
INT(11) |
|
Name |
Наименование |
VARCHAR(255) |
|
Price |
Цена |
DECIMAL(15,4) |
|
Date_available |
Дата вступления в продажу |
DATETIME |
|
Status |
Статус активности |
INT(1) |
|
Cost |
Закупочная цена |
DECIMAL(15,4) |
|
Main_category_id |
ID родительской категории |
INT(11) |
|
Description |
Описание |
TEXT |
Таблица 3 – Структура отношения "l_category"
|
Наименование атрибута |
Описание атрибута |
Тип данных |
|
Category_id |
ID категории |
INT(11) |
|
Parent_id |
ID родительской категории |
INT(11) |
|
Name |
Наименование |
VARCHAR(255) |
|
Date_added |
Дата добавления |
DATETIME |
Таблица 4 – Структура отношения "l_stock"
|
Имя атрибута |
Описание атрибута |
Тип данных |
|
Stock_id |
ID склада |
INT(11) |
|
Name |
Наименование |
VARCHAR(255) |
|
Zone |
Район |
VARCHAR(255) |
|
Address |
Адрес |
VARCHAR(255) |
|
Markup_wholesale |
Процент оптовой надбавки |
DECIMAL(15,4) |
|
Markup_retail |
Процент розничной надбавки |
DECIMAL(15,4) |
Таблица 5 - Структура отношения "l_stores"
|
Наименование атрибута |
Описание атрибута |
Тип данных |
|
Store_id |
ID торговой точки |
INT(11) |
|
Stock_id |
ID снабжающего склада |
INT(11) |
|
Name |
Наименование |
VARCHAR(255) |
|
Address |
Адрес |
VARCHAR(255) |
|
Markup_retail |
Процент розничной надбавки |
DECIMAL(15,4) |
Таблица 6 - Структура отношения "l_staff"
|
Наименование атрибута |
Описание атрибута |
Тип данных |
|
Staff_id |
ID сотрудника |
INT(11) |
|
POE_id |
ID склада/торговой точки |
INT(11) |
|
UserName |
Имя пользователя |
VARCHAR(255) |
|
Password |
Пароль |
VARCHAR(255) |
|
FirstName |
Имя |
VARCHAR(255) |
|
LastName |
Фамилия |
VARCHAR(255) |
|
Contact |
Контактный номер |
INT(11) |
|
LOA |
Уровень доступа к БД |
INT(3) |
Таблица 7 - Структура отношения "l_count_to_stock"
|
Наименование атрибута |
Описание атрибута |
Тип данных |
|
Stock_id |
ID склада |
INT(11) |
|
Product_id |
ID продукта |
INT(11) |
|
Count |
Количество |
INT(11) |
Таблица 8 - Структура отношения "l_sale"
|
Наименование атрибута |
Описание атрибута |
Тип данных |
|
Sale_id |
ID продажи |
INT(11) |
|
Order_num |
№ сделки купли-продажи |
INT(11) |
|
Product_id |
ID продукта |
INT(11) |
|
POS_id |
ID склада/торговой точки |
INT(11) |
|
Staff_id |
ID сотрудника |
INT(11) |
|
Time |
Время и время продажи |
DATETIME |
|
Price |
Цена |
DECIMAL(15,4) |
|
Count |
Количество |
INT(11) |
|
Summa |
Сумма |
DECIMAL(15,4) |
Таблица 9 - Структура отношения "l_zakaz"
|
Наименование атрибута |
Описание атрибута |
Тип данных |
|
Zakaz_id |
ID заказа |
INT(11) |
|
Order_num |
№ заказа |
INT(11) |
|
Product_id |
ID продукта |
INT(11) |
|
POS_id |
ID склада/торговой точки |
INT(11) |
|
Staff_id |
ID сотрудника |
INT(11) |
|
Time |
Дата и время заказа |
DATETIME |
|
Price |
Цена |
DECIMAL(15,4) |
|
Count |
Количество |
INT(11) |
|
Summa |
Сумма |
DECIMAL(15,4) |
Таблица 10 - Структура отношения "l_delivery"
|
Наименование атрибута |
Описание атрибута |
Тип данных |
|
Delivery_id |
ID поставки |
INT(11) |
|
Delivery_num |
№ поставки |
INT(11) |
|
Date |
Дата поставки |
DATE |
|
Provider_id |
ID поставщика |
INT(11) |
|
Stock_id |
ID склада |
INT(11) |
|
Product_id |
ID продукта |
INT(11) |
|
Count |
Количества |
INT(11) |
Настройка конфигурации 1С: Предприятие
3.1.1.1 Выбор платформы 1С
Эффективность работы с СУБД во многом зависит от версии платформы 1С, на котором будут, собственно, реализовываться задачи по управлению данными. Передо мной, как и перед многими разработчиками, стоял выбор между платформами версий 7.х и 8.х. С одной стороны проверенная временем версия, наличие обильной справочной информации в сети и множество готовых решений. А с другой стороны новая версия, предоставляющая новые возможности, которые не использовать в данной курсовой работы было бы не совсем верно. Мы предлагаем выбрать последнюю версию. Следует напомнить, так же, что используемый в проекте "движок" интеренет-магазина, в скором времени, возможно, предоставит возможность обмена данными с 1С. Данный модуль пишется для платформ версии 8.2.
Больше всего меня заинтересовал новый объект конфигурации в редакции 8.2.14: "Внешние источники данных". Именно эта версия платформы будет использоваться в нашем проекте.
Объект "Внешние источники данных" позволяет подключаться к внешним источникам данных и использовать эти данные при формировании отчетов [1.с.222]. Внешними источниками данных могут быть:
— SQL Server
— MySQL
— Microsoft Access (*.mdb)
— Microsoft dBase (*.dbf)
— Microsoft Excel (*.xls)
— Microsoft Paradox (*.db )
— Microsoft Text (*.txt; *.csv)
— Microsoft Visual FoxPro (*.dbf)
— SQL Server Native Client 10.0
Данный объект не предоставляет возможности править информацию в базе данных. Возможем только доступ к таблицам, подключенной базы данных, для чтения, что собственно тоже не плохо и позволит ограничиться встроенным языком запросов в 1С.
3.1.1.2 Доступа к данным через объект "Внешние источники данных"
В разработанной конфигурации используется объект "Внешние источники данных" с именем MySQLDB. На вкладке "Данные" (Рисунок 4), данного объекта, задается список таблиц соответствующих выбираемым таблицам базы данных (Рисунок 3). Список таблиц был задан с через прямое подключение к источнику данных, то есть к базе данных, с использованием строки соединения (Рисунок 2). Объект MySQLDB используется только для формирования отчетов.
Рисунок 2 – Параметры подключения к источнику данных
Рисунок 3 – База данных "Lora_BD"
Рисунок 4 – Добавленные таблицы в информационную базу
3.1.1.3 Создание подключения к базе данных для управления данными
Для организации такого доступа к базе данных, а именно, что бы предоставить возможность добавлять, удалять и редактировать записи таблиц, в 1С не имеется специальных объектов и встроенных функций. Поэтому организация такого подключения несколько сложнее и требует использования сторонних технологий доступа к базам данных.
В данной конфигурации, для организации подключения к базе данных с правами на чтение и запись, используется технология ADO.
Что бы, не устанавливать новое соединение, при каждом запросе к базе данных, в модуле обычного приложения объявлена глобальная переменная, хранящая экземпляр объекта ADO с активным соединением.
В модуле обычного приложения так же следует написать строки, которые закрывают соединение при выходе из 1С. Обычно соединения закрываются автоматически при выходе из приложения, однако лучше закрывать соединения явным образом, когда приложение завершает доступ к базе данных, чтобы занятые ресурсы могли использовать и другие программы. Что бы данная операция запускалась автоматически при выходе из программы, код закрытия соединения будет записан в тело предопределенной процедуры "ПриЗавершенииРаботыСистемы".
3.1.1.4 Организация объектов информационной базы
Справочники
Всякий справочник информационной базы соответствует одному или нескольким отношениям базы данных. Все реквизиты справочников имеют тип данных соответствующих им атрибутов отношений. В информационной базе имеются следующие справочники: "Производители", иерархический справочник "Номенклатура", "Склады", "ТорговыеРозничныеТочки" и "Сотрудники" [2.с.334.].
Содержимое справочников при начале работы пополняется записями из базы данных и полностью удаляется при окончании сеанса работы, то есть, формально, оно непостоянно. Процедуры обновления справочников описаны в модуле обычного приложения.