Управління розподіленими базами даних і обмін даними

1С: Підприємство 7.7. Управління розподіленими інформаційними базами. У прикладах.

- Можливість вказівки для периферійної інформаційної бази ознаки "Тільки одержувач". Ця ознака визначає режим, при якому в периферійну базу будуть передаватися зміни з центральної ІБ, але зміни, зроблені в периферійній базі, в центральну ІБ передаватися не будуть.

- При конфігуруванні для документів і довідників може відключатися автоматична реєстрація змін для обміну в розподіленої ІБ.

- Можливість засобами вбудованої мови в спеціальних випадках відключати і включати для документів і довідників реєстрацію змін для обміну в розподіленої ІБ. Це дозволяє не переносити об'єкти в розподіленої ІБ при виконанні окремих операцій.

- У конфігурації може бути відключена міграція для регістрів оперативного обліку і бухгалтерських операцій. Це дозволяє вести оперативний облік (по окремим регістрів) або бухгалтерський облік в різних інформаційних базах незалежно, а також не вести ці види обліку в тих ІБ, в яких вони не мають сенсу.

- Завантаження і вивантаження файлів обміну в розподіленої ІБ може виконуватися паралельно з роботою користувачів з інформаційною базою в розділеному режимі.

- У режимі автообміну може виконуватися автоматична здійснювати чи отримувати файлів змін з використанням електронної пошти.

1. Призначення і принцип роботи

Програмний продукт "1С: Підприємство 7.5. Управління розподіленими інформаційними базами "призначений для застосування в фірмах, які використовують програми серії 1С: Підприємство (1С: Торгівля і Склад, 1С: Бухгалтерія, 1С: Зарплата і Кадри), і які потребують обміні інформацією між територіально розподіленими майданчиками (це можуть бути магазини, офіси, склади і т.д.).

Розподілена інформаційна база - як це влаштовано.

РИБ складається з однієї центральної бази і однієї або декількох периферійних баз. Каскадне підключення, коли периферійна база є центральною для іншої ієрархії неможливо. Також неможливо мати кілька центральних баз (в одній розподіленої системі).

У центральній базі здійснюється управління всією системою:

· Управління списком периферійних баз (їх створення, видалення, зміна параметрів);

· Управління параметрами міграції елементів конфігурації - констант, довідників і документів (в які бази потрапляє елемент при його створенні, зміні або видаленні).

Периферійна база, що отримується в результаті вивантаження з центральної бази, є повнофункціональної базою 1С: Підприємства, за деяким винятком: в ній неможливо конфігурація. Тут можливо тільки отримання оновлення інформації з центральної бази і передача інформації в центральну базу.

Під час підготовки файлу вивантаження змін система управління РИБ перевіряє базу і записує в файл спеціального текстового формату всю оновити з моменту останньої вивантаження інформацію.

Оновленням інформації є будь-яка дія, що змінює записи бази або її конфігурацію:

· Зміна конфігурації (в тому числі і просто запис файлу MD з новою датою);

· Зміна значення константи;

· Створення, зміна, позначка на видалення та видалення елемента довідника;

· Створення, зміна, проведення, позначка на видалення та видалення документа.

Процес роботи з розподіленою базою виглядає як зазвичай, так як для користувача нічого не змінюється. Просто в списку обов'язків одного із співробітників в кожному офісі з'являється ще три записи:

  1. У певний час підготувати файл обміну для передачі.
  2. Провести обмін даними (відправити підготовлені і прийняти призначені для отримання файли).
  3. Завантажити отримані дані (якщо вони є).

Перший і третій пункти виробляються в Конфігураторі (в зв'язку з чим потрібно вихід всіх працюючих співробітників з 1С: Підприємства) і вимагають прав адміністратора системи, другий пункт може виглядати як запис файлу на дискети або запуск будь-якої програми пересилання даних по модему.<Для версии 7.7 уже неактуально, т.к. реализован режим пакетного выполнения заданий по выгрузке/загрузке>

Установка програми полягає в запуску setup з єдиною поставляється дискети. Головне під час установки - правильно вказати, куди інсталятору слід скопіювати файли. Це обов'язково повинен бути каталог, звідки здійснюється запуск 1С: Підприємства. Часто при установці роблять помилку, через неуважність прийнявши пропонований за замовчуванням каталог, в результаті при запуску "Конфігуратора" і спробі відкрити діалог управління розподіленою базою виходить повідомлення про те, що шуканий компонент не встановлений.
Оскільки встановлюється всього один файл DistrDB.DLL. то це легко зробити вручну, скопіювавши даний файл в папку 1Cv75 / BIN. звідки запускається 1С: Підприємство (але в цьому випадку і видаляти його доведеться теж вручну, а не з Панелі управління Windows). Продукт захищений ключем HASP, як і більшість програм 1С. До речі, є підозра, що в цьому файлі DistrDB.DLL (розмір 6 кілобайт) міститься тільки код, що дозволяє роботу розподіленої бази, а весь програмний код включений в 1С: Підприємство.

З моменту коректної установки в Конфігураторі стає доступним діалог управління розподіленою базою, в якому і проводяться всі дії - перетворення бази в розподілену, додавання і видалення периферійних баз, вивантаження і прийом інформації, а також настройка.

Установка ПО "Управління розподіленими інформаційними базами" ніяк не відбивається на підключених базах. Без перетворення в розподілену база залишається абсолютно незмінною.

База "Acme Parts" була перетворена в розподілену на завершальному етапі виконання проекту, коли вже були заповнені основні довідники (товарів, співробітників, магазинів, складів і т.п.). Після цього було зроблено опис властивостей міграції довідників, документів і констант. Потім з центральної бази були згенеровані бази для складу і всіх магазинів. В результаті вони містили всю необхідну інформацію. Потім отримані файли були переписані на комп'ютери магазинів і складу, і там завантажені в 1С: Підприємство.

Отже, як тільки був виловлений останній баг, отримані центральна і периферійні бази були встановлені в фірмі "Acme Parts", почалася робота. Перехід такої мережі на нову програму без зупинки торгівлі - це окрема велика історія.

Центральний склад приймає товар від постачальників, а також виробляє періодичні інвентаризації. При прийомі товару створюються нові записи в довіднику "Товари", а також нові документи - прибуткові накладні. При інвентаризації створюється відповідний акт. Іноді з центрального складу проводиться повернення шлюбу або непроданого товару постачальникам. Це також породжує відповідні видаткові накладні. Вся ця інформація обробляється механізмом РИБ і потрапляє в файл перенесення змін.

Щодня в кінці робочого дня менеджер центрального складу виробляє описані вище процедури створення файлу змін і його відправки в головний офіс. Доставка зашифрованого файлу (шифрування виконується зовнішньою програмою<Для версии 7.7 возможно указание пароля шифрации ZIP-Файла прямо в конфигураторе> ) Забезпечується за допомогою FTP-клієнта на загальний для всієї фірми FTP. Bullet Proof був обраний за свої "куленепробивні" можливості щодо виконання поставлених завдань.

Головний офіс виконує процедури обміну два рази в день. Це дозволяє своєчасно отримувати інформацію про стан фірми і підтримувати актуальний стан всієї системи. Вранці з FTP виходять дані за вчорашній день з центрального складу і з магазинів, а ввечері, до того моменту, коли на зв'язок виходять периферійні майданчики - відсилаються результати роботи за день: акти переоцінки, накладні переміщення, нові і змінені товари, що надійшли з центрального складу .

В магазинах все досить просто - роздрібна торгівля породжує Z-звіти, а інвентаризації - акти ревізії. Ця інформація щодня поміщається на FTP і забирається центром. З головного же офісу приходять всі документи зміни цін і поновлення довідників, які автоматично приймаються до виконання. Тобто, якщо в головному офісі проставили нову ціну на товар, то після прийому поновлення в магазині все вже зроблено, і товарознавцю потрібно тільки роздрукувати нові цінники.

Кожен магазин має доступ тільки до своїх документів і звітам тільки за своїм складом. Деякі довідники (касири, каси) і константи (префікси номерів документів, префікси штрих-кодів) описані за допомогою властивостей міграції як немігрірующіе і тому є своїми в кожному магазині. Довідник товарів, природно, єдиний для всього підприємства.

Початкові цілі виконаного в "Acme Parts" проекту були наступні:

· Централізоване і одноразова зміна цін і асортименту в магазинах;

· Оперативне отримання інформації про стан всієї фірми в головному офісі.

Застосування 1С: Підприємства 7.5 і механізму управління розподіленими базами дозволило вирішити ці завдання.

Продукт має досить помітні недоліки. Сподіваємося, в наступних версіях хоча б частину з них залишиться в минулому.

· Неможливо базу, перетворену в розподілену, зробити знову звичайної. З цього випливає, що окрема копія "Управління РИБ" знадобиться в кожному місці, куди ви захочете поставити вашу конфігурацію (маються на увазі комп'ютери, не пов'язані локальною мережею і не входять у вихідну розподілену базу), навіть якщо там і не планується наявність декількох офісів або складів.<В конференциях сайта 1c.ssau.ru предлагалась подобная услуга (обратное преобразование базы в нераспределенную), но это, естественно, на ваш страх и риск.>

· Неможливо конфігурація бази, перетвореної в розподілену, без наявності ПО "Управління РИБ" і відповідно, ключа. Тобто, якщо ви як програміст працювали вдома на одного користувача версії 1С: Підприємства, то після перетворення бази вашого клієнта в розподілену вам буде потрібно або працювати у клієнта, або взяти де-небудь "Управління РИБ" з ключем.

· Невиправдано жорсткі обмеження на обмін інформацією при конфігуруванні системи. Припустимо, ви в центральній базі створили якийсь новий документ (як елемент конфігурації), що не позначилася на старих даних. Коли ви спробуєте завантажити в центральну базу дані, отримані з периферійної бази, вам буде заявлено, що "Зміни конфігурації не завантажується в базу, з якої прибув файл перенесення" (майже дослівно), і процес перерветься. Поки ви не передасте файл з новою конфігурацією MD в усі периферійні бази, не бачити вам від них інформації.

· Виконання процедури підготовки і завантаження інформації тільки в Конфігураторі і тільки з правами адміністратора. І тільки вручну. Звідси виходить цілий букет проблем - як з кваліфікацією персоналу, так і з безпекою даних. Хоча всі дії в принципі, можна звести до вибору однієї позиції з меню і натискання однієї кнопки ( "Автообмін" - "Виконати"). Хотілося б це робити взагалі однією іконкою на Робочому столі, або навіть автоматично - будь-яким планувальником завдань.<Для версии 7.7 неактуально - проблема снята>

· Дуже незручно те, що якщо в результаті колізії в одній базі виникли елементи довідника з однаковим кодом або документи з одним і тим же номером, то виявляється це не в самий підходящий момент, а саме, коли хто-небудь намагається записати цей елемент або документ . Можна при завантаженні файлу перенесення передбачити, крім текстової діагностики, хоча б найпростіше автоматичну дію за замовчуванням для виправлення цієї ситуації (наприклад, додавання префікса).

· Хочеться побажати також додаткових схем обміну інформацією, крім зіркоподібній - ієрархічної, мережевої, рівноправної і т.п.

Незважаючи на ці недоліки, система виконує свої функції повністю і без помилок.

Стандартна ціна з прайс-листа 1С становить 480 USD. За цю ціну ви отримуєте коробку з дискетою, документацією і ключем захисту. Ключ ставиться на сервер (або єдиний комп'ютер, якщо мережі немає), на якому буде функціонувати центральна база (або кілька центральних баз). На периферійних базах потрібно тільки 1С: Підприємство (розрахована на одного користувача або мережева версія).