1с універсальний обмін даними у форматі xml програмно
Досить часто у роботі великих підприємств та торгових мереж виникає необхідність обміну даними між базами. Кожен програміст та адміністратор по-різному вирішує це питання. Хтось пише вивантаження завантаження через проміжні файли таблиць, хтось використовує режим COM з'єднання для підключення до бази джерела. Проте, останнім часом все більшої популярності набирає власний 1С-овський механізм під назвою «Універсальний обмін даними у форматі XML».
Зовнішній вигляд обробки
У Повному інтерфейсі відкрити обробку можна за адресою Сервіс->Інші обміни даними->Універсальний обмін даними у форматі XML.
Форма обробки (Рис.1) містить чотири закладки:
- Вивантаження даних;
- Завантаження даних;
- Додаткові опції;
- Видалення даних.
Інтерфейс кожної із закладок сильно завантажений елементами, тому вимагає окремого розгляду.
Вивантаження даних
У верхній частині закладки знаходиться поле вибору файлу правил обміну. Для нестандартних баз та обмінів файл обміну доведеться створювати самому.
На наступному рядку форми знаходяться два перемикачі:
- Вивантаження у файл обміну (Рис.2);
- Підключення та вивантаження даних в ІБ (рис.3).
Як очевидно з наведених вище малюнків, залежно від перемикача відрізняється зовнішній вигляд форми. Якщо вибрано файловий варіант обміну, користувачеві пропонується вибрати місце знаходження файлу, куди буде виконано вивантаження та можливість його стиснення для економії місця та захисту паролем.
Варіант прямого підключення до бази-приймача підтримує файловий і клієнт-серверний варіант роботи. У цьому випадку необхідно буде прописати адресу бази, заповнити поля «Користувач» та «Пароль».Перш ніж розпочати обмін даними, бажано протестувати підключення.
Таблична частина, розташована нижче, дозволяє налаштувати відбори та інші параметри вивантаження.
Для налагодження алгоритмів та виправлення помилок можна скористатися вбудованим у обробку обміну механізмом. Його активація проводиться установкою відповідного прапорця у нижній частині форми. Натискання кнопки «Налаштування налагодження…» викликає вікно (Мал. 4).
Відмінною рисою цієї форми є інформативна довідка у лівій частині макета, яка описує кожен із трьох можливих режимів налагодження. Як файл зовнішньої обробки з модулем може бути будь-який файл формату epf.
Натискання на кнопку «Готово» перевіряє правильність та повноту заповнених даних.
Завантаження даних
На відміну від «Вивантаження», на цій закладці (Рис.5) немає табличної частини, зате набагато більше прапорців, що дозволяють регулювати параметри запису нових та змінених об'єктів.
Насамперед необхідно вибрати файл, який стане джерелом інформації. Це можна зробити в полі введення "Ім'я файлу для завантаження". Якщо дані вивантажувалися до архіву, захищеного паролем, його необхідно буде ввести у відповідне поле.
Відповідні прапорці дозволяють налаштувати:
- Транзакцію під час запису об'єктів (це іноді прискорює процес);
- Завантаження даних у режимі обміну (у разі всі платформні перевірки, крім перевірки під час проведення документів, ігноруватимуться під час запису);
- Перезапис змінених елементів;
- Встановлення позначки видалення для елементів, що завантажуються;
- Режим запису нових даних у регістр (або однією, чи набором);
- Обрізання незначних символів (пробілів та табуляцій) для рядкових значень.
Додаткові налаштування
Як відомо з назви закладки, вона містить інструменти, використання яких дозволяє точніше налаштувати процес обміну. Зокрема:
Ці та інші функції включаються виставленням відповідних прапорців на формі (рис.6).
Видалення даних
Ця закладка використовується лише розробниками як налагодження. Дозволяє видаляти з бази непотрібні об'єкти.
Коротко про налаштування правил обміну
Використання стандартного оброблювача дуже спрощує життя програмістам. У той же час, одним із найскладніших моментів для того, хто вперше зіткнувся з «Універсальним обміном даними у форматі XML» є питання: «Де взяти файл правил обміну?».
Насамперед, для самостійного виготовлення правил обміну, необхідна спеціальна конфігурація, що зветься «Конвертація даних». У її складі є кілька цікавих файлів, які дозволяють налаштувати практично будь-який обмін між різними базами 1С 7 та 8 версій:
- epf – необхідний вивантаження структури метаданих для баз 1С 8;
- epf – якщо конфігурація 1С 8 самописна чи стандартна, у ній може бути обробки «Універсальний обмін даними», цей файл і є ця обробка;
- ert -файл містить код для вивантаження структури метаданих конфігурацій 1С версій 7.7;
- ert – файл обробки вивантаження-завантаження даних для сімки.
Запустивши відповідні обробки необхідно вивантажити структури метаданих для вихідної бази та бази приймача. Потім у конфігурації «Конвертація» необхідно внести інформацію про конфігурації джерела та приймача у довідник «Конфігурації».
Потім у довіднику конвертації створюється елемент, що містить інформацію про напрям обміну даними. Для нього можна налаштувати правила обміну.
Що необхідно для автоматичного обміну даними без внесення змін до конфігурації:
1) Обробка "Універсальний обмін даними у форматі XML", що входить до складу більшості типових конфігурацій. Якщо її там не виявилося, її легко знайти на диску ІТС або на просторах інтернету. У конфігурації вона називається "УніверсальнийОбмінДанимиXML"
2) Правила обміну даними. Створюються за допомогою "Конвертування даних". Роботу з якою вам доведеться освоїти. Є й відеокурси та навчальні посібники. Наприклад: http://programmist1s.ru/wp-content/uploads/2013/06/Konvertatsiya_dannyih._Metodika_rabotyi_i_primeryi.pdf
3) Зовнішня обробка, що містить процедури завантаження/розвантаження. Займемося її створенням:
Створюється зовнішня обробка в модулі об'єкта якої буде наведений нижче текст (підставляєте свої дані по базах і користувачам). Бажано створити окремого користувача з повними правами обмінюватись даними. Назвемо обробку, наприклад, "ОбмінДаними. epf".
4) Bat файл вивантаження, який буде запускати 1с і зовнішню обробку з параметром запуску під користувачем, який призначений для обміну даними. Файл необхідно створити, наприклад, у notepad++ з кодуванням OEM(MS-Dos), інакше працювати не буде. Файл назвемо, наприклад "BatVygruz.bat". Текст буде наступним:
Якщо база файлова:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /F"C:\Inbox\КБФ\1Cv8_Base_8.1\Зевс 83 БП3\Зевс 83 БП3" /N"РоботОбмінДаними" /P"pass " /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\ОлегА\ОбмінДаними.epf" /C"Вивантаження"
Пояснення:
а) C:\Program Files (x86)\1cv82\common\1cestart.exe - ваш шлях до стартера 1С
б) C:\Inbox\КБФ\1Cv8_Base_8.1\Зевс 83 БП3\Зевс 83 БП3 - ваш шлях до файлової бази, з якої вивантажуватимемо дані
в) РоботОбмінДаними - Ім'я користувача, під яким запуску 1С для обміну даними
г) pass - пароль користувача
д) /DisableStartupMessages - закриваємо спливаючі вікна при старті 1С
е) /RunModeOrdinaryApplication - запуск у звичайному режимі товстий клієнт
ж) C:\Inbox\ОлегА\ОбмінДаними.epf - шлях до нашої обробки, яка запуститься при старті
з) Вивантаження – передаємо параметр запуску 1С, повідомляє, що треба вивантажувати дані
Якщо база серверна:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /S"Server1C/DataBase" /N"РоботОбмінДаними" /P"pass" /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\ОлегА\ ОбмінДаними.epf" /C"Вивантаження"
Пояснення:
а) C:\Program Files (x86)\1cv82\common\1cestart.exe - ваш шлях до стартера 1С
б) Server1C/DataBase - ваш сервер на якому знаходиться база та ім'я самої бази з якої вивантажуємо дані.
Інші параметри аналогічні файловому варіанту bat файлу
5) Bat файл завантаження (за потреби). Якщо ви вирішили вивантажувати дані у файл, а не безпосередньо до бази. То цей пункт нам також знадобиться (зазвичай необхідний).
Створення Bat файлу завантаження аналогічно файлу вивантаження, але відрізняється лише параметр запуску замість "Вивантаження", ми ставимо "Завантаження"
6) Задати розклад запуску наших Bat файлів завантаження/розвантаження на сервері. Для цього треба зайти в адміністрування панелі управління на сервері і в планувальнику завдань створити нове завдання запуску файлу вивантаження на 23 години щодня і завдання на завантаження із зазначенням Bat файлу завантаження (якщо треба) на 04 години, наприклад.
Підсистема «Обмін даними» бібліотеки стандартних підсистем містить 4 варіанти (технології) обміну інформацією між різними інформаційними базами:
- розподілені інформаційні бази (РІБ);
- обмін даними через універсальний формат;
- обмін даними за правилами обміну (правила обміну створюються з допомогою «Конвертація даних», редакція 2.1);
- обмін даними без правил обміну.
Мал. 1 Останні релізи БСП 2.3
Опис формату EnterpriseData
Що таке формат EnterpriseData?
Це формат, що дозволяє описати об'єкт інформаційної бази (контрагента, накладну тощо) або повідомити факт видалення цього об'єкта. Очікується, що конфігурація, яка отримала файл у форматі EnterpriseData, відреагує відповідним чином - створить у себе нові об'єкти та видалить ті, які у файлі позначені як віддалені. Він призначений обмінюватись інформацією між конфігураціями УТ, РТ, УНФ, БП. Також формат може використовуватися для обміну інформацією з будь-якими іншими інформаційними системами: він не залежить від особливостей власного програмного забезпечення або структур інформаційних баз, які беруть участь в обміні та не містять явних обмежень використання.
Версія формату EnterpriseData
Мал. 3 Структура пакета XDTOExchangeMessage
Як обмінюватись даними у форматі EnterpriseData?
- через виділений файловий каталог
- через каталог FTP,
- через веб-сервіс, розгорнутий за інформаційної бази. Файл даних передається як параметр веб-методів.
При обміні з використанням планів обміну конфігурації в ході синхронізації передають лише інформацію про зміни, що відбулися з часу останньої синхронізації (щоб мінімізувати обсяг інформації, що передається).При першій синхронізації конфігурація вивантажить усі об'єкти у форматі EnterpriseData у XML-файл (оскільки всі вони є «новими» для сторонньої програми).
При передачі даних від зовнішньої програми конфігурацію картина змінюється на зворотну. Додаток повинен заповнити секцію відповідним чином, а до секції помістити об'єкти для синхронізації у форматі EnterpriseData.
Детальніше про обмін даними з прикладними рішеннями на платформі «1С:Підприємство» у форматі EnterpriseData можна подивитися тут
Процедури та функції, що повністю описують правила вивантаження даних з інформаційної бази у формат обміну та правила завантаження даних з формату обміну в інформаційну базу, розробляються у загальному модулі – модулі менеджера обміну через універсальний формат.
Мал. 4 Структура модуля менеджера обміну через універсальний формат
Модуль створюється автоматично з допомогою конфігурації «Конвертація даних», редакція 3.0, з урахуванням налаштованих правил обміну чи вручну конфігураторі.
Модуль складається з кількох великих розділів, кожен із яких містить свою групу процедур та функцій.
- Коментар. Перший рядок модуля містить коментар із найменуванням конвертації. Цей рядок необхідний для ідентифікації модуля під час використання команди Завантаження обробників у програмі «Конвертація даних», редакція 3.0, наприклад. // Конвертація УП2.2.3 від 01.06.2017 19:51:50
- Процедури конвертації. Містить певні процедури, які виконуються на різних етапах синхронізації даних: перед конвертацією, після конвертації перед відкладеним заповненням.
- Правила обробки даних (ПІД). Містить процедури та функції, які описують правила обробки даних.
- Правила конвертації об'єктів (ВКО). Містить процедури та функції, які описують правила конвертації об'єктів, а також правила конвертації властивостей даних об'єктів.
- Правила конвертації наперед визначених даних (ПКПД). Містить процедуру, яка заповнює правила конвертації наперед визначених даних.
- Алгоритми. Містить довільні алгоритми, що викликаються з інших правил (ПІД або ПКО).
- Параметри. Містить логіку заповнення параметрів конвертації.
- Загальне призначення. Містить процедури та функції, які широко використовуються у правилах та алгоритмах.
Нижче наведено параметри процедур та функцій, які використовуються в кількох видах процедур модуля менеджера.
КомпонентиОбміну. Тип – структура. Містить параметри та правила обміну, ініціалізовані у межах виконання сеансу обміну.
Напрямок Обміну. Тип - Рядок. Або «Надсилання», або «Отримання».
Дані ІБ. Тип - ДовідникОбъект чи ДокументОбъект.
Процедури, пов'язані з подіями конвертації
Передбачено три наперед визначені процедури, які викликаються в процесі конвертації:
- Перед Конвертацією. Викликається перед синхронізацією даних. Зазвичай у цій процедурі розміщується логіка ініціалізації різних параметрів конвертації, заповнення значень за промовчанням і т. д. Параметри: Компоненти Обміну.
- ПісляКонвертації. Викликається після синхронізації даних, але до виконання відкладеного заповнення. Параметри: Компоненти Обміну.
- ПередВідкладеним Заповненням. Викликається перед виконанням відкладеного заповнення. Тут може бути розташована логіка сортування чи коригування таблиці об'єктів, що підлягають відкладеному заповненню. Параметри: Компоненти Обміну.
Заповнити Правила Обробки Даних. Експортна процедура, в якій міститься логіка заповнення правил обробки даних.Містить виклики інших процедур, які додають до таблиці правил правило обробки конкретного об'єкта (див. нижче процедури ДодатиПІД). Параметри: Напрям Обміну, Правила Обробки Даних (таблиця значень, ініціалізована в рамках виконання сеансу обміну).
ДодатиПІД_. Набір процедур, що наповнюють таблицю ПІД правилами для конкретних об'єктів. Кількість таких процедур відповідає кількості ПІД, передбачених для цієї конвертації у програмі «Конвертація даних», редакція 3.0. Параметри: Правила обробки даних (таблиця значень, ініціалізована в рамках виконання сеансу обміну).
ПІД__ПріОбробці. Процедура містить текст обробника При обробці для конкретного ПІД. Обробник призначений реалізації логіки конвертації лише на рівні об'єктів. Наприклад, призначити конкретному об'єкту певний ПКО залежно від вмісту об'єкта. Параметри:
- ДаніІБлибо ДаніXDTO (залежно від напрямку обміну):
- при відправці - об'єкт (Довідник Об'єкт, Документ Об'єкт);
- під час отримання – структуру з описом об'єкта XDTO.
- Використання ПКО. Тип -Структура. Ключ містить рядок з ім'ям ПКО, а значення типу Бульово (Істина – ПКО використовується, Брехня – ПКО не використовується).
- КомпонентиОбміну.
ПІД__ВибіркаДаних. Функція містить текст обробника при вивантаженні. Обробник призначений для реалізації довільного алгоритму вибірки об'єктів, що підлягають розвантаженню. Значення, що повертається: масив об'єктів, що підлягають вивантаженню. У масиві можуть бути як посилання на об'єкти інформаційної бази, так і структура з даними для вивантаження. Параметри: Компоненти Обміну.
ЗаповнитиПравилаКонвертаціїОб'єктів.Експортна процедура, в якій міститься логіка заповнення правил конвертації об'єктів. Містить виклики інших процедур, які додають до таблиці правил правило конвертації конкретного об'єкта (див. нижче процедури Додати ПКО). Параметри: Напрямок Обміну, Правила Конвертації (таблиця значень, ініціалізована в рамках сеансу обміну).
Додати ПКО_. Набір процедур, що наповнюють таблицю ПКО правилами для конкретних об'єктів. Кількість таких процедур відповідає кількості ПКО, передбачених для цієї конвертації у програмі «Конвертація даних», редакція 3.0. Параметри: Правила Конвертації (таблиця значень, ініціалізована у межах виконання сеансу обміну).
ПКО__ПріОтправкеДаних. Процедура містить текст оброблювача Підсилання для конкретного ПКО. Обробник використовується при розвантаженні даних. Призначений для реалізації логіки конвертації даних, що містяться в об'єкті інформаційної бази, в описі XDTO. Параметри:
- Дані ІБ. Тип - Довідник Об'єкт, Документ Об'єкт. Об'єкт інформаційної бази, що обробляється.
- Дані XDTO. Тип -Структура. Призначений для доступу до даних XDTO.
- КомпонентиОбміну.
- Стек Вивантаження. Тип - Масив. Містить посилання на об'єкти, що вивантажуються з урахуванням вкладеності.
ПКО__ПриКонвертаціїДанихXDTO. Процедура містить текст обробника ПриконвертаціїДанихXDTO для конкретного ПКО. Обробник використовується для завантаження даних. Призначений для реалізації довільної логіки конвертації даних XDTO. Параметри:
- Дані XDTO. Тип -Структура. Властивості об'єкта XDTO, що пройшли попередню обробку для спрощення доступу до них.
- ОтриманіДані. Тип - Довідник Об'єкт, ДокументОб'єкт.Об'єкт інформаційної бази сформований шляхом конвертації даних XDTO. Не записано до інформаційної бази.
- КомпонентиОбміну.
ПКО__ПередЗаписомОтриманихДаних. Процедура містить текст обробника ПередЗаписом Отриманих Даних для конкретного ПКО. Обробник використовується для завантаження даних. Призначена для реалізації додаткової логіки, яку слід виконати перед записом об'єкта в інформаційну базу. Наприклад, чи потрібно завантажити зміни до існуючих даних ІБ, чи слід завантажити їх як нові дані. Параметри:
- ОтриманіДані. Тип - Довідник Об'єкт, ДокументОб'єкт. Елемент даних сформований шляхом конвертації даних XDTO.
Записується у разі, якщо ці дані для інформаційної бази є новими (параметр Дані ІБ містить значення Невизначено).
В іншому випадку Отримані Дані замінюють собою Дані ІБ (всі властивості з Отримані Дані переносяться в Дані ІБ).
Якщо стандартне заміщення даних ІБ отриманими даними не потрібне, слід прописати свою логіку перенесення, після чого встановити параметр ОтриманіДані значення Невизначено:
- Дані ІБ. Тип - Довідник Об'єкт, ДокументОб'єкт. Елемент даних інформаційної бази, що відповідає отриманим даним. Якщо не знайдено відповідних даних, містить Невизначено.
- КонвертаціяВластивостей. Тип -Таблиця значень. Містить правила конвертації властивостей поточного об'єкта, ініціалізовані у межах виконання сеансу обміну.
- КомпонентиОбміну.
ЗаповнитиПравилаКонвертаціїЗумовленихДаних. Експортна процедура, в якій міститься логіка заповнення правил конвертації наперед визначених даних. Параметри: Напрям Обміну, Правила Конвертації (таблиця значень, ініціалізована в рамках виконання сеансу обміну).
У програмі «Конвертація даних», редакція 3.0 є можливість створювати довільні алгоритми, що викликаються з обробників ПІД та ПКДД. Найменування, параметри та вміст алгоритмів визначаються при розробці правил.
ЗаповнитиПараметриКонвертації. Експортна процедура, де відбувається заповнення структури з параметрами конвертації. Параметри: ПараметриКонвертації (тип – Структура).
Процедури та функції загального призначення
ВиконатиПроцедуруМодуляМенеджера. Параметри: Ім'яПроцедури (рядок), Параметри (структура). Експортна процедура, яка призначена для виклику неекспортної процедури модуля, ім'я та параметри якої отримано на вхід. Дозволяє здійснити виклик процедури або функції рядка без використання методу Виконати.
ВиконатиФункціюМодуляМенеджера. Параметри: Ім'яПроцедури (рядок), Параметри (структура). Функція, призначення аналогічно ВиконатиПроцедуруМодуляМенеджера. Відмінність у цьому, що вона викликає функцію і повертає її значення.
Формування XML-файлу. Просте вивантаження для сторонньої програми
В організації облік може вести не тільки у рішеннях на платформі 1С:Підприємство, а й в інших програмних комплексах (Галактика, Вітрило, SAP та інше). У цьому виникають завдання інтеграції двох додатків.
Наприклад, у деякій програмі (назвемо його "X") потрібно прочитати список документів конфігурації. Про практичну користь вирішення подібного завдання говорити не будемо, зазначу лише, що найбільш зручним та універсальним способом у такій ситуації буде вивантаження списку документів у форматі XML.
Обмін із використанням цього формату є універсальним, оскільки з ним можуть працювати більшість програм.Розглянемо як можна з 1С:Підприємства вивантажити список документів конфігурації у XML-файл.
Вивантаження в XML
І так перейдемо до головного. Нам потрібно обійти список метаданих документів та сформувати список у XML-файлі. На наступному скріншоті представлений алгоритм формування файлу XML:
Кожен створений елемент має бути правильно завершений. Після виконання "ЗаписатиПочатокЕлементу()" обов'язково має бути виконаний метод "ЗаписатиКінецьЕлементу", інакше структура XML-файлу буде некоректною.
Загальний шаблон створення XML-файлів є наступною послідовністю:
За допомогою цих п'яти кроків створюється практично будь-який файл XML.
У нашому прикладі створений файл перетворюється на двійкові дані і повертається в місце виклику функції "Створити XML". Далі файл може бути записаний у файлову систему.
Приклад вивантаженого файлу Ви могли бачити на скріншоті вище.
Інший додаток
Програма читає створений файл та виводить документи у вигляді списку:
Можете спробувати самі, програма доступна для завантаження за посиланням наприкінці статті.
Універсальність
Формат XML використовується у більшості конфігурації обміну даними між прикладними рішеннями на платформі 1С:Підприємство. Іншим часто використовуваним способом обміну є підключення через з'єднання COM. XML-дозволяє виконувати обмін практично з будь-якими додатками, чим і заслужив називатися універсальним.
Обмін даними
Механізми обміну даними дозволяють створювати територіально розподілені інформаційні системи, що обмінюються даними в офф-лайн режимі, без постійного з'єднання.З допомогою цих механізмів можна здійснювати інтеграцію як між різними інформаційними базами «1С:Підприємства 8», а й будувати складні гетерогенні інформаційні системи, які включають, поруч із рішеннями на платформі «1С:Підприємство 8», ще й зовнішні додатки.
- Механізм розподілених інформаційних баз призначений для обміну даними лише з ідентичними конфігураціями «1С:Підприємства 8» та жорстко регламентує структуру створюваної системи. Він є аналогом компоненти «Управління розподіленими інформаційними базами», що існує в технологічній платформі «1С:Підприємства 7.7», проте суттєво перевершує цей механізм за гнучкістю налаштування та різноманітністю підтримуваних схем обміну. Докладніше…
- Універсальний механізм обміну даними, навпаки, дозволяє створювати довільні розподілені системи та практично не накладає жодних обмежень на структуру створюваної системи. Докладніше…
Обидва ці механізми використовують ряд засобів технологічної платформи, які розробник може застосовувати як окремо, так і в різних комбінаціях, залежно від конкретної задачі, що розв'язується. Такий підхід дозволяє забезпечити гнучкість механізмів обміну та їх настроюваність на вирішення якомога більшого кола завдань.
До складу засобів платформи, що використовуються для побудови схем обміну даними, входять:- Плани обміну — ці об'єкти конфігурації дозволяють описувати перелік вузлів розподіленої інформаційної системи, з якою здійснюватиметься обмін даними, і задаватиме склад даних, які братимуть участь у обміні. Докладніше…
- Засоби XML-серіалізації служать для представлення даних "1С:Підприємства 8" різних типів у вигляді послідовності даних XML, і навпаки. Докладніше…
- Засоби читання/запису XML-документів дозволяють працювати з даними формату XML на базовому рівні, без прив'язки до об'єктів «1С:Підприємства 8». Докладніше…
Важливою якістю даного набору механізмів є те, що він забезпечує високий рівень готовності системи до роботи у розподіленому середовищі – організація обміну практично не потребує додаткових витрат на розробку. Потрібно просто встановити в інтерактивному режимі склад даних, що беруть участь в обміні, а механізм забезпечить формування повідомлень та їх завантаження. При цьому платформа автоматично організує обмін тільки зміненою інформацією, відстежує отримання повідомлень, визначає необхідність повторного відправлення даних, дозволяє колізії та перевіряє цілісність інформації, що завантажується.
Гнучкі можливості налаштування дозволяють сформувати практично будь-яку топологію схеми вузлів обміну (зірка, сніжинка, без центрального вузла).
Склад даних, що беруть участь в обміні, та правила вирішення колізій можуть задаватися довільно. При цьому механізми обміну з одного боку мінімізують обсяг даних, що передаються (пересилаються тільки змінені дані), а з іншого — гарантують стійкість до втрати повідомлень. Іншими словами, система здатна функціонувати як за умов гарантованої доставки повідомлень, так і без такої.
Універсальний механізм обміну даними
Універсальний механізм обміну даними призначений як для створення територіально розподілених систем на основі 1С:Підприємства 8, так і для організації обміну даними з іншими інформаційними системами, не заснованими на 1С:Підприємстві 8.
Цей механізм дозволяє переносити лише дані 1С:Підприємства; перенесення конфігурації та адміністративної інформації 1С:Підприємства 8 за допомогою цього механізму неможливе.
Можливості
- обмін даними може бути реалізований як з інформаційними базами 1С:Підприємства, так і з іншими інформаційними системами;
- організація різних стратегій обміну повідомленнями;
- реалізація різних способів вирішення колізій за одночасної зміни даних у різних вузлах розподіленої системи;
- реалізація відновлення обміну даними у випадках, як відновлення інформаційних баз із резервних копії тощо.
Особливості
- як формат обміну використовуються XML документи;
- при обміні даними між інформаційними базами 1С:Підприємства 8 не накладається обмежень на ідентичність конфігурації та структури конкретних об'єктів;
- в одній конфігурації можна створити кілька незалежних схем обміну з різними інформаційними системами;
- при організації схеми обміну не накладається обмежень структуру розподіленої системи. Може бути організована як класична структура типу «зірка», і складніші багаторівневі структури типу «сніжинка» та інші;
- розробнику прикладного рішення надається можливість гнучкого управління складом обміну, як з точки зору структури даних, що передаються, так і з точки зору складу інформації, що передається в конкретні вузли обміну;
- об'єкт бази даних спочатку створюється одному з вузлів обміну. Склад інформації, що передається, може регулюватися в залежності від вмісту даних, і не залежить від місця початкового введення інформації.
Складові частини
Універсальний механізм обміну даними є жорстким рішенням. Його робота реалізується набором засобів технологічної платформи 1С:Підприємства 8, які можуть використовуватися в прикладних рішеннях різних комбінаціях.
- План обміну
Об'єкти конфігурації План обміну є центром, навколо якого групуються інші засоби обміну даними. З допомогою цих об'єктів описується набір вузлів розподіленої системи та склад даних, якими передбачається обмінюватися у межах цього плану обміну. Докладніше…
Крім цього, плани обміну реалізують роботу двох важливих механізмів, задіяних під час обміну даними:- Служба реєстрації змін
Дозволяє отримувати інформацію про те, які елементи даних були змінені, і який вузол обміну їх необхідно передати. Докладніше… - Інфраструктура повідомлень
Перенесення даних між вузлами розподіленої системи здійснюється за допомогою повідомлень, які підтримуються інфраструктурою повідомлень. Кожне повідомлення відноситься до певного плану обміну, має певний вузол-відправник, вузол-одержувач та цілий номер. Докладніше…
Автори: Є.Ю. Кришталева
- Служба реєстрації змін
