Автоматизация деятельности торгового предприятия
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
ог. Если полученные координаты курсора удовлетворяют требуемым условиям, то элемент дерева, по которому было произведено нажатие правой кнопкой мыши, выделяется, а команды контекстного меню становятся активными (Рисунок 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М" от компании Штрих-М. Компания поставляет свою продукцию с примерами на разных языках програ