Контакти

Олексій Олексієв ласкаво просимо в мій затишненький бложек. Розподілена інформаційна база: Основи Базові засади роботи РИБ

Для створення розподіленої інформаційної бази необхідно зайти програму як "1С: Підприємство". Для створення вузлів розподіленої бази меню вибираємо: Операції - Плани обміну. Відкриється вікно "Вибір об'єкта: План обміну".


1. Розглянемо варіант із планом обміну «Повний».

Обмін буде здійснюватись по всіх організаціях, що перебувають у розподіленій інформаційній базі.

Виберемо план обміну "Повний". Відкриється вікно "План обміну повний".

Заповнюємо два записи:

Перший запис назвемо «Головний вузол», код вкажемо «ГУ»,

Другий запис назвемо «Підлеглий вузол», код вкажемо «ПУ».

Як бачимо з малюнка, у першому записі значок зображений із зеленим кружком, це значок «Головного вузла».


Для створення копії інформаційної бази «Головного вузла», натискаємо на «Підлеглий вузол» і натискаємо на значок «Створити початковий образ». Це буде інформаційна база «Підлеглого вузла».


Відкриється вікно "Створення початкового образу ІБ", вибираємо "На даному комп'ютері або на комп'ютері в локальній мережі", натискаємо "Далі".


У полі «Каталог інформаційної бази» вибираємо місцезнаходження, куди буде встановлена ​​копія «Головного вузла», натискаємо «Готово».


Після створення інформаційної бази «Підлеглого вузла» з'явиться повідомлення:


Натискаємо "Ок".

Додаємо інформаційну базу «Підлеглого вузла» до "1С: Підприємство". Заходимо до підлеглої бази в режимі "1С: Підприємство". Відкриємо: Операції – Плани обміну. Відкриється вікно "Вибір об'єкта: План обміну". Виберемо план обміну "Повний". Відкриється вікно "План обміну повний". Бачимо, що значок «Головного вузла» помаранчевий, це означає, що цей вузол є головним для тієї інформаційної бази, в якій ми знаходимося.


Наступні налаштування робимо і в Головному, і в Підпорядкованому вузлі:

1. Додаємо префікс для розподіленої інформаційної бази.

Це робиться для того, щоб не виникало конфліктів у номерах та кодах документів та довідників, створених у двох базах, тому в кожній базі вказуємо префікс, який додаватиметься до номерів документів та кодів довідників. Відкриваємо: Сервіс – Налаштування програми – закладка «Обмін даними». У полі «Префікс вузла для розподіленої інформаційної бази:» у підлеглій базі вводимо «ПУ», у головній базі вводимо «ГУ».


2. Додаємо налаштування обміну даними між вузлами:

Відкриваємо: Сервіс - Розподілена інформаційна база (РІБ) - Налаштувати вузли РІБ. Відкриється вікно «Параметри обміну даними».


Натискаємо "Додати", відкриється вікно "Налаштування обміну даними". Вводимо найменування вашої настройки.


У полі "Вузол" автоматично з'явиться вузол, для "Головного вузла" буде "Підлеглий вузол", для "Підлеглого вузла" буде "Головний вузол".

У полі «Каталог» виберіть папку, в яку надходитимуть дані обміну, для головної та підлеглої бази найкраще вказувати один каталог.

У полі Тип обміну налаштовуємо передачу даних між базами: через файловий або фтп-ресурс. Виберемо, наприклад, «обмін через файловий ресурс».

В інших полях нічого не міняємо.

Натискаємо "Ок". Бачимо, що з'явилося налаштування.

3. Для обміну даними робимо таке:

Спочатку в базі, в якій були зроблені зміни, натискаємо на значок «Виконати обмін поточним налаштуванням», як показано на малюнку.


Після розвантаження з'явиться вікно результату розвантаження.


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

2. Розглянемо варіант із планом обміну «По організації».

Обмін буде здійснюватися за обраними організаціями, які перебувають у розподіленій інформаційній базі.

Для створення вузлів розподіленої бази меню вибираємо: Операції - Плани обміну. Відкриється вікно "Вибір об'єкта: План обміну".


Виберемо план обміну «По організації». Відкриється вікно «План обміну по організації».

Заповнюємо два записи:

Перший запис назвемо «Головний вузол», код вкажемо «ГУ», бачимо відмінність від «Плану обміну: Повний», з'явилася таблиця, в якій вказуємо Організації, за якими відбуватиметься обмін.

Другий запис назвемо «Підлеглий вузол», код вкажемо «ПУ», вказуємо організації.


У всьому іншому налаштування йде абсолютно аналогічно до «Плану обміну: Повний».

ОЛЕГ ФІЛІПІВ, АНТ-Інформ, заступник начальника відділу розробки, [email protected]

РИБ у 1С. Межі можливостей

Технологія розподілених інформаційних баз (РІБ) у платформі 1С: Підприємство викликає багато суперечок. Постараємося розібратися, коли її доцільно використовувати, а коли краще віддати перевагу альтернативним рішенням

Часто, читаючи форуми або статті online-авторів з приводу РИБ в 1С, можна зустріти суперечливі думки від «це найкраще та єдине, що можна використовувати» до «вона безнадійно застаріло». Давайте постараємося розібратися, як справи насправді.

У листопадовому номері за 2016 рік я вже писав про деякі особливості РІБ стосовно конкретного практичного завдання, тому про основи буквально пару слів, і трохи заглибимося в технологічні деталі.

РИБ – технологія розподілених інформаційних баз 1С:Предприятия – не плутати з універсальним обміном, зі схожою технологією, але важливою підтримкою централізованого оновлення змін інформаційних баз. Він складається з наступних функціональних частин (які можуть використовуватись і окремо):

  • Служба реєстрації змін– при включенні починає автоматично реєструвати зміни об'єктів або записів обміну (або інших цілей). У режимі РИБ також використовується для реєстрації змін конфігурації інформаційної бази.
  • Серіалізація об'єктів/записів у XML.Практично будь-який об'єкт 1С:Підприємства штатним чином серіалізується в XML.
  • Механізм підтримки однакової конфігурації всіх вузлів розподіленої інформаційної бази.У режимі РИБ обмін даними між різними вузлами можливий лише якщо вони однакову конфігурацію. Переноситься вона під час обміну автоматично. У кінцевому вузлі потрібно лише ухвалити зміни.
  • Інфраструктура повідомлень під час обміну у розподіленій інформаційній системі – гарантована доставка.Зареєстровані зміни упаковуються у повідомлення та відправляються на кінцевий вузол у пакетах. Видаляються із реєстрації тільки після підтвердження доставки пакета.
  • Інфраструктура рівня прикладних рішень.Звичайно, все вищезгадане не працюватиме без розвинених механізмів на рівні прикладних рішень, частина з яких уже включена до БСП. У рішеннях реалізовано можливість вивантажувати дані за певними правилами, змінювати принципи їх реєстрації, визначати спосіб доставки пакета.

Як бачимо, РИБ у 1С може досить багато. Найчастіше цієї функціональності більш ніж достатньо. Наприклад, на рис. 1 наведена форма вузла інформаційної бази в 1С, де можна бачити можливість завантажити правила реєстрації, і вказати параметри підключення, і переглянути список зареєстрованих до обміну об'єктів.

З опису вище можна дійти невтішного висновку про можливості РИБ 1С як розподіленої системи:

  • Підтримка єдиної конфігурації інформаційної бази (напівавтоматизована).
  • Підтримка відстеження змін.
  • Гарантована доставка.
  • Можливість схеми master-master.
  • Можливість схеми "зірка".
  • Можливість вибіркової фільтрації змін.

Досить непогано – потреби невеликої мережі цілком задовольнить. Але РИБ має певні обмеження, багато в чому пов'язані з архітектурними особливостями платформи 1С, які накладають певні обмеження на використання даної технології:

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

Постараємося тепер порівняти це з якоюсь «просунутою» системою, яка має механізм реплікації.

Найчастіше практично зустрічаються такі ситуації, коли різні підрозділи чи філії територіально розташовуються у різних місцях. При цьому дані, що заносяться до програми у віддалених підрозділах, повинні якось потрапляти до головного офісу, щоб провадився загальний облік.

В даний час дана проблема найчастіше вирішується наданням територіально віддаленим співробітникам віддаленого доступу до загальної бази. Він може бути здійснений за допомогою публікації бази на веб-сервері через віддалений робочий стіл та ін.

Однак, не рідкісні й такі ситуації, коли в територіально віддаленому офісі просто немає інтернету, або він не досить стабільний для роботи в загальній інформаційній базі. Для цього в 1С існує механізм налаштування розподіленої бази.

Простіше кажучи, в головному офісі знаходиться головна база. У віддаленому підрозділі використовується підлегла. Таких підлеглих баз може бути кілька. В результаті така розподілена база поєднується в одну за допомогою синхронізації. Її можна робити як в автоматичному режимі за розкладом, так і вручну.

У цій статті ми розглянемо налаштування розподіленої бази даних для 1С:Бухгалтерія 3.0. Незважаючи на це, інструкція підійде для більшості інших конфігурацій 1С 8.3.

Зверніть увагу, що це необхідні доопрацювання зміни мають проводитися лише у основній основі РИБ. При синхронізації ці зміни передадуть у всі підлеглі основи і набудуть чинності.

Головна інформаційна база

У разі використання розподіленої бази даних основні настройки припадають на головну базу. Виконувати їх потрібно в розділі «Адміністрування», як показано нижче.

У вікні відразу встановіть галку «Синхронізація даних». Внизу вкажіть префікс головної (поточної бази). Він може складатися лише з двох символів. У нашому випадку префіксом буде «БГ», тому що ми маємо на увазі, що ця РІБ 1С «Бухгалтерія головна».

Тепер можна приступити до налаштування самої синхронізації, а саме до вказівки того, з якою базою (або базами) здійснюватиметься обмін даними. Для цього перейдіть за посиланням «Налаштування синхронізації даних». Вона буде доступна для переходу лише при встановленій галці зліва.

У вікні з меню виберемо пункт «Повний…». Він дозволить нам вказати будь-яку інформаційну базу 1С для синхронізації.

У першому вікні підключення підлеглої бази, яка розташована в територіально віддаленому офісі, відзначимо прапором, що підключення буде здійснюватись через локальний або мережевий каталог. У нашому випадку це "D:\DB\InfoBase". Так само заздалегідь перевіримо можливість запису до нього.

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

Коли програма запропонує створити початковий образ, виберіть цю опцію. Ця процедура займе деякий час, після чого збережіть його на комп'ютері з ім'ям «1Cv8.1CD».

Сама синхронізація може виконуватись як автоматично за розкладом, який ви можете налаштувати самостійно, так і вручну. У другому випадку достатньо натиснути на кнопку «Синхронізувати» у зручний для вас час.

Підлеглий вузол РИБ

Кількість вироблених налаштувань підпорядкованої бази значно менше. У тому ж розділі встановіть прапорець «Синхронізація даних» і, перейшовши за відповідним посиланням, буде доступна кнопка «Синхронізувати».

У рамках нашого прикладу до головної бази було додано дві номенклатурні позиції: «Брус» та «Дошка». Після синхронізації вони потрапили до підлеглої бази. Як ви можете побачити на малюнку нижче, їм надався префікс «БГ». Решті двох позицій («Токарний верстат» та «Піддон») присвоєно префікс «БП», оскільки вони були заведені безпосередньо в підпорядкованій базі.

Зверніть увагущо нумерація елементів у нашому випадку наскрізна, але тільки в межах одного і того ж префікса.

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

Насамперед поставимо запитання: чому саме автообмін? Сучасні технології, у поєднанні з недорогим і швидким інтернетом, дозволяють організувати віддалену роботу без будь-яких труднощів. Вибір методів як ніколи широкий: RDP, тонкий і веб-клієнти, об'єднання мереж за допомогою VPN - є над чим задуматися. Однак усі ці способи мають один істотний недолік – сильна залежність від якості каналу зв'язку.

Навіть за ідеальної роботи місцевого провайдера гарантувати 100% доступність каналу зв'язку неможливо. Проблеми у магістрального провайдера, відсутність електропостачання, фізичне пошкодження лінії зв'язку та багато інших факторів роблять це завдання нерозв'язним. У той же час недоступність інформаційної бази на віддаленому складі або роздрібному магазині призводить до відчутних збитків. Ну і нарешті не забуватимемо, що є місця (наприклад промзони на околиці міст) в які підвести якісний канал зв'язку дорого та/або проблематично.

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

РИБ на платформі 8.2 не є чимось принципово новим, являючи собою подальший розвиток УРІБ платформи 7.7, тільки тепер ця технологія стала доступнішою та простішою. На відміну від компоненти УРІБ, яку потрібно було придбати окремо, РІБ є невід'ємною частиною багатьох типових конфігурацій і працює повністю в режимі користувача, дозволяючи обійтися без Конфігуратора навіть на етапі налаштування.

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

Розглянемо практичне завдання: налаштувати автообмін через FTP конфігурації Бухгалтерія підприємства 2.0. Незважаючи на те, що РІБ дозволяє здійснювати обмін з використанням електронної пошти або загальних файлових ресурсів, ми рекомендуємо використовувати саме FTP як найпростіший і найнадійніший спосіб зв'язку. Як налаштувати власний FTP-сервер, ви можете прочитати в , або можна використовувати FTP сервіс будь-якого хостинг провайдера.

Насамперед нам потрібно налаштувати вузли обміну. Для цього запустимо конфігурацію з правами адміністратора та виберемо Операції – Плани обміну.

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

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

Тепер перейдемо Сервіс - Розподілена інформаційна база (РІБ) - Налаштувати вузли РІБ.

У вікні, натисніть кнопку Додатиі настройте новий обмін, вказавши віддалений вузол, тип обміну (через FTP) та параметри підключення до сервера.

Закладка Автоматичний обміндозволяє налаштувати розклад обмінів, обмін за подіями (початок і завершення роботи тощо), дані налаштування виконуються для користувача від імені якого буде здійснюватися обмін, тому переконайтеся в наявності у нього прав для обміну даними.

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

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

На цьому налаштування обміну можна вважати закінченим і розпочинати роботу в розподіленому режимі. Окремо варто зупинитись на оновленні або внесенні змін до конфігурації. Ці дії доступні лише на центральному вузлі, всі внесені зміни будуть автоматично поширені на периферійні вузли під час наступного обміну. Для автоматичного внесення змін потрібно, щоб периферійна база знаходилася в монопольному режимі, інакше потрібно буде запустити Конфігураторта виконати Оновлення конфігурації бази данихвручну.

Інструкція зі створення та налаштування розподілених баз за допомогою компонентів УРБД (УРІБ)

Компонента УРБД (Управління розподіленими базами даних) застосовується обмінюватись інформацією між двома ідентичними базами 1С. Якщо різні конфігурації, то застосовувати її також можна, про це написано в іншій . Для роботи компоненти потрібна наявність файлу DistrDB.dll у папці BIN програми 1С: Підприємство.

Розглянемо дії щодо створення розподілених баз даних. Наприклад, ми маємо робочу базу в каталозі D:\base1. Потрібно зробити її центральною та створити периферійну базу.

1. Створюємо каталог D:\base2 для периферійної бази.

2. У каталогах D:\base1 та D:\base2 створюємо папки CP та PC (використовуємо латинські літери).

3. Запускаємо конфігуратор центральної бази (D: \ base1) і вибираємо Меню - Адміністрація - Розподілена ІБ - Управління.

4. Натискаємо кнопку "Центральна ІБ", у вікні вводимо код і найменування бази. Для коду краще використовувати цифри чи латинські літери. Вводимо, наприклад, 001 та "Центральна база", підтверджуємо натисканням кнопки "ОК".

5. Натискаємо кнопку "Нова периф. ІБ" для створення периферійної бази. Вводимо для неї параметри: 002 та "Периферійна база 1".

6. Курсором виділяємо базу "Периферійна база 1" та натискаємо кнопку «Настр. автообміну». У налаштуваннях змінюємо ручний режим на автоматичний. Будьте уважні, це важливо.

7. Курсором виділяємо базу "Периферійна база 1" та натискаємо кнопку "Вивантажити дані", потім кнопку "ОК". В результаті вивантаження з'явиться файл D:\base1\CP\020.zip.

8. Запускаємо 1С у режимі конфігуратора, додаємо у вікні запуску 1С нову базу "Периферійна база 1", вказуємо для неї раніше створений каталог D:\base2.

9. Вибираємо Меню - Адміністрація - Розподілена ІБ - Управління. На запитання «Інформаційну базу не виявлено. Завантаження даних?» натискаємо кнопку "Так" і вказуємо ім'я файлу "D:\base1\CP\020.zip", натискаємо кнопку "ОК". Після закінчення завантаження процес створення периферійної бази вважатимуться закінченим.

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

Інструкція з обміну між розподіленими базами за допомогою компонентів УРБД (УРІБ)

Розглянемо спрощений приклад, виконуватиме обмін вручну, запускаючи конфігуратор. Можна використовувати пакетний режим конфігуратора, для доставки пакетів обміну можна використовувати пошту, FTP, автоматичне копіювання файлів.

Для виконання обміну необхідно вибирати Меню – Адміністрація – Розподілена ІБ – Автообмін. Якщо обмін автоматичний (див. пункт 6 попередньої інструкції), то все в нас вийде.

1. Отже, змінюємо чи створюємо якісь об'єкти, які мігрують у периферійну базу. Правила міграції об'єктів задаються на вкладці "Міграція" у властивостях об'єкта (див. дерево об'єктів у конфігураторі).

2. Запускаємо конфігуратор центральної бази, вибираємо Меню - Адміністрація - Розподілена ІБ - Автообмін, натискаємо кнопку "Виконати".

3. Отриманий файл D:\base1\CP\020.zip переміщуємо до папки D:\base2\CP\

4. Змінюємо якісь об'єкти периферійної бази даних. Бажано не ті, які змінювалися раніше у центральній основі, т.к. центральна база має пріоритет змін об'єктів під час обміну.

5. Запускаємо конфігуратор периферійної бази, вибираємо Меню - Адміністрація - Розподілена ІБ - Автообмін, натискаємо кнопку "Виконати".

6. В результаті автообміну у нас мають з'явитися зміни, що надійшли із центральної бази даних. Також у нас повинен з'явитися файл для передачі в центральну базу D:base2PC021.zip

7. Копіюємо файл D:\base2\PC\021.zip в папку D:\base1\PC

8. Повторюємо пункт 2. В результаті в центральній базі з'являться зміни, що надійшли з периферійної бази.

Отже, загальний принцип обміну: поперемінне виконання автообміну з одночасним переміщенням файлів (пакетів обміну) з папки PC однієї бази до папки PC іншої бази та з папки CP однієї бази до папки CP іншої бази.

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



Сподобалася стаття? Поділіться їй