Починаючи з версії 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 відповідно до режиму роботи Алгоритм вибору бази даних при відкритті Shopdesk відповідно до режиму роботи](images/shopdesk_offline01.png )
Мал. 1. Алгоритм вибору бази даних при відкритті Shopdesk відповідно до режиму роботи.
Алгоритм роботи з підключеннями до баз даних в залежності від обраного режиму роботи Shopdesk при обриві з'єднання з основною базою даних зображено на рис. 2.
![Алгоритм вибору бази даних при обриві з'єднання з основною базою даних Алгоритм вибору бази даних при обриві з'єднання з основною базою даних](images/shopdesk_offline02 . png )
Мал. 2. Алгоритм вибору бази даних при обриві з'єднання з основною базою даних.
Як бачите, алгоритми вибору бази даних досить прості і, як ще кажуть, інтуїтивно зрозумілі. Залишається додати, що резервна база даних - це файл у форматі MS Access з ім'ям offlineDB.mdb, що знаходиться в локальній папці з програмою Shopdesk, в папці offline (наприклад, C:\Program Files\SoftKB\Shopdesk\offline).
Ще одна важлива особливість - під час роботи в режимі OFFLINE додаток також використовує локальну папку Shopdesk\offline\GRR\для збереження файлів-чеків. Мається на увазі, що у разі, коли відсутній зв'язок з основною базою даних, також відсутня мережева папка для експорту файлів-чеків з розширенням grr (докладніше про ці файли та організації обміну ними з торговим сервером ТЦУ можна дізнатися з довідки до програми Shopdesk). Ці файли можна передати штатними засобами Shopdesk в обробку торговому серверу ТЦУ або будь-яким іншим способом, зручним адміністратору облікової системи, аж до передачі їх електронною поштою або за допомогою переміщення на магнітних та електронних носіях.
Перемикання режимів роботи Shopdesk
Відкрийте в меню Shopdesk "Настройки" - "Управління підключеннями до БД" і задайте потрібний режим роботи Shopdesk. Вибір буде впливати на алгоритм визначення підключення до баз даних.
![Форма управління підключеннями до БД Форма управління підключеннями до БД](images/shopdesk_offline03.png)
Мал. 3. Форма управління підключеннями до БД.
Створення резервної бази даних
Зупинимося детальніше на варіантах створення резервної бази даних. Зрозуміло, у разі відсутності підключення до основної бази даних для роботи програми необхідна резервна база даних. Називається вона "резервною" саме тому, що використовується вона у випадках, коли відсутня основна база. За великим рахунком, в ідеалі, Shopdesk завжди повинен працювати з основною базою облікової системи, так як в ній в реальному часі відображаються всі зміни, що відбуваються в результаті дій касирів, операторів, комірників по витраті і приходу товарів, зміни їх цін та кількості. А використання резервної бази відразу повертає нас до "замороженого" стану облікових даних. Ці дані відповідають тому моменту часу, коли створювалася ця резервна БД. При інтенсивній роботі з базою даних будь-яка резервна копія застаріває одразу ж після зміни будь-яких даних в основній. Це як покупка нового автомобіля - він новий, поки не виїхав за ворота автосалону. Тому адміністратор облікової системи зобов'язаний підтримувати на належному рівні актуальність резервної бази даних. Вибір частоти її оновлення цілком і повністю лягає на адміністратора і визначається, в кінцевому підсумку, таким фактором, як частота переоцінки товару. Збіг роздрібних цін по будь-якому товару в резервній і в основній базах даних завжди повинний бути повним, на всі 100%. Використання резервної бази даних - це завжди компроміс між актуальністю облікових даних і працездатністю, як такою, робочого місця касира. Або РМК працює, але, за відсутності належної уваги до частоти поновлення резервної БД, відпускає товар за ціною, відмінною від актуальної на поточний момент часу, або ж РМК не працює взагалі і ви втрачаєте своїх клієнтів.
Створити (а також оновити) резервну базу даних можна кількома способами:
- З підключеної основної бази даних будь-якого типу - або MS Access, або MS SQL.
- З резервної (архівної) копії бази даних ТЦУ (файли *. tcubk). Тільки для бази даних ТЦУ у форматі MS Access.
- Фізичне (на рівні файлової системи) копіювання бази даних ТЦУ формату MS Access tcu_be.mdb з каталогу ТЦУ до каталогу Shopdesk, в offline\offlineDB.mdb.
Третій спосіб надає можливість адміністратору творчо підійти до питання поновлення резервної бази даних. Наприклад, якщо робота ведеться в локальній мережі, можна здійснювати заплановані регулярні оновлення в автоматичному режимі. Або здійснювати розсилку основної бази даних по електронній пошті, а на стороні клієнта в автоматичному режимі отримувати її з листа і зберігати в офлайн каталог. Перші ж два способи здійснюються штатними засобами програми та будуть описані далі.
Відкрийте в меню Shopdesk "Настройки" - "Управління підключеннями до БД"
![Форма управління підключеннями до БД Форма управління підключеннями до БД](images/shopdesk_offline04.png)
Мал. 4. Форма управління підключеннями до БД.
Кнопка № 1 "Створити базу даних для резервного підключення" створює резервну базу даних з підключення до основної. На локальному диску, в офлайн папці каталогу Shopdesk, на основі еталона створюється порожня база даних, до якої копіюються всі необхідні для роботи Shopdesk дані. Вибірка даних здійснюється з урахуванням того, які торгові точки обслуговує Shopdesk. Тому будьте уважні - після редагування списку доступних торгових точок у налаштуваннях Shopdesk слід обов'язково оновити резервну базу даних. Що стосується копійованих даних - операція проходить досить швидко навіть на повільних інтернет з'єднаннях. Наприклад, при пропускній спроможності каналу 256 кбіт/с резервна база даних з реєстровими залишками по 3000 найменувань товарів створюється приблизно протягом 1 хвилини (основна база даних знаходиться на віддаленому MSSQL сервері). Обсяг переданих даних у цьому випадку становить приблизно 500-600 Кб.
Кнопка № 2 "Створити резервну базу даних з архіву БД ТЦУ" створює резервну базу даних з файлу-архіву з розширенням "tcubk". Цей файл попередньо створюється в ТЦУ, за допомогою меню "Архівувати базу даних". Файл представляє собою базу даних у форматі MS Access зі зміненим розширенням імені файлу.
![Архівірованіе бази даних у ТЦУ Архівірованіе бази даних у ТЦУ](images/shopdesk_offline05.png)
Мал. 5. Архівування бази даних в ТЦУ-3.
Отриманий архів бази даних можна відправити електронною поштою або, при повній відсутності доступу до Інтернету, перенести на робоче місце касира на електронному носії. При створенні резервної бази з архіву БД відбувається копіювання файлу-архіву в офлайн папку Shopdesk з одночасним перейменуванням файлу - offline\offlineDB.mdb. Після цього Shopdesk при виборі режиму Offline або Automatic може працювати з резервною БД.
Додаток Shopdesk має розвинену систему повідомлень і, у разі виникнення ситуацій з порушенням підключень, а також при переході з одного режиму роботи в іншій, буде повідомляти про це користувача (касира), нагадувати про непереданних в обробку торговому серверу файлах-чеках, автоматично намагатиметься відновлювати з'єднання з віддаленою базою даних і т.д. Поточний режим роботи Shopdesk-а можна бачити в статусному рядку - зелений вогник вказує на роботу з основною базою даних (онлайн підключення), червоний - на роботу з резервною базою даних (офлайн підключення).
![Текущій режим роботи Shopdesk з базою данних Текущій режим роботи Shopdesk з базою данних](images/shopdesk_offline06.png)
Мал. 6. Поточний режим роботи Shopdesk з базою даних.
На закінчення залишається додати - не забувайте підтримувати актуальність резервної бази даних на прийнятному для вас рівні!