Де 8 3 обмін даними. Обмін через універсальний формат. Налаштування важливих моментів в обміні даними між УТ та БП

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

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

Обмін даними в середовищі 1С дозволяє:

  • Виключити подвійне введення документів;
  • Автоматизувати суміжні бізнес-процеси;
  • Оптимізувати взаємодію між розподіленими підрозділами;
  • Оперативно актуалізувати дані для роботи спеціалістів різних відділів;
  • «Розмежувати» різні види обліку.

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

Якщо уявляти стандартний процесреалізації первинного обміну даними, коли хоча б його об'єктів – продукт 1С, можна виділити такі этапы:

  • Узгодження складу обміну;
  • визначення транспорту (протоколів обміну);
  • встановлення правил;
  • Складання розкладу.

Виявлення складу обміну 1С

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

*Наприклад, при інтеграції «WA: Фінансист» – рішення для ведення фінансового обліку та управління процесами казначейства, розробленого на базі «1С:Підприємство», експерти WiseAdvice рекомендують саме його як майстер-систему. Це пов'язано з наявністю інструментів контролю за дотриманням правил заявочної політики, відповідно, й у забезпечення ефективності роботи рішення.

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

На цьому ж етапі залежно від парку наявних систем та структури підприємства визначаються з форматом обміну:

Розподілена інформаційна база

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

Універсальний обмінданими в 1С

  • Механізм, що дозволяє налаштувати обмін баз 1С, як із змінами на платформі «1С:Підприємство», і з системами сторонньої розробки. Обмін здійснюється за допомогою переведення даних в універсальний формат xml відповідно до «Планами обміну».

EnterpriseData

  • Нова розробка фірми 1С, призначена для реалізації обміну даними у форматі XML між продуктами, створеними на платформі «1С:Підприємство», з будь-якими системами автоматизації. Застосування EnterpriseData полегшує доопрацювання, пов'язані з обміном. Раніше при включенні до системи нової конфігурації була потрібна реалізація механізму імпорту та експорту даних, як для неї, так і для вже наявних систем. Тепер системи, що підтримують EnterpriseData, не потребують доробок, маючи лише одну точку «входу-виходу».

Визначення транспорту (протоколів обміну)

Для системи на платформі «1С:Підприємство 8» передбачено широкий спектр можливостей для організації обміну з будь-якими інформаційними ресурсамиза допомогою загальноприйнятих універсальних стандартів (xml, текстові файли, Excel, ADO-з'єднання тощо). Тому щодо транспорту для даних обміну слід відштовхуватися від можливостей бази даних сторонньої системи.

Синхронізація довідників

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

*На цьому етапі може знадобитися проведення робіт з нормалізації НСІ на стороні джерела даних. Залежно від стану довідників та їх обсягу, процес зіставлення елементів, розпізнавання, виявлення помилок і дублів, а також заповнення полів, що відсутні, і призначення полів синхронізації, може вимагати роботи цілої групи експертів, як з боку інтегратора (власника методики нормалізації НСІ), так і з боку замовника.

Встановлення правил

Можливість відображення даних систем-джерел у приймачах залежить від правильно заданих правил обміну. Правила, представлені у форматі XML, регулюють відповідність ключових реквізитів об'єктів джерела-приймача. Рішення «1С:Конвертація даних» призначене для автоматизації створення правил реалізації як одноразового обміну, і постійного.

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

Будь-яка зміна даних, занесених до Плану обміну, фіксується і отримує ознаку «зміненості». Доки змінені дані не будуть відповідати один одному у вузлах приймача-передавача, ознака скинутий не буде, і система розсилатиме контрольні повідомлення в обидва вузли. Після вивантаження даних та підтвердження їх повної відповідності в обох системах, ознака скидається.

Розклад обміну в 1С

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

Розглянувши стандартний процес реалізації обміну, звернемо увагу на фактори, які вимагатимуть доробок на різних етапах:

  • Чи не типові, сильно допрацьовані зміни БД;
  • Різні версії платформи "1С:Підприємство";
  • Давно не оновлювалися, актуальні версіїконфігурації;
  • Об'єкти обміну, що раніше зазнали доопрацювань;
  • Необхідність у нестандартних правилах обміну;
  • Набір і склад реквізитів у наявних довідниках.

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

У підменю «Сервіс» вибираємо «Обмін даними з продуктами на платформі…» (вибір прямого обміну з «Роздрібом» часто загрожує помилками на рівні COM-об'єктів). Звернімо увагу на службове повідомлення « Ця можливістьнедоступна».


Щоб вирішити цю проблему, необхідно вибрати "Налаштування обміну даними"


…і проставити галочку. Далі повідомлення про помилку ігноруємо.


У налаштуваннях синхронізації даних вибираємо «Створити обмін із «Роздріб»…



Перед налаштуванням параметрів підключення через локальний або мережевий каталог слід переконатися, що на диску під каталог є місце. Хоча, як правило, він не займає більше 30-50 Мб, у виняткових випадках під нього може знадобитися до 600 Мб. Створити потрібний каталог можна прямо з конфігуратора.



При підключенні через мережевий каталог пропозиції налаштувати підключення за допомогою FTP-адреси та електронній поштіігноруємо, натискаючи "Далі".


У налаштуваннях вручну проставляємо префікси - умовні позначення баз (як правило, БП, УПП, РО), задаємо правила та початкову дату розвантаження даних. Префікс буде вказуватися в назві документів для позначення бази, в якій вони були створені. Якщо правила вивантаження не будуть редаговані, дані за промовчанням будуть вивантажуватись за всіма наявними параметрами.



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


Для автоматизації процесу обміну необхідно настроїти розклад.


Меню "Роздріб".


Проставляємо галочку та вибираємо «Синхронізацію».


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




Завантажуємо файл з налаштуваннями, створений в УПП.


Проставляємо галочку, адресу система підхоплює автоматично.





Діємо так само, як і в УПП.









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



У разі помилки у синхронізації «Докладно…» буде замінено на «Ніколи…».


"Докладно..." відкриває журнал реєстрації з уточненою інформацією щодо обміну.


Готово.

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

Обробники та алгоритми пишуться мовою тієї платформи, де вони виконуватимуться під час обміну.

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

Якщо вивантаження чи завантаження відбувається на платформі «1С: Підприємство 8», то код обробників не інтегрується в код обробки обміну даними, а вивантажується у файл правил обміну. У процесі обміну даними код обробників або алгоритмів береться з файлу правил та виконується безпосередньо у контексті оператора «Виконати». Для налагодження коду обробників та алгоритмів можна скористатися обробкою «Універсальний обмін даними XML».

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

Цей механізм дозволяє переносити лише дані 1С:Підприємства; перенесення зміни та адміністративної інформації 1С:Підприємства 8 з допомогою цього механізму неможливий.

Можливості

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

Особливості

  • як формат обміну використовуються XML документи;
  • при обміні даними між інформаційними базами 1С:Підприємства 8 не накладається обмежень на ідентичність конфігурації та структури конкретних об'єктів;
  • в одній конфігурації може бути створено кілька незалежних схем обміну з різними інформаційними системами;
  • при організації схеми обміну не накладається обмежень структуру розподіленої системи. Може бути організована як класична структура типу «зірка», і складніші багаторівневі структури типу «сніжинка» та інші;
  • розробнику прикладного рішення надається можливість гнучкого управління складом обміну, як з точки зору структури даних, що передаються, так і з точки зору складу переданої інформації в конкретні вузли обміну;
  • об'єкт бази даних спочатку створюється одному з вузлів обміну. Склад інформації, що передається, може регулюватися залежно від вмісту даних, і не залежить від місця початкового введення інформації.

Складові частини

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

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

Що необхідно для автоматичного обміну даними без внесення змін до конфігурації:
1) Обробка "Універсальний обмін даними у форматі XML", яка входить до складу більшості типових конфігурацій. Якщо її там не виявилося, її легко знайти на диску ІТС або на просторах інтернету. У конфігурації вона називається "УніверсальнийОбмінДанимиXML"
2) Правила обміну даними.Створюються за допомогою "Конвертації даних". Роботу з якою вам доведеться освоїти. Є й відеокурси та навчальні посібники. Наприклад: http://programmist1s.ru/wp-content/uploads/2013/06/Konvertatsiya_dannyih._Metodika_rabotyi_i_primeryi.pdf
3) Зовнішня обробка, що містить процедури завантаження/розвантаження. Займемося її створенням:
Створюється зовнішня обробка в модулі об'єкта якої буде наведений нижче текст (підставляєте свої дані по базах і користувачам). Бажано створити окремого користувача з повними правами обмінюватись даними. Назвемо обробку, наприклад, "ОбмінДаними. epf".

Якщо ПараметрЗапуску = "Вивантаження" Тоді Обробка=Обробки.УніверсальнийОбмінДанимиXML.Створити(); // Задаємо необхідні для вивантаження параметри (необов'язкові для редагування) Обробка. Режим Обміну = "Вивантаження"; Обработка.ЗагружатьДаніВРежимеОбміну=Істина; Обробка.ЗаписуватиРегістриНаборамиЗаписів=Істина; Обработка.ЗапоминатьЗавантаженіОб'єкти=Істина; Обработка.ИспользоватьОтборПоДатеДляВсехОбъектов=Истина; Обработка.ВыгружатьТількиДозволені=Істина; //!Встановили необхідні параметри для вивантаження //Дані параметри необхідно перезаповнити ОБОВ'ЯЗКОВО //Встановлюємо обмеження на вивантаження за датами об'єктів Обробка.ДатаПочатку = ПоточнаДата() - 60*60*24*2; Обработка.ДатаЗакінчення = "00010101"; //Якщо хочемо вивантажувати дані в файл - ставимо Брехня, Якщо Істина - буде проведено вивантаження в базу-приймач Обробка. Безпосереднє Читання ВІБ //Якщо база-приймач даних, що вивантажуються, є серверною, то Брехня. Якщо файлова - Істина Обробка. ТипІнформаційної Бази Для Підключення = Істина; //!Обов'язкові параметри перезаповнили //Якщо вивантажуємо дані в файл Якщо Не Обробка. Безпосереднє Читання ВІБ Приймачі Тоді Обробка. / / Якщо вивантажуємо дані в базу Інакше Обробка.ПарольІнформаційної БазиДля Підключення = "Адмін"; Обробка.КористувачІнформаційної БазиДля Підключення = "суперкрутий"; Обробка. Аутентифікація Windows Інформаційної Бази Для Підключення = Брехня; //Якщо приймач даних - серверна база Якщо Обробка.ТипІнформаційноїБазиДля Підключення = Брехня Тоді Обробка.Ім'яСервераІнформаційноїБазиДляПідключення="MainServ"; Обробка.Ім'яІнформаційноїБазиНаСерверіДля Підключення="Buhia"; //Якщо приймач даних - файлова база Інакше Обробка.ВерсіяПлатформиІнформаційноїБазиДляПідключення="V82"; Обробка.КаталогІнформаційноїБазиДля Підключення ="C:\Inbox\ОлегА\Клієнти\Зевс БП20\Зевс БП20"; КінецьЯкщо; КінецьЯкщо; //Дії над реєстрацією при розвантаженні за планами обміну Обробка.ТипВидаленняРеєстраціїЗмінДляВузлівОбмінуПісляВивантаження=0; // 0 - не знімати реєстрацію, // 1 - знімати реєстрацію Обробка. Завантажити Правила Обміну (); //ЯКЩО ПОТРІБНО ВИГРУДЖУВАТИ ЗА ПЛАНАМИ ОБМІНУ, ТО ВКЛЮЧАЄМО ЦЕЙ БЛОК І ПІДСТАВЛЯЄМО СВІЙ ВУЗЕЛ ПЛАНУ ОБМІНУ //Для кожного Стор. З Обробка. // Для кожного Стр1 З Стр.Рядки Цикл // Стр1.Включити=1; // Стр1.ПосылкаНаУзелОбмена=ПланыОбмена.Повний. ЗнайтиПоКоду("БП20"); // Кінець циклу; //КінецьЦикл; Обработка.ВыполнитьВыгрузку(); ЗавершитиРоботуСистеми(Брехня); ІнакшеЯкщо ПараметрЗапуску = "Завантаження" Тоді ОбробкаОбміну = Обробки.УніверсальнийОбмінДанимиXML.Створити(); ОбробкаОбміну.Ім'яФайлуОбміну = "C:\Inbox\ОлегА\Вивантаження.xml"; РежимОбміну = "Завантаження"; ОбробкаОбміну.ВідкритиФайлЗавантаження(Істина); Обробка Обміну.АрхівуватиФайл = Брехня; Обробка Обміну. ​​Виконати Завантаження (); Обробка Обміну = Невизначено; ЗавершитиРоботуСистеми(Брехня); КінецьЯкщо;

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:\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 години наприклад.