Робота Shopdesk з основною та резервною базами даних

Автор:   Мукан Андрей, mukan@andriy.co

Починаючи з версії 4.0, Shopdesk придбав важливу особливість. Тепер він може працювати автономно, не вимагаючи постійного підключення до бази даних. І дійсно, чому б не використати тарий добрий Shopdesk на тих робочих місцях, які не мають постійного підключення до основної базі даних своєї облікової системи? І навіть більше того - на робочих місцях, які взагалі не мають ніякого підключення ні до локальної мережі, по причині територіальної віддаленості від сервера від бази даних, ні до Інтернету, який, як відомо, стирає кордони і скорочує відстані? Адже навіть, незважаючи на нікчемно малий трафік, що споживає Shopdesk і практично повну байдужість з його боку до пропускної здатності Інтернет-з'єднання, воно (з'єднання) все одно було потрібно для роботи Shopdesk. Що ж, у наш час організувати віддалене підключення за допомогою всесвітньої павутини не представляє особливої проблеми. Можна організувати зв'язок навіть "в полі", використовуючи доступні GPRS, EDGE або інші технології зв'язку. Здавалося б - підключайся і працюй. Однак, цю радісну картину завжди затьмарювало одне "але". І цьому "але" під силу перекреслити всі ваші плани з організації роботи віддалених робочих місць з основною базою даних облікової системи. "Але" завжди трапляється, рано чи пізно. З'єднання може обірватися. Не будемо зараз вникати в причини, чому це може статися. Причини можуть самими різними - від банального обриву проводів телефонної лінії на стороні абонента (що буває досить часто) до проблем на стороні Інтернет-провайдера (що буває значно рідше, але буває). Мало того, від проблем зі з'єднанням з базою даних не застрахована навіть локальна мережа. Нарешті, проблеми можуть трапиться з самим сервером бази даних - обладнання може дати збій в самий невідповідний момент. Припинення з'єднання з базою даних нехай навіть на невеликий час може поставити під загрозу працездатність магазину. Більш тривала відсутність з'єднання перетворюється на стихійне лихо і стає причиною цілковитого паралічу в обслуговуванні клієнтів. Про час пік навіть згадувати страшно. Тому рішення, при якому підключення віддалених магазинів здійснювалося саме за допомогою Інтернет-з'єднань, не можна було визнавати вдалим через найбільшу і головну проблему - ненадійність фізичного з'єднання між клієнтом (робочим місцем касира) і сервером (сервер СУБД MSSQL).

Фахівці SoftKB завжди звертали увагу клієнтів на цю проблему при організації підключення віддалених робочих місць касира. Як правило, в таких випадках ними пропонувався інший наш продукт - "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.

Алгоритм вибору бази даних при відкритті Shopdesk відповідно до режиму роботи

Мал. 1. Алгоритм вибору бази даних при відкритті Shopdesk відповідно до режиму роботи.

Алгоритм роботи з підключеннями до баз даних в залежності від обраного режиму роботи Shopdesk при обриві з'єднання з основною базою даних зображено на рис. 2.

Алгоритм вибору бази даних при обриві з'єднання з основною базою даних

Мал. 2. Алгоритм вибору бази даних при обриві з'єднання з основною базою даних.

Як бачите, алгоритми вибору бази даних досить прості і, як ще кажуть, інтуїтивно зрозумілі. Залишається додати, що резервна база даних - це файл у форматі MS Access з ім'ям offlineDB.mdb, що знаходиться в локальній папці з програмою Shopdesk, в папці offline (наприклад, C:\Program Files\SoftKB\Shopdesk\offline).

Ще одна важлива особливість - під час роботи в режимі OFFLINE додаток також використовує локальну папку Shopdesk\offline\GRR\для збереження файлів-чеків. Мається на увазі, що у разі, коли відсутній зв'язок з основною базою даних, також відсутня мережева папка для експорту файлів-чеків з розширенням grr (докладніше про ці файли та організації обміну ними з торговим сервером ТЦУ можна дізнатися з довідки до програми Shopdesk). Ці файли можна передати штатними засобами Shopdesk в обробку торговому серверу ТЦУ або будь-яким іншим способом, зручним адміністратору облікової системи, аж до передачі їх електронною поштою або за допомогою переміщення на магнітних та електронних носіях.

Перемикання режимів роботи Shopdesk

Відкрийте в меню Shopdesk "Настройки" - "Управління підключеннями до БД" і задайте потрібний режим роботи Shopdesk. Вибір буде впливати на алгоритм визначення підключення до баз даних.

Форма управління підключеннями до БД

Мал. 3. Форма управління підключеннями до БД.

Створення резервної бази даних

Зупинимося детальніше на варіантах створення резервної бази даних. Зрозуміло, у разі відсутності підключення до основної бази даних для роботи програми необхідна резервна база даних. Називається вона "резервною" саме тому, що використовується вона у випадках, коли відсутня основна база. За великим рахунком, в ідеалі, Shopdesk завжди повинен працювати з основною базою облікової системи, так як в ній в реальному часі відображаються всі зміни, що відбуваються в результаті дій касирів, операторів, комірників по витраті і приходу товарів, зміни їх цін та кількості. А використання резервної бази відразу повертає нас до "замороженого" стану облікових даних. Ці дані відповідають тому моменту часу, коли створювалася ця резервна БД. При інтенсивній роботі з базою даних будь-яка резервна копія застаріває одразу ж після зміни будь-яких даних в основній. Це як покупка нового автомобіля - він новий, поки не виїхав за ворота автосалону. Тому адміністратор облікової системи зобов'язаний підтримувати на належному рівні актуальність резервної бази даних. Вибір частоти її оновлення цілком і повністю лягає на адміністратора і визначається, в кінцевому підсумку, таким фактором, як частота переоцінки товару. Збіг роздрібних цін по будь-якому товару в резервній і в основній базах даних завжди повинний бути повним, на всі 100%. Використання резервної бази даних - це завжди компроміс між актуальністю облікових даних і працездатністю, як такою, робочого місця касира. Або РМК працює, але, за відсутності належної уваги до частоти поновлення резервної БД, відпускає товар за ціною, відмінною від актуальної на поточний момент часу, або ж РМК не працює взагалі і ви втрачаєте своїх клієнтів.

Створити (а також оновити) резервну базу даних можна кількома способами:

  1. З підключеної основної бази даних будь-якого типу - або MS Access, або MS SQL.
  2. З резервної (архівної) копії бази даних ТЦУ (файли *. tcubk). Тільки для бази даних ТЦУ у форматі MS Access.
  3. Фізичне (на рівні файлової системи) копіювання бази даних ТЦУ формату 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-а можна бачити в статусному рядку - зелений вогник вказує на роботу з основною базою даних (онлайн підключення), червоний - на роботу з резервною базою даних (офлайн підключення).

Текущій режим роботи Shopdesk з базою данних

Мал. 6. Поточний режим роботи Shopdesk з базою даних.

На закінчення залишається додати - не забувайте підтримувати актуальність резервної бази даних на прийнятному для вас рівні!

Статья включена в следующие темы:

Вверх