Начиная с версии 4.0, Shopdesk приобрел важную особенность. Теперь он может работать автономно, не требуя постоянного подключения к базе данных. И действительно, почему бы не использовать полюбившийся пользователям старый добрый Shopdesk на тех рабочих местах, которые не имеют постоянного подключения к основной базе данных своей учетной системы? И даже более того - на рабочих местах, которые вообще не имеют никакого подключения ни к локальной сети, будучи территориально удаленными от сервера с базой данных, ни к Интернету, который, как известно, стирает границы и сокращает расстояния? Ведь даже, несмотря на ничтожно малый трафик, потребляемый Shopdesk-ом и практически полное безразличие с его стороны к пропускной способности Интернет-соединения, оно (соединение) всё равно было нужно для работы Shopdesk. Что ж, в наше время организовать удаленное подключение с помощью всемирной паутины не представляет особой проблемы. Можно организовать связь даже "в поле", используя доступные GPRS, EDGE либо другие технологии связи. Казалось бы - подключайся и работай. Однако, эту радостную картину всегда омрачало одно "но". И этому "но" под силу перечеркнуть все ваши планы по организации работы удаленных рабочих мест с основной базой данных учетной системы. "Но" всегда случается, рано или поздно. Соединение может оборваться. Не будем сейчас вникать в причины, почему это может случиться. Причины могут самыми разными - от банального обрыва проводов телефонной линии на стороне абонента (что бывает достаточно часто) до проблем на стороне Интернет-провайдера (что бывает значительно реже, но бывает). Мало того, от проблем с соединением с базой данных не застрахована даже локальная сеть. Наконец, проблемы могут случится с самим сервером базы данных - оборудование может дать сбой в самый неподходящий момент. Прекращение соединения с базой данных пусть даже на небольшое время может поставить под угрозу работоспособность магазина. Более длительное отсутствие соединения превращается в стихийное бедствие и становится причиной полного паралича в обслуживании клиентов. Про час пик даже упоминать страшно. Поэтому решение, при котором подключение удаленных магазинов осуществлялось именно с помощью Интернет-соединений, нельзя было признавать удачным из-за самой большой и главной проблемы - ненадежности физического соединения между клиентом (рабочим местом кассира) и сервером (сервер СУБД MSSQL).
Специалисты ANDRIY.CO всегда обращали внимание клиентов на эту проблему при организации подключения удаленных рабочих мест кассира. Как правило, в таких случаях ими предлагался другой наш продукт - "Shopdesk Remote". Это приложение, являющееся аналогом Shopdesk, но обладающее возможностью работы в офлайне (только). Однако, с некоторых пор оно уступает в функциональности и удобстве использования основному продукту, обеспечивающему полноценную организацию работу рабочего места кассира - Shopdesk. Что ж, время пришло. Мы взяли лучшее из обеих проектов и теперь представляем вашему вниманию обновленный Shopdesk, обладающий возможностью работы с базой данных как в режиме онлайн (при наличии прямого подключения к базе данных основной учетной системы), так и в офлайн (при отсутствии соединения с основной базой данных, либо при перебоях подключения). Особо подчеркиваем - данное решение повышает "живучесть" системы в целом. Используя его даже в локальных сетях, где вы уверены в надежности соединений рабочих мест с сервером, вы все равно обеспечиваете более надежную работу ваших фронтофисных систем, исключая влияние неполадок связи и даже неполадок самого сервера на работоспособность рабочих мест кассиров. При появлении проблем со связью рабочие места кассиров могут работать автономно до устранения неполадок. Кроме этого, теперь у администраторов появляется возможность отключить сервер базы данных для проведения профилактических регламентных работ по обслуживанию ПО либо замене оборудования, при этом, не нарушая работоспособности магазина. Ранее такие работы могли проводиться исключительно в ночное время.
Расскажем подробней о том, как это работает. Shopdesk имеет 3 самых главных режима работы с базой данных:
- Режим работы с основной базой данных (ONLINE mode). В этом режиме Shopdesk работает исключительно с основной базой данных (требуется прямое подключение к основной БД). При отсутствии соединения с основной базой данных либо при невозможности его восстановления после обрыва Shopdesk прекращает свою работу. Этот режим работы полностью аналогичен режиму работы Shopdesk до версии 4.0
- Режим работы с резервной базой данных (OFFLINE mode). В этом режиме Shopdesk работает исключительно с резервной базой данных (резервная БД должна быть предварительно создана одним из способов, описанными далее). При отсутствии резервной базы данных Shopdesk предлагает переключиться в режим работы с основной базой данных.
- Автоматический режим (Automatic mode). При запуске Shopdesk осуществляет попытку подключиться к основной базе данных. В случае успешного подключения Shopdesk продолжает работу с основной базой данных на все время сеанса (ONLINE mode), до возможного обрыва подключения к основной базе данных. В случае невозможности установки подключения к основной БД, Shopdesk переходит к подключению к резервной базе данных (OFFLINE mode). В этот же режим Shopdesk переходит в случае обрыва подключения к основной базе данных. В случае режима работы с резервной базой данных этот режим сохраняется до конца сеанса работы Shopdesk.
Алгоритмы выбора базы данных для подключения
Алгоритм выбора подключения к базам данных в зависимости от выбранного режима работы Shopdesk при запуске изображен на рис. 1.
Рис. 1. Алгоритм выбора базы данных при открытии Shopdesk согласно режиму работы.
Алгоритм работы с подключениями к базам данных в зависимости от выбранного режима работы Shopdesk при обрыве соединения с основной базой данных изображен на рис. 2.
Рис. 2. Алгоритм выбора базы данных при обрыве соединения с основной базой данных.
Как видите, алгоритмы выбора базы данных достаточно просты и, как ещё говорят, интуитивно понятны. Остается добавить, что резервная база данных - это файл в формате MS Access с именем offlineDB.mdb, находящийся в локальной папке с программой Shopdesk, в подпапке offline (например, C:\Program Files\ANDRIY.CO\Shopdesk\offline).
Еще одна важная особенность - во время работы в режиме OFFLINE приложение также использует локальную папку Shopdesk\offline\GRR\ для сохранения файлов-чеков. Подразумевается, что в случае, когда отсутствует связь с основной базой данных, также отсутствует сетевая папка для экспорта файлов-чеков с расширением grr (подробнее об этих файлах и организации обмена ими с торговым сервером ТЦУ можно узнать в справке к программе Shopdesk). Эти файлы можно передать штатными средствами Shopdesk в обработку торговому серверу ТЦУ либо любым другим способом, удобным администратору учетной системы, вплоть до передачи их электронной почтой либо с помощью перемещения на магнитных и электронных носителях.
Переключение режимов работы Shopdesk
Откройте в меню Shopdesk "Настройки" - "Управление подключениями к БД" и задайте требуемый режим работы Shopdesk. Выбор будет влиять на алгоритм определения подключения к базам данных.
Рис. 3. Форма управления подключениями к БД.
Создание резервной базы данных
Остановимся подробней на вариантах создания резервной базы данных. Разумеется, в случае отсутствия подключения к основной базе данных для работы приложения необходима резервная база данных. Называется она "резервной" именно потому, что используется она в случаях, когда отсутствует основная база. По большому счету, в идеале, Shopdesk всегда должен работать с основной базой учетной системы, так как в ней в реальном времени отражаются все изменения, происходящие в результате действий кассиров, операторов, кладовщиков по расходу и приходу товаров, изменению их цен и количества. А использование резервной базы сразу возвращает нас к "замороженному" состоянию учетных данных. Эти данные соответствуют тому моменту времени, когда создавалась эта резервная БД. При интенсивной работе с базой данных любая резервная копия устаревает сразу после изменения каких-либо данных в основной. Это как покупка нового автомобиля - он новый, пока не выехал за ворота автосалона. Поэтому администратор учетной системы обязан поддерживать на должном уровне актуальность резервной базы данных. Выбор частоты её обновления целиком и полностью ложится на администратора и определяется, в конечном итоге, таким фактором, как частота переоценки товара. Совпадение розничных цен по любому товару в резервной и в основной базах данных всегда должно быть полным, на все 100%. Использование резервной базы данных - это всегда компромисс между актуальностью учетных данных и работоспособностью, как таковой, рабочего места кассира. Или РМК работает, но, при отсутствии должного внимания к частоте обновления резервной БД, отпускает товар по цене, отличной от актуальной на текущий момент времени, или же РМК не работает вообще и вы теряете своих клиентов.
Создать (а также обновить) резервную базу данных можно несколькими способами:
- Из подключенной основной базы данных любого типа - либо MS Access, либо MS SQL.
- Из резервной (архивной) копии базы данных ТЦУ (файлы *.tcubk). Только для базы данных ТЦУ в формате MS Access.
- Физическое (на уровне файловой системы) копирование базы данных ТЦУ формата MS Access tcu_be.mdb из каталога ТЦУ в каталог Shopdesk, в offline\offlineDB.mdb.
Третий способ предоставляет возможность администратору творчески подойти к вопросу обновления резервной базы данных. Например, если работа ведется в локальной сети, можно осуществлять запланированные регулярные обновления в автоматическом режиме. Либо осуществлять рассылку основной базы данных по электронной почте, а на стороне клиента в автоматическом режиме извлекать её из письма и сохранять в офлайн каталог. Первые же два способа осуществляются штатными средствами приложения и будут описаны далее.
Откройте в меню Shopdesk "Настройки" - "Управление подключениями к БД"
Рис. 4. Форма управления подключениями к БД.
Кнопка №1 "Создать базу данных для резервного подключения" создает резервную базу данных из подключения к основной. На локальном диске, в офлайн папке каталога Shopdesk, на основе эталона создается пустая база данных, в которую копируются все необходимые для работы Shopdesk данные. Выборка данных осуществляется с учетом того, какие торговые точки обслуживает Shopdesk. Поэтому будьте внимательны - после редактирования списка доступных торговых точек в настройках Shopdesk следует обязательно обновить резервную базу данных. Что касается копируемых данных - операция проходит достаточно быстро даже на медленных интернет соединениях. Например, при пропускной способности канала 256 кбит/с резервная база данных с реестровыми остатками по 3000 наименований товаров создается примерно в течение 1 минуты (основная база данных находится на удаленном MSSQL сервере). Объем передаваемых данных в данном случае составляет примерно 500-600 Кб.
Кнопка №2 "Создать резервную базу данных из архива БД ТЦУ" создает резервную базу данных из файла-архива с расширением "tcubk". Этот файл предварительно создаётся в ТЦУ, с помощью меню "Архивировать базу данных". Файл представляет собой базу данных в формате MS Access с измененным расширением имени файла.
Рис. 5. Архивирование базы данных в ТЦУ-3.
Полученный архив базы данных можно отправить электронной почтой или, при полном отсутствии доступа к Интернету, перенести на рабочее место кассира на электронном носителе. При создании резервной базы из архива БД происходит копирование файла-архива в офлайн папку Shopdesk с одновременным переименованием файла - offline\offlineDB.mdb. После этого Shopdesk при выборе режима Offline или Automatic может работать с резервной БД.
Приложение Shopdesk имеет развитую систему сообщений и, в случае возникновения ситуаций с нарушением подключений, а также при переходе из одного режима работы в другой, будет уведомлять об этом пользователя (кассира), напоминать о непереданных в обработку торговому серверу файлах-чеках, автоматически пытаться восстанавливать соединение с удаленной базой данных и т.д. Текущий режим работы Shopdesk-а можно видеть в статусной строке - зеленый огонёк указывает на работу с основной базой данных (онлайн подключение), красный - на работу с резервной базой данных (офлайн подключение).
Рис. 6. Текущий режим работы Shopdesk с базой данных.
В заключение остаётся добавить - не забывайте поддерживать актуальность резервной базы данных на приемлемом для вас уровне!