1с 8.3 Універсальний обмін. Обмін через універсальний формат. Загальний модуль "менеджера обміну через універсальний формат"

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

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

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

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

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

Бази мають бути пов'язані – нарахували зарплату, до бухгалтерії мають піти нараховані податки до сплати.

Для зв'язку кількох баз існує Обмін 1С. Як він працює?

Що таке Обмін 1С?

Є мережа магазинів та центральний офіс. У кожному магазині та в офісі є склад. Товари переміщуються зі складу склад (переважно з центрального склади магазинів), й у магазинах — продаються.

Використовується база 1С Роздріб в офісі та ця ж база у кожному магазині. Бази у магазинах – підпорядковані базі в офісі.

У офісі створюють документи про переміщення товарів зі складу складу, призначаються ціни. Документи заливаються до підлеглих баз і там «з'являються» товари.

У магазинах створюються документи про скоєні продажі товарів. Документи заливаються в офісну базу і там з'являються продажі.

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

Принципи Обмін довідниками в 1С

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

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

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

Принципи Обміну документами в 1С

Документи в 1С проводяться по регістрам і після цього вважаються проведеними. Це породжує зрозумілі складнощі під час перенесення.

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

Інший варіант – перенесення документів та регістрів разом. Як ми розуміємо, відразу ж постає питання - чи ми переносимо всі документи взагалі і тоді весь регістр взагалі або змушені вибирати для перенесення тільки руху по документах, що переносяться.

Допустимо, нам потрібно перенести елемент довідника Номенклатури. Цей довідник має 10 полів, з яких 5 є рядками та числами, а 5 – посиланнями на інші довідники.

Відповідно при перенесенні одного елемента Номенклатури ми змушені шукати та переносити також 5 елементів інших довідників.

Таким чином, при перенесенні одного елемента довідника або одного документа, за посиланням може бути перенесено 100 і більше інших об'єктів 1С.

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

Плани обміну 1С

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

Що робити? Провести знову повний обмін 1С? Довго та неефективно! Набагато краще було б обчислити, що саме було додано або змінено користувачами в офіс, щоб у магазини потрапили тільки зміни.

І тому існує – плани обміну 1С. Програміст заздалегідь створює план обміну 1С щодо обмінів 1С з будь-якої іншої базою даних, наприклад з нашими магазинами.

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

Створення УРІБ 1С

Отже, ми створимо розподілену основу з нуля. Спочатку ми маємо «батьківську» базу офісу. З неї ми виділятимемо бази магазинів, які будуть їй підпорядковані.

У типових конфігураціях вже є типові плани обміну 1С. Види баз, котрим вони призначені – інтуїтивно зрозумілі з назви:

  • Обмін 1С із сайтом: обмін із сайтом 1С:Бітрікс
  • Обмін 1С УПП-УТ або УТ-Роздріб: типові обміни з конфігураціями-побратимами
  • Повний - обмін 1С з базою даних на основі такої конфігурації.

РИБ – розподілена інформаційна база – можна створити зокрема з урахуванням плану обміну 1С «Повний». У конфігураторі у плані обміну 1С має стояти галочка «Розподілена інформаційна база».

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

Зайдемо до плану обміну 1С (Операції/План обміну; також можуть бути в іншому меню, часто в меню Сервіс/ХХХ).

У списку баз даних у плані обміну 1С є одна із зеленим кружечком на картинці. Цей елемент позначає цю базу. Інші елементи позначають ІНШІ основи, з якими йде обмін 1С.

Необхідно, щоб було заповнено найменування і код у всіх елементів.

Щоб створити підлеглу базу магазину:

  • Встановіть куховар у списку на елемент плану обміну 1С, який ми створили як «базу магазину»
  • Виберіть пункт меню "Дії/Створити початковий образ".

В результаті буде створено одну базу з вивантаженими в неї початковими даними. Це потрібно повторити для кожного елемента плану обміну 1С, крім поточної бази.

Теорія проведення обмінів 1С

Теорія обміну 1С досить проста:

  • Одна з баз (частіше база центру) ініціює обмін 1С за розкладом або за подією (вхід до бази певного користувача і т.п.)
  • Обмін 1С полягає у вивантаженні з бази файлу
  • Файл повинен бути переміщений у те місце, звідки його зможе забрати підпорядкована база (частіше кулі або ftp, рідше електронна пошта)
  • Підпорядкована база завантажує отриманий файл
  • Як підтвердження, що інформація отримана, підпорядкована база вивантажує "відповідний" файл, який таким же чином завантажується назад в центральну базу
  • Сеанс обміну 1С завершено.

Існують інші методи обміну 1С, не через файли, а, наприклад, через пряме COM-з'єднання між двома базами. Його плюси:

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

Однак обмеження зрозуміло - бази повинні бути в такій доступності один до одного, щоб ініціювати COM з'єднання.

Налаштування РИБ 1С

У константах типових конфігурацій (Операції/Константи; або Сервіс/Налаштування програми) — зазвичай є загальне налаштування обмінів 1С. Це – префікс у кодах елементів та номерах документів, щоб легко визначати, в якій базі він створений. А також внутрішній метод збереження інформації про місце створення довідників та документів.

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

Для кожного раніше створеного елемента "віддаленої бази магазину" необхідно додати елемент налаштування.

У налаштуванні вказується спосіб обміну 1С: файл (кулі), файл (FTP), файл (e-mail).

Створення та налаштування розподіленої інформаційної бази 1С у тонкому клієнті

Подивимося аналогічну настройку у типовій конфігурації на базі тонкого клієнта – Управління торгівлею редакція 11.
Налаштування (та створення з нуля) знаходяться на закладці інтерфейсу Адміністрація. Пункт "Обмін даними".

Виберемо "Створити обмін у розподіленій інформаційній базі".

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

Ось варіант налаштування через файл на FTP.

Назва нашого налаштування обміну 1С.

І відразу ж пропозиція створити «початковий образ» — тобто саму підлеглу бази даних із вивантаженням у неї первинної інформації.

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

Якщо ви робите обмін даними між конфігураціями Управління торгівлею 10.3 та Бухгалтерія підприємства 2.0, то після оновлення однієї з конфігурацій, необхідно оновити правила обміну.

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

Заускаємо 1С Управління торгівлею 10.3. Вибираємо пункт "Всі налаштування обміну даними" з меню Сервіс => Інші обміни даними.

Вибираємо розділ "Всі обміни". Знаходимо у списку ваш обмін даними, клацаємо правою кнопкою миші і натискаємо "Змінити". Якщо ви намагатиметеся змінити налаштування обміну з розділу “Обмін даними з 1С: Бухгалтерія 8”, то при спробі зміни запускатиметься помічник налаштування обміну даними, який нам не потрібен.

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

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

У жодному разі не замінюйте їх на типові правила. Якщо ви не впевнені в тому, що у вас типові зміни, про всяк випадок збережіть наявні правила кнопкою "Зберегти правила у файл".

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

Переходимо цим шляхом. Далі: 1С=>Accounting та вибираємо папку з назвою останнього встановленого релізу Бухгалтерії. Якщо правила потрібно взяти з оновлення конфігурації "1С:Управління торгівлею", папка буде називатися Trade. Для конфігурації "1С:Роздріб" - Retail. У ній знаходиться папка "Обмін даних".

Далі “Обмін із конфігурацією Управління торгівлею, ред. 10.3”. У ній бачимо ПРАВИЛА КОНВЕРТАЦІЇ БП-УТ та ПРАВИЛА КОНВЕРТАЦІЇ УТ-БП. Тому що нам потрібні правила вивантаження з УТ вибираємо "ПРАВИЛА КОНВЕРТАЦІЇ УТ-БП" та натискаємо відкрити. Те саме робить для правил вивантаження з бази обміну в поточну базу тільки вибираємо файл ПРАВИЛА КОНВЕРТАЦІЇ БП-УТ і натискаємо відкрити.

У папці “Обмін із конфігурацією Управління торгівлею, ред. 10.3” знаходиться файл Спільне використання.htm. Якщо ви жодного разу його не читали, то обов'язково прочитайте. У ньому міститься наступна корисна інформація:

  • Цілі спільного використання
  • Загальний опис
  • Перехід з попередніх версій двостороннього обміну даними
  • Попередні дії
  • Порядок налаштування обміну даними між конфігураціями
  • Синхронізація даних
  • Спільна робота конфігурацій "Управління торгівлею" та "Бухгалтерія підприємства"
  • Приклади сценаріїв роботи користувачів
  • Таблиця відповідності документів, що вивантажуються УТ — БП (редакція 1.6, редакція 2.0) Таблиця відповідності документів, що вивантажуються БП (редакція 1.6, редакція 2.0) — УТ
  • Особливості вивантаження документів та довідників
  • Таблиця відповідності документів, що вивантажуються БП (редакція 1.6, редакція 2.0) — УТ
  • Перенесення документів "Рахунок на оплату покупцю" та "Замовлення покупця"
  • Перенесення собівартості списання товарів
  • Контроль результатів обміну даними

Перевіряємо правила перевірити кнопками. І натискаємо ОК. Нові правила збережено. Запускаємо обмін даними та перевіряємо їх роботу.

Про те, як настроїти двосторонній обмін даними між конфігураціями Управління торгівлею 10.3 та Бухгалтерія підприємства 2.0 написано в іншій статті.

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

  • Навіщо потрібні обміни даних та як їх використовувати?
  • Види обмінів між 1С.
  • Як зробити налаштування обміну даними між базами 1С?

Відповіді на ці запитання Ви дізнаєтесь нижче.

Причин для впровадження обмінів, як правило, дві:

Організація має мережу філій

В цьому випадку Вам просто необхідно налаштовувати обмін між різними філіями. Для цього в системі 1С 8.3 підприємство існує механізм. За допомогою якого можна гнучко настроїти обмін інформацією. Наприклад, для філій можна відключити видимість документів з інших філій і водночас центральний офіс бачитиме документи всіх філій. Інший приклад - налаштування обміну між базами 1С Роздріб офісу та магазинів.

Поділ за видами обліку

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

Які бувають механізми обміну між базами 1С?

Обміни даних можна класифікувати за двома напрямками: використовувані механізми та транспорт для обміну.

Механізми обміну даними 1С

Як правило, при обміні використовується два механізми:

  • Розподілена інформаційна база (РІБ)- Механізм, що дозволяє налаштувати обмін даними між філією. Механізм передбачає, що обмінюються абсолютно ідентичні зміни БД. Механізм вміє передавати зміни баз даних. Механізм реалізований лише на рівні технологічної платформи.
  • Універсальний механізм обміну між конфігураціями- Механізм є розробкою фірми 1С для прикладного рішення. Він універсальний і ґрунтується на . Обмін даними здійснюється за допомогою правил xml, які створюються спеціальної конфігурації — . З допомогою даного механізму можна реалізувати як одноразовий обмін, і постійний обмін між 1С конфігураціями. Механізм реалізований лише на рівні зміни, вбудувати у конфігурацію можна з технологічної конфігурації .

Транспорт для обміну даними

Транспортом може бути досить широкий спектр технологій. Розглянемо основні, реалізовані в універсальному механізмі обміну 1С 8.2:

Отримайте 267 відеоуроків з 1С безкоштовно:

  • Локальний або мережевий каталог- Найпростіший транспорт. Одна ІБ створює файл на диску, друга зчитує його та додає свій файл.
  • FTP-ресурс- обмін, аналогічний обміну через каталог. Відмінність — обмін здійснюється через протокол FTP.
  • Поштові повідомлення або E-mail— обмін відбувається за допомогою електронної пошти. Конфігурації надсилають один одному поштові повідомлення та регулярно перевіряють поштову адресу на наявність нових повідомлень.
  • Пряме підключення (COM)- Обмін здійснюється через пряме підключення однієї бази до іншої за коштами.
  • Інтернет (Web service)– транспортом є веб-служба. Одна інформаційна база підключається до , веб-сервіс підключається до другої бази та транспортує повідомлення. Для здійснення такого транспорту необхідно мати.

Як настроїти обмін даними між базами 1С?

Налаштування обміну даними в 1С за допомогою конфігурації «1С Конвертації даних» на прикладі дивіться у відео:

Обмін даними 1С за розкладом 1С 8.2

Якщо потрібно налаштувати автоматичне розвантаження за розкладом, достатньо налаштувати .

Для клієнт-серверного варіанта

У довіднику "Налаштування обміну даними", на вкладці "Автоматичний обмін" необхідно створити нове регламентне завдання, де вказати розклад:

Для файлового варіанта

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

Сподобалась стаття? Поділіться з друзями!