Правила конвертації даних 1с. Відео інструкція з конвертації

Друк (Ctrl+P)

Конвертація даних, редакція 3.0

Урок 1. Підготовка роботи з КД3.0

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

Рис 1 Загальний модуль менеджера обміну

КД3.0 можна завантажити на сайті https://users.v8.1c.ru/

Редакція 3.0.5.3 призначена для використання з версією системи
1С:Підприємство 8.3 не нижче 8.3.10, а редакція 3.0.4.3 – для використання з версією системи 1С:Підприємство 8.3 не нижче 8.3.8.

Постачання КД3.0 містить наступні зовнішні обробки

  • Обробка MD83Exp.epf“Вивантаження опису структури метаданих конфігурації 8.3” – призначене для вивантаження опису структури метаданих конфігурації, реалізованої на платформі “1C:Підприємство 8.3”.
  • Обробка Вивантаження правил синхронізації."Вивантаження правил синхронізації через універсальний формат", що використовується при підготовці файлів правил конвертації, призначених для подальшого завантаження в конфігурацію "Конвертація даних", редакція 3.0.
  • Файл "Опис конфігурації.htm" містить короткий опис
    основних функціональних можливостей конфігурації
    "Конвертація даних", редакція 3.0.

Додаткові відомості про конфігурацію “Конвертація даних”, редакція 3.0
див. http://its.1c.ru/db/metod8dev#content:5846:hdoc

1. Підготовка до налаштування правил

Для завантаження структури формату потрібно спочатку відкрити конфігурацію бази даних у режимі конфігуратора та вивантажити пакети XDTO із конфігурації у файли *.xsd.

Необхідно вивантажувати всі пакети, пов'язані з форматом. Імена файлів у своїй принципового значення немає. Необхідно також вивантажувати пакет XDTO ExchangeMessage

Після виконання завантаження формату XDTO в КД 3.0 відбувається заповнення довідників "Об'єкти формату", "Властивості формату", "Значення формату"

У довідник "Об'єкти формату"завантажуються:

  • Об'єкти з типом “ТипОб'єкта XDTO”, які відображають типи посилань даних (документи, довідники)
  • Об'єкти з типом “ТипЗначення XDTO”, що містять перелік. Вони відображають наперед визначені дані (наприклад, перерахування)

У довідник "Властивості формату"завантажуються:

  • Властивості об'єктів "ТипОб'єкта XDTO". При цьому самі об'єкти – ті, що були завантажені в “Об'єкти формату”
  • Об'єкти з типом “ТипОб'єкта XDTO” та їх властивості, що відображають табличні частини та реквізити табличних частин

У довідник “Значення формату” завантажуються властивості об'єктів “ТипЗначенняXDTO”, які є елементами зумовлених даних. При цьому самі об'єкти – ті, що були завантажені в “Об'єкти формату”

1. 2. Обробка “Завантаження структури конфігурації”

Ця обробка виконує завантаження структури метаданих конфігурації в інформаційну базу Конвертація даних ред.3.

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

Для інформаційної бази, структуру якої потрібно вивантажити, слід виконати такі действия:

  1. Відкрити інформаційну базу у режимі “Підприємство”.
  2. Відкрити зовнішню обробку MD83Exp.epf(Меню Файл – Відкрити).
  3. Вказати ім'я файлу, який слід зберегти структуру інформаційної бази.
  4. Перевірити налаштування у формі обробки (всі прапори мають бути зняті).
  5. Натиснути кнопку Вивантажити.

Після виконання розвантаження структури конфігурації заповнюються довідники

  • Об'єкти метаданих
  • Властивості об'єктів
  • Значення об'єктів.

Довідник Об'єкти метаданихмістить інформацію про об'єкти метаданих конфігурації. Тип об'єктів фіксується у відповідному реквізиті. Залежно від значення реквізиту Тип заповнюються реквізити, що описують властивості об'єкта метаданих. Реквізити об'єктів метаданих описуються у підпорядкованому довіднику Властивості об'єктів. Значення об'єктів (значення перерахувань та імена визначених елементів) описуються у підпорядкованому довіднику значення об'єктів.

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

1.3.1 Підготовка файлів для завантаження правил

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

Для підготовки файлів правил необхідно увійти до інформаційної бази в режимі Підприємство та запустити обробку Вивантаження правил синхронізації через універсальний формат, яка входить до складу постачання конфігурації Конвертація даних ред.3.

Для підготовки файлу з модулем менеджера необхідно увійти до інформаційної бази в режимі Конфігуратор та зберегти спільний модуль МенеджерОбмінЧерезУніверсальнийФормату текстовий файл. Ім'я файлу можна вказати будь-яке.

Усі підготовлені файли повинні розташовуватися в одному каталозі.

1.3.2 Завантаження правил синхронізації

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

У формі обробки вказати:

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

Конвертація даних 2.0 і 2.1 - технологічна конфігурація фірми 1С, реалізована на версії платформи від 8.1 до 8.3.

Головне завдання інструменту – написання правил обміну між прикладними рішеннями 1С 8 та 7. Актуальна версія конвертації даних сьогодні – 3.0.

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

Конфігурацію дуже зручно використовувати при .

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

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

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

Для розуміння основ вам знадобляться матеріали, розглянемо їх нижче.

Відео інструкція з конвертації

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

Матеріали, підручники для вивчення 1С Конвертація даних 2.0

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

0. Насамперед раджу безкоштовний відеокурс Іллі Леонтьєва, він доступний по засланні.

1. Я порадив би насамперед користуватися вбудованою довідкою в конфігурацію. Вона справді непогано написана та грамотно реалізована технічно:

2. Друге за важливістю джерело інформації - сайт http://www.mykod.info/ (сайт закрився), спеціалізований саме на конвертації даних. Там Ви зможете завантажити велику кількість конвертаційних матеріалів.

3. Окремо хотілося б виділити методичку підручника – (автор – Ольга Кузнєцова).

Мета цієї статті - відповісти на перші питання щодо КД3 і на простому прикладі показати як доопрацювати типові правила. Інформація корисна початківцям і тим, хто вже почав освоєння і з'явилися нові питання.

Прийняті скорочення у цій публікації

КД2- Конфігурація Конвертація даних, редакція 2.0.
КД3- конфігурація Конвертація даних, редакція 3.0, конфігурація 3.0.5.3.
ED- Універсальний формат обміну EnterpriseData.

Відповіді питання після поверхового знайомства з КД3. Якщо Ви знаєте, навіщо потрібна КД3 можна не читати цей абзац;)

Питання та відповіді

  • КД3 – це нова версія КД2? Ні! Це інший інструмент, який вирішує аналогічні КД2 завдання. Кожен інструмент має своє застосування.
  • КД3 краще КД2? Їх не можна порівнювати, т.к. це різні інструменти і кожен має свої плюси і мінуси.
  • Для зміни правил обміну КД3 необхідно знімати конфігурацію за допомогою? Ні НЕ потрібно знімати із підтримки! У типових конфігураціях можна штатно підключити зовнішню обробку з правилами, а на конфігураціях, що підтримують платформу 8.3.10 і вище, можна редагувати правила за допомогою розширення.
  • Потрібно перенести дані зі змін свого виробництва. З метою вивчення можна скористатися КД3? Якщо Ви ставите це питання, швидше за все, не можна. Для КД3 у складі конфігурації має бути БСП 2.3 і вище із синхронізацією через універсальний формат. КД2 вам підійде 100%, КД3 під питанням.
  • Чи можна використовувати КД3 для типових доопрацьованих конфігурацій? Так можна. Якщо ваші нетипові дані можна передати, використовуючи ED або реквізит AdditionalInfo, то добре. Інакше є варіант зміни формату обміну (схеми XML). І тут можливості КД3 майже зрівняються з КД2, але зникне основний плюс КД3 - універсальність формату обміну.
  • Чи можуть конфігурації, що підтримують ED, обмінюватися між собою? Так! Але для обміну БП 3.0 - БП 3.0 під час створення синхронізації не можна вибрати БП 3.0. Нічого страшного, вибирайте "Інша програма". Якщо потрібний разовий обмін, достатньо скористатися обробкою «Вивантаження завантаження EnterpriseData» у меню Усі функції.
  • Після оновлення конфігурації потрібно завантажити нові правила з комплекту постачання? Ні! Правила містяться у модулі конфігурації. Для обміну з іншими базами 1С не потрібно завантажувати правила іншої бази. Чому? Подробиці у цій статті.
  • Після оновлення однієї бази необхідно привести до актуального стану іншу базу, яка бере участь в обміні? Ні! Не потрібно синхронно оновлювати всі бази, які беруть участь у обміні. Це один із плюсів КД3.
  • Наші конфігурації сильно доопрацьовані, там нові види документів і довідників, КД3 може їх перенести? Є можливість, що без зміни формату не зможе. Це один із "мінусів" КД3 у порівнянні з КД2.

Навіщо тоді потрібна КД3? Плюси і мінуси

Плюси КД3

Розглянемо основний плюс КД3 з прикладу часто зустрічається завдання. Є конфігурація УТ 11.3, яка не оновлюється з якихось причин. Необхідно організувати обмін із БП 3.0, яка постійно оновлюється до актуального релізу.

Немає проблем.

  • Універсальний формат обміну, який використовується в КД3, призначений для вирішення подібних завдань.
  • Правила обміну в УТ створюються задля обміну з БП а обміну з універсальним форматом EnterpriseData.
  • Якщо оперувати поняттями КД2, то УТ обмінюється зі зміною ED, яка змінюється. БП 3.0 також обмінюється з ED.

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

Виходить, що в УТ не потрібно дбати про те, що БП зміниться якісь реквізити. Завдання просте - вивантажити в ED, а конфігурація БП повинна вміти прийняти дані цього формату.

  • У зв'язку з тим, що конфігурація джерело вивантажує завжди в одному форматі, будь-яка конфігурація приймач може завантажити дані з цього універсального формату.
    Тобто. для довільної комбінації обмінів УТ – БП, УТ – КА, УТ – ERP, КА-БП, ERP – БП. не слід писати індивідуальні правила. У КД3 правила універсальні. Будь-яка конфігурація, яка підтримує обмін в універсальному форматі, може обмінюватися з будь-якою конфігурацією, що підтримує формат ED.

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

Мінуси КД2

Правила обміну індивідуальні кожної пари конфігурацій. Для всіх перерахованих вище комбінацій обміну між різними видами конфігурацій і різними версіями конфігурацій потрібні свої правила обміну. Тому для вирішення вищеозвученого завдання обміну УТ 11.3 та БП 3.0 потрібно майже після кожного оновлення БП 3.0 налагоджувати та доопрацьовувати правила обміну.

Налагодження алгоритмів і правил утруднена для програміста-початківця або для того, хто рідко стикається з цим завданням. Правила зберігаються у xml файлі. Швидке виправлення помилки недоступне. Необхідно завантажити правила в КД2, виправити та вивантажити назад.

Мінуси КД3

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

Для здійснення синхронізації у форматі ED конфігурація має підтримувати ці механізми. Все це є у БСП 2.3 і вище. Це не зовсім мінус, це скоріше особливість.

Основний плюс трохи тьмяніє через обмежені терміни підтримки формату. Це вже відчули на собі користувачі УТ 11.1 УТ 11.2, які обмінюються з БП 3.0. Терміни підтримки вказані за цим посиланням. Там сказано, що мінімальний гарантований термін підтримки формату становить рік фактично близько 3-х років. Таким чином, якщо Ви налаштуєте синхронізацію сьогодні, то мінімум рік можна не оновлювати базу УТ 11, а потім або оновити конфігурацію, або просто додати новий формат, внести невелику зміну до БСП та правил за потреби. Як це зробити? Буде зазначено пізніше у цій статті.

Плюси КД2

Можливості КД2 безмежні. Ви можете створити правила обміну для будь-яких конфігурацій на будь-якій платформі. Від 1С 7.7 до останньої 8.3. Від конфігурації нічого не потрібно, БСП не є обов'язковим. Правила можуть бути створені в автоматичному режимі та доопрацьовані.

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

Сподіваюся прийшло розуміння навіщо потрібна КД3, продовжуємо по суті.

Прийняті скорочення далі

БСП– Бібліотека стандартних підсистем.
ПІД- Правило обробки даних.
ПКО- Правило конвертації об'єкта.
ВКПД- Правило конвертації зумовлених даних.
ПКС- правило конвертації якості.

Розглянемо приклад – необхідно змінити типові правила обміну БП 3.0 та УТ 11.3

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

Як змінити правила ED?
  1. Доопрацювати модульз правилами обміну у конфігурації. Цей варіант доки розглядаємо, т.к. для розуміння що і де потрібно міняти, необхідно хоча б один раз зробити це у КД3. В цьому випадку буде простіше в майбутньому оперативно вирішувати проблеми, налагоджувати в модулі та переносити до КД3 за потреби.
  2. Скористатися КД3.
    Як це робиться у КД2? Вивантажуємо метадані обох конфігурацій та завантажуємо в КД2.
    Крок 1.Для КД3 робимо аналогічно - у кожній конфігурації як підприємства обробкою \tmplts\1c\Conversion\3_0_5_3\MD83Exp.epfвивантажуємо метадані конфігурацій,
    наприклад, у папку « D: Правила БП3 БП 3.0.54.15", ім'я файлу " МД.xml».

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

// Елементи.Настройки.Видимість = Брехня;

Зберігаємо обробку, відкриваємо у режимі підприємства, ставимо прапор на «Вивантажувати регістри відомостей», вивантажуємо.

Крок 3Завантажуємо раніше створений файл « МД.xml» в КД3, розділ прапор « У нову версію конфігурації».

Т.к. в КД3 для обміну використовується «проміжна конфігурація» (ED), завантажуємо та її «метадані», які є XML схему, файл із розширенням «xsd». Крок 2Взяти її з конфігурації УТ 11 чи БП 3.0. Вони однакові. Відкриваємо конфігурацію, у рядку пошуку вводимо « enter», бачимо у дереві Загальні - XDTO-пакетиприблизно такі пакети: EnterpriseData_1_3_8, EnterpriseData_1_4_4і подібні. Це версії формату 1.3 і 1.4 відповідно і 1.2, 1.1, 1.0 якщо є. Права кнопка миші на пакеті в контекстному меню вибираємо «».

Крок 4.У КД3 розділ вибираємо раніше вивантажені файли з розширенням «xsd». Потрібно вибирати один файл! Множинний вибір спільно з ExchangeMessage не потрібний! Це пропонувалося у старих інструкціях КД3 попередніх версій. В останніх КД3 цього не потрібно.

Після завантаження формату у розділі Формат даних - Дерево об'єктів формату, виберіть версію формату. Якщо там є документи та довідники, то Ви завантажили правильний файл. Якщо ні, почніть все спочатку з новою порожньою КД3 і спочатку завантажте формат і перевірте дерево.

Етап 2.Після завантаження метаданих у КД3 приступаємо до завантаження типових правил обміну.
Як це робиться у КД2? Правила завантажуються у конвертацію.
У КД3 майже так само. Вивантажуємо правила з типової, створюємо конвертацію, а потім завантажуємо до неї правила.

Вивантаження типових правил із конфігурації для завантаження в КД3

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

Відкриваємо конфігурацію БП 3.0 або УТ 11.3 у режимі конфігуратора, у рядку пошуку можна ввести « мен уні», Відкриваємо загальний модуль . Якщо це БП 3.0, відкриваємо . У відкритому модулі переходимо до меню Файл - Зберегти копію, зберігаємо файл із довільним ім'ям, наприклад, « D:\Правила БП3\БП 3.0.54.15\Загальний модуль МенеджерОбмінуЧерезУніверсальнийФормат_ Модуль».
Відкриваємо конфігурацію БП 3.0 або УТ 11.3 у режимі підприємства, відкриваємо обробку \tmplts\1c\Conversion\3_0_5_3\Вивантаження правил синхронізації.epf

Нестача типової обробки:

  • часто завершується з помилкою;
  • вивантажує правила із зовнішньої обробки, підключеної до вузла, а нам потрібні типові правила;
  • не працює у БП 3.0.53 та вище.

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

&На Сервері Процедура ПриСтворенніНаСервері(Відмова, СтандартнаОбробка) // Список вибору версій формату.<>ВерсіїФормату = Новий Відповідність;

  • ОбмінДанимиПеревизначається.ПриОтриманніДоступнихВерсійФормату(ВерсіїФормату); 1.3 »,
  • Для кожного ПланОбміну З ОбмінДанимиПовтІсп.ПланиОбмінуБСП() Цикл Якщо ОбмінДанимиПовтІсп.ЦеПланОбмінуXDTO(ПланОбміну) Тоді ВерсіїФорматуПлануОбміну = Новий Відповідність;
  • Версія БСП243 = Загального призначенняКлієнтСервер.ПорівнятиВерсії(СтандартніПідсистемиСервер.ВерсіяБібліотеки(), "2.4.3.1") >= 0; МодульОбмінДанимиСервер = ЗагальногоПризначення.ЗагальнийМодуль("ОбмінДанимиСервер");».

Якщо ВерсіяБСП243 Тоді ВерсіїФорматуПлануОбміну = МодульОбмінДанимиСервер.ЗначенняНалаштуванняПлануОбміну(ПланОбміну, "ВерсіїФорматуОбміну");

Інакше ПланиОбміну[ПланОбміну].ОтриматиВерсіїФорматуОбміну(ВерсіїФорматуПлануОбміну);
КінецьЯкщо; Для кожного ВерсіяПланаОбміну З ВерсіїФорматуПлануОбміну Цикл МодульМенеджера = ВерсіїФормату.Отримати(ВерсіяПлануОбміну.Ключ);Якщо МодульМенеджера = Невизначено Або МодульМенеджера ВерсіяПланаОбміна.Значення Тоді ВерсіїФормата.Вставити(ВерсіяПланаОбміна.Ключ, ВерсіяПланаОбміна.Значення);КінецьЯкщо; КінецьЦикл;КінецьЯкщо; КінецьЦикл;Для кожного ВерсіяФормату З ВерсіїФормату Цикл Елементи.НомерВерсіїФормату.СписокВибору.Додати(ВерсіяФормату.Ключ); КінецьЦикл;АдресаСховищаВерсіїФормату = ПоміститиВчаснеСховище(ВерсіїФормату, УнікальнийІдентифікатор); КінецьПроцедури КінецьЦикл;Вибираємо «Номер версії формату», наприклад, «

"Каталог обміну" - створимо папку, наприклад, "" Натискаємо кнопку «.
:

    Місце завантаження: « У існуючу конвертацію»

    Каталог обміну: « D:\Правила БП3\БП 3.0.54.15\1.3»

  • Файл із модулем обміну: « D:\Правила БП3\БП 3.0.54.15\Загальний модуль МенеджерОбмінуЧерезУніверсальнийФормат13_ Модуль.txt»
  • Конвертація: « КінецьЦикл;»

При завантаженні правил синхронізації з файлів для УТ 11.3 з'являється помилка Поле об'єкта не виявленоПричина - для ТекПКО.ВикористовуватиДля Отримання = Брехня КД3 вимагає наявності інформації за варіантом ідентифікації при отриманні. Якщо у файлі правил цього немає, виникає помилка. Виправляємо це непорозуміння. Або знімаємо цю форму з підтримки, або використовуємо розширення.

// Основна форма обробки ЗавантаженняПравилСинхронізаціїІзФайлів // До внесення змін: // Процедура завантажує правила конвертації об'єктів &На Сервері Процедура ЗавантажитиПКО() ... ЗаповнитиЗначенняВластивостей(ТекПКО, СтруктураАтрибутів);

Версія БСП243 = Загального призначенняКлієнтСервер.ПорівнятиВерсії(СтандартніПідсистемиСервер.ВерсіяБібліотеки(), "2.4.3.1") >= 0; // Варіант ідентифікації – особлива логіка.». « ТекПКО.ВаріантІдентифікації = Перерахування.ВаріантиІдентифікаціїОб'єктів[СтруктураАтрибутів.ВаріантІдентифікації]; ІнакшеЯкщо читанняXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тоді // Запис завантаженого ПКО. ... // Зміни позначені "//ED" // Процедура завантажує правила конвертації об'єктів &На сервері Процедура ЗавантажитиПКО() ... ЗаповнитиЗначенняВластивостей(ТекПКО, СтруктураАтрибутів);// Варіант ідентифікації – особлива логіка. Якщо ТекПКО.ВикористовуватиДля Отримання Тоді //ED ТекПКО.ВаріантІдентифікації = Перерахування.ВаріантиІдентифікаціїОб'єктів[СтруктураАтрибутів.ВаріантІдентифікації];».
КінецьЯкщо; ІнакшеЯкщо читанняXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тоді // Запис завантаженого ПКО. ... ЗавантажитиОбробники призначені для іншої конвертації: БП 3.0.44 (формат 1.4). Продовжити завантаження?
» Натискаємо « ТакНе закриваючи форму вибираємо інший
Каталог обміну

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

Після успішного завантаження переходимо до розділу «

  • Конвертації» - «Налаштування правил конвертації », відкриваємо нашу конвертацію із форми списку.Якщо бачимо , ПІД і т.п., значить завантаження в КД3 вдалося. Перевірка коректності завантаження правил».
  • Це не обов'язкова операція! Якщо Ви будете використовувати одну версію формату в правилах, не потрібно домагатися ідентичності тексту модуля. Відкриваємо конфігуратор БП, створюємо нову зовнішню обробку, наприклад, Ім'я «Синхронізація EDБП
  • У конфігураторі БП перевіряємо модуль на синтаксичні помилки. Зберігаємо обробку.
  • створюємо в БП ще одну порожню обробку, наприклад, Ім'я СинхронізаціяEDБПтиповаЯкщо бачимо , ПІД і т.п., значить завантаження в КД3 вдалося. Синхронізація ED БП 3.0 типова». Копіюємо текст загального модуля БП МенеджерОбмінЧерезУніверсальнийФормат13модуль обробки і зберігаємо її.

Порівнюємо обидві обробки. Меню Файл - Порівняти файли.

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

Аналогічним способом у КД3 створюємо конвертацію для УТ 11.3.

БП 3.0.54.15

  • Помічено некоректне завантаження ПКО " Довідник_КористувачіПотрібно виправити. Повинно.
  • У ПКО " Документ_ІнвентаризаціяТоварів_Відправка"для ПКС" Відповідальна особа" не вказано ПКО. Відкрийте , переоберіть властивість конфігурації та властивість формату щоб заповнився їх тип, після чого буде доступний вибір у полі " Правило конвертації якості". Виберіть " Довідник_ФізичніОсоби_Надсилання".

Розглянемо приклад доопрацювання

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

Необхідно перенести реквізит ВидНоменклатури"довідника "Номенклатура", тип реквізиту" Довідник.ВидиНоменклатуриЦей вид довідника не переноситься типовими правилами КД3 і не підтримується форматом ED версії нижче 1.6.

Є кілька варіантів вирішення такого завдання

  • Доопрацювання XDTO пакету, додавання до формату об'єкта "Довідник.ВидиНоменклатури". В результаті втрачається основна перевага універсального формату – він перестає бути універсальним. Доопрацювання XDTO пакета буде потрібне у всіх базах, що беруть участь в обміні.
  • Використовувати властивість формату " ДодатковіРеквізитиЦей варіант розглядати в даній статті не будемо через деяку складність. Візьмемо до відома що є такий спосіб.
  • Реквізит AdditionalInfo.Він є у шапці всіх об'єктів формату. Тип anyType. Призначений для таких випадків. Скористаємося ним як найпростішим способом.

Перед тим як приступити до доопрацювання типових правил, створимо в групі правил дві групи. Додано», « Змінено». Це робиться в " Конвертації -".
Нові ПІД, ПКО, Алгоритми тощо. будемо створювати у групі «Додано», типові об'єкти, до яких вносимо зміни, переносимо до групи «Змінено». Це полегшить подальшу підтримку змінених правил.

Отже, почнемо.

Зміни правил УТ 11.3

Це не обов'язкова операція! Якщо Ви будете використовувати одну версію формату в правилах, не потрібно домагатися ідентичності тексту модуля. УТ 11.3.4.12 Налаштування правил обміну» на вкладці Алгоритмистворюємо новий алгоритм

  • Ім'я алгоритму "AdditionalInfoВставити"
  • Група: "Додано"

Параметри: «ДаніXDTO, Ім'я, ДодатковийЗначення»

Код алгоритму

Якщо ДаніXDTO.Властивість("AdditionalInfo") І ТипЗнч(ДаніXDTO.AdditionalInfo)=Тип("Структура") Тоді ДодатковіДані = ДаніXDTO.AdditionalInfo; Інакше Додаткові = Новий Структура; КінецьЯкщо; Вставити(Ім'я, Додатковий); ДаніXDTO.Вставити("AdditionalInfo", Додаткові дані);

Зберігаємо алгоритм та переходимо на вкладку « Правила конвертації об'єктів»

За кнопкою « Знайти» шукаємо «Номенклатура», відкриваємо ПКО « Довідник_Номенклатура_Надсилання». Переходимо на вкладку « При відправленні». Там бачимо поле «Ім'я оброблювача:». Можна прямо туди внести зміни.
Більш складний код, який вимагає налагодження, можна писати в конфігурації. Шукаємо в модулі обміну в УТ 11.3 процедуру з ім'ям ПКО_Довідник_Номенклатура_Надсилання_При ВідправціДанихі допрацьовуємо там.
Для перенесення змін з УТ 11.3 у КД3 копіюємо всю процедуру в буфер обміну, у КД3 у формі « Відкриваємо конфігуратор БП, створюємо нову зовнішню обробку, наприклад, Ім'я «» натискаємо кнопку «».

Для нашого прикладу код такий

Якщо значенняЗаповнено(ДаніІБ.ВидНоменклатури) Тоді //ED AdditionalInfoВставити(ДаніXDTO, "ВидНоменклатури", Рядок(ДаніІБ.ВидНоменклатури.УнікальнийІдентифікатор()));

AdditionalInfoВставити(ДаніXDTO, "ВідНоменклатуриНайменування", ЗагальногоПризначення.ЗначенняРеквізитуОб'єкта(ДаніІБ.ВидНоменклатури, "Найменування")); // AdditionalInfoВставити... //додаємо інші службові реквізити КінецьЯкщо;Після перенесення змін до КД3 натискаємо кнопку "

Зберегти модуль менеджера обміну

і переносимо код з буфера в модуль УТ 11.3. Зміни правил у БП 3.0Вносимо зміни до ПКО " Довідник_Номенклатура_Отримання", на вкладці " При конвертації даних XDTO".

", ім'я процедури"

Якщо ДаніXDTO.Властивість("AdditionalInfo") І ТипЗнч(ДаніXDTO.AdditionalInfo)=Тип("Структура") Тоді //ED ДодатковіДані = ДаніXDTO.AdditionalInfo;

Якщо ДопДані.Властивість("ВидНоменклатури") Тоді ВидНоменклатури = ОбмінДанимиXDTOСервер.ПосиланняОб'єктаПоУІДОб'єктаXDTO(ДопДані.ВидНоменклатури, Тип("ДовідникПосилання.ВидиНоменклатури"); Якщо ВидНоменклатури.ОтриматиОб'єкт()=Невизначено І Додаткові.Властивість("ВиглядНоменклатуриНайменування") Тоді //Створюємо новий ВидНоменклатуриОб'єкт = Довідники.ВидиНоменклатури.СтворитиЕлемент();".

ВидНоменклатуриОб'єкт.УстановитиПосиланняНового(ВидНоменклатури);

ВидНоменклатуриОб'єкт.Найменування = ДопДані.ВидНоменклатуриНайменування;

// заповнюємо інші службові реквізити ЗаповнитиЗначенняВластивостей(ВидНоменклатуриОб'єкт,ДопДані);

ВидНоменклатуриОб'єкт.Записати();

  1. ВидНоменклатури = ВидНоменклатуриОб'єкт.Посилання; МенеджерОбмінЧерезУніверсальнийФормат;
  2. КінецьЯкщо;
  3. ВидНоменклатури = ВидНоменклатури;
  4. КінецьЯкщо; КінецьЯкщо;

Одного коду недостатньо. Необхідно на вкладці "Правила конвертації властивостей" додати ПКС із властивістю конфігурації " " та прапорцем "

Використовується алгоритм конвертації Переносимо модуль менеджера обміну модуль конфігурації БП 3 або у зовнішню обробку. нині найоптимальніший. Нестача поки що одна - необхідно знімати прапор "Безпечний режим" при підключенні даного розширення. Це обмежує його використання у хмарних сервісах. Чекаємо на рішення від 1С про порядок заміни правил обміну в універсальному форматі в 1С фреш.

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

///////// // Загальний модуль ОбмінДанимиПеревизначений &Замість("При отриманні ДоступнихВерсійФормату") Процедура ED_ПриОтриманніДоступнихВерсійФормату(ВерсіїФормату) ED_ОбмінДанимиСервер.ПриОтриманніДоступнихВерсів; КінецьПроцедури //////// // План обміну СинхронізаціяДанихЧерезУніверсальнийФормат: Модуль менеджера #Якщо Сервер Або ТовстийКлієнтЗвичайнийДодаток Або ЗовнішнєЗ'єднання Тоді&Замість("При отриманніНалаштувань") Процедура ED_При отриманні налаштувань. БП.Ім'яКонфігураціїДжерела();

Розглянемо 4-й варіант, який описаний у документації, т.к. у БСП немає такої можливості. Цей варіант вже застарів. Зовнішня обробка з правилами застосовувалась у перших версіях з універсальним форматом обміну. Зараз 1С поступово позбавляється цього функціоналу.

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

Підключення зовнішньої обробки з правилами до БП 3.0.52 та вище

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

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

Процедура EDм_ОтриматиВерсіюФорматуОбміну(ВерсіїФормату, Знач ВузолІнформаційноїБази) Запит = Новий Запит("ВИБРАТИ РІЗНІ | ФорматаОбмін ЯК ВерсіяФорматуОбмін |З |ПланОбміну.СинхронізаціяДанихЧерезУніверсальнийФормат ЯК<>""" | І СинхронізаціяДанихЧерезУніверсальнийФормат.Посилання = &Посилання"); Запит.УстановитиПараметр("Посилання", ВузолІнформаційноїБази); КлієнтСервер.РежимНалагодження () Тоді ДаніОбробки = Нові ДвійковіДані(Ім'яОбробки); ждений());Інакше Ім'яОбробки = ЗовнішніОбробки. КінецьЯкщо;КонецьЯкщо;МенеджерОбміну=ЗовнішніОбробки. зелІнформаційноїБази) ВерсіїФорматуОбмін = Новий Відповідність; Ім'яПланаОбміну = ВузолІнформаційноїБази.Метадані().Ім'я;<ВерсииФорматаОбмена>Версії Формату Обміну = ОбмінДанимиСервер.

EDм_ОтриматиВерсіюФорматуОбміну(ВерсіїФорматуОбміну, ВузолІнформаційноїБази);

    Інакше ОбмінДанимиПеревизначається.ПриОтриманніДоступнихВерсійФормату(ВерсіїФорматуОбміну); КінецьЯкщо;Якщо ВерсіїФорматуОбміну.Кількість() = 0 Тоді ВикликатиВиняток СтроковіФункціїКлієнтСервер.ПредставитиПараметриВрядок(НСтр("ua = "Не задані версії формату обміну. ​​|Ім'я плану обміну: %1 |Процедура: ОтриматиВерсіїФорматуОбміну(

  • )""), ВузолІнформаційноїБази.Метадані().Ім'я);

КінецьЯкщо;

&Замість("ОтриматиВерсіїФорматуОбміну") Процедура ED_ОтриматиВерсіїФорматуОбміну(ВерсіїФормату) ОбмінДанимиУТ.ДоступніВерсіїУніверсальногоФормату(ВерсіїФормату);<>Запит = Новий Запит("ВИБРАТИ РІЗНІ | СинхронізаціяДанихДерезУніверсальнийФормат хронізаціяДанихЧерезУніверсальнийФормат.ШляхКМенеджеруОбміну<>""""");Вибірка = Запит.Виконати().Вибрати(); АдресаОбробки = ПоміститиВчаснеСховище(Дані Обробки); Підключити(Адреса Обробки); Ім'яОбробки);ВерсіїФормату.

Налагодження найпростіше вести у файловій базі. Точку зупину ставимо у обробці з правилами. Щоб знайти необхідну процедуру, використовуємо КД3. Знаходимо ПКО, ПІД чи Алгоритм, дивимося " Ім'я оброблювача" або " Ім'я алгоритму", шукаємо цю процедуру в модулі правил. Після правки модуля не забуваємо скопіювати процедуру в буфер і в КД3 натиснути кнопку "". Будьте уважні, має бути відкрита ця конвертація.

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

Загальновідомі посилання на документацію з КД3:
  • 1С-Навчальний центр №3, "Конвертація даних 3.0" - http://www.1c-uc3.ru/konvert30.html
Розширити сферу застосування КД3 Ви можете за допомогою цих публікацій:
  • - конфігурації попередніх версій на платформі 8.2 і нижче перетворюються на сумісні з ED.
Заощадити час та скористатися готовими правилами для останніх версій конфігурацій можна тут
  • - Розширений функціонал, виправлення помічених помилок.
Є дописана БД 1С Управління Торгівлею (далі УТ) редакції 10.2 на платформі 8.1.
І є стандартна БД 1С Бухгалтерія на платформі 8.3.

Завдання:

Налагодити обмін даними між базами.

Рішення:

Встановив 1С Конвертація даних, редакція 2.1.
Завантажив.
Запускаю "Стартовий помічник" (рис.1).

1. Далі.
2. Вибираю "Створити нові правила обміну даними (з нуля)". Далі.
3. На третьому етапі програма вимагає вказати зміни джерела та приймача.
Створюю конфігурацію джерела (1С УТ):
- так як у мене 1С УТ на платформі 8.1, то з диска ІТС беру зовнішню обробку MD81Exp.epf (її можна завантажити).
- відкриваю 1С УТ. Файл --> Відкрити --> MD81Exp.epf .

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

Натискаю кнопку "Вивантажити".

Аналогічно проробляю все те саме з базою приймачем. З 1С Бухгалтерією 8.3. Тільки для неї беру зовнішню обробку MD83Exp. (її можна завантажити).

Переходжу назад до 1С Конвертація даних.

Ми зупинилися на третьому етапі. Натискаю кнопку "Нова", вказую сформований файл структур метаданих. У довідник конфігурацій, завантажиться ця структура.

4. На четвертому кроці вибираю пункт "Автоматично створити усі можливі правила обміну даними".

Тепер перед нами відчинилось нове вікно. Створено правила конвертації об'єктів. Потрібно створити правила розвантаження даних. Для цього переходжу на другу вкладку "Правила вивантаження даних" та натискаю кнопку "Створити правила вивантаження".