Інтернет Windows Android

Конвертація даних редакція 3.0. Навіщо тоді потрібна КД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 і вище.

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

& НаСервере Процедура ПріСозданііНаСервере (Відмова, СтандартнаяОбработка) // Список вибору версій формату. ВерсііФормата = Новий Відповідність; ОбменДанниміПереопределяемий.ПріПолученііДоступнихВерсійФормата (ВерсііФормата); Для Кожного ПланОбмена З ОбменДанниміПовтІсп.ПланиОбменаБСП () Цикл Якщо ОбменДанниміПовтІсп.ЕтоПланОбменаXDTO (ПланОбмена) Тоді ВерсііФорматаПланаОбмена = Новий Відповідність; ВерсіяБСП243 = ОбщегоНазначеніяКліентСервер.СравнітьВерсіі (СтандартниеПодсістемиСервер.ВерсіяБібліотекі (), "2.4.3.1")> = 0; МодульОбменДанниміСервер = ОбщегоНазначенія.ОбщійМодуль ( "ОбменДанниміСервер"); Якщо ВерсіяБСП243 Тоді ВерсііФорматаПланаОбмена = МодульОбменДанниміСервер.ЗначеніеНастройкіПланаОбмена (ПланОбмена, "ВерсііФорматаОбмена"); Інакше ПланиОбмена [ПланОбмена] .ПолучітьВерсііФорматаОбмена (ВерсііФорматаПланаОбмена); КонецЕсли; Для Кожного ВерсіяПланаОбмена З ВерсііФорматаПланаОбмена Цикл МодульМенеджера = ВерсііФормата.Получіть (ВерсіяПланаОбмена.Ключ); Якщо МодульМенеджера = Не визначено Або МодульМенеджера<>ВерсіяПланаОбмена.Значеніе Тоді ВерсііФормата.Вставіть (ВерсіяПланаОбмена.Ключ, ВерсіяПланаОбмена.Значеніе); КонецЕсли; КонецЦікла; КонецЕсли; КонецЦікла; Для Кожного ВерсіяФормата З ВерсііФормата Цикл Елементи.НомерВерсііФормата.СпісокВибора.Добавіть (ВерсіяФормата.Ключ); КонецЦікла; АдресХраніліщаВерсііФормата = ПоместітьВоВременноеХраніліще (ВерсііФормата, УнікальнийІдентіфікатор); КонецПроцедури

  • Вибираємо «Номер версії формату», наприклад, « 1.3 »,
  • «Каталог обміну» - створимо папку, наприклад, «»
  • Натискаємо кнопку « вивантажити».

Повторюємо ці дії для інших версій формату і зберігаємо в відповідні папки "1.4", "1.5" і т.п .. Для БП 3.0 досить вивантажити всі формати від 1.3 і вище. Для інших конфігурацій від 1.2 і вище.

Правила вивантажені, тепер потрібно завантажити їх в КД3. У КД2 правила завантажуються одночасно зі створенням конвертації. У КД3 потрібно створити конвертацію і завантажити в неї правила.
У КД3 Розділ Конвертації - конвертації - Створити. . Вибираємо конфігурацію. Для зручності можна змінити найменування конфігурації, перейшовши в режим редагування елемента. Наприклад, замість БухгалтеріяПредпріятіявказати « БП 3.0.54.15». реквізит ім'яне потрібно змінювати! Найменуванняконвертації можна вказати таким же, наприклад, « БП 3.0.54.15». В табличну частинувибираємо підтримувані версії формату. Версії формату ті, які ми вивантажили з бази вище. Зберігаємо конвертацію.

Переходимо в розділ Конвертація - Завантаження правил синхронізації з файлів.
:

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

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

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

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

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

Натискаємо кнопку « Завантажити». « Обробники призначені для іншої конвертації: БП 3.0.44 (формат 1.4). Продовж?»Натискаємо« Так».
Не закриваючи форму вибираємо інший « Каталог обміну»І натискаємо кнопку« ». Повторюємо кілька разів завантаження правил для кожного формату в поточну конвертацію.
Після успішного завантаження переходимо в розділ « Конвертації »-« Налаштування правил конвертації», Відкриваємо нашу конвертацію з форми списку.
Якщо бачимо, ПІД і т.п., значить завантаження в КД3 вдалася.

Перевірка коректності завантаження правил

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

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

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

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

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

БП 3.0.54.15

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

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

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

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

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

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

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

Отже, приступимо.

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

У КД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".

Код, що додається в модуль "ПКО_Справочнік_Номенклатура_Полученіе_ПріКонвертацііДаннихXDTO"

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

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

Переносимо модуль менеджера обміну в модуль конфігурації БП 3 або в зовнішню обробку.

Як завантажити допрацьовані правила КД3 в базу?

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

Правила, підготовлені в КД3 можна встановити в конфігурацію трьома способами

  1. Зняти конфігурацію з підтримки і внести зміни до загального модуль МенеджерОбменаЧерезУніверсальнийФормат;
  2. На конфігураціях, що працюють в режимі сумісності з платформою 8.3.10 і вище можна вносити виправлення в загальний модуль за допомогою розширення.
  3. Підключити розширення, яке повністю підміняє загальний модуль з правилами.
  4. Не знімаючи конфігурацію з підтримки підключити до вузла зовнішню обробку з правилами;

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

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

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

//////// // Загальний модуль ОбменДанниміПереопределяемий & Замість ( "ПріПолученііДоступнихВерсійФормата") Процедура ED_ПріПолученііДоступнихВерсійФормата (ВерсііФормата) ED_ОбменДанниміСервер.ПріПолученііДоступнихВерсійФормата (ВерсііФормата); КонецПроцедури //////// // План обміну СінхронізаціяДаннихЧерезУніверсальнийФормат: Модуль менеджера # Якщо Сервер Або ТолстийКліентОбичноеПріложеніе Або ВнешнееСоедіненіе Тоді & Замість ( "ПріПолученііНастроек") Процедура ED_ПріПолученііНастроек (Налаштування) Настройкі.ІмяКонфігурацііІсточніка = ОбщегоНазначеніяБП.ІмяКонфігурацііІсточніка (); Настройкі.ЕтоПланОбменаXDTO = Істина; Настройкі.ПредупреждатьОНесоответствііВерсійПравілОбмена = Брехня; Настройкі.ФорматОбмена = "http://v8.1c.ru/edi/edi_stnd/EnterpriseData"; ВерсііФормата = Новий Відповідність; ED_ОбменДанниміСервер.ПріПолученііДоступнихВерсійФормата (ВерсііФормата); // ED Настройкі.ВерсііФорматаОбмена = ВерсііФормата; Настройкі.ПланОбменаІспользуетсяВМоделіСервіса = Істина; Настройкі.Алгорітми.ПріПолученііВаріантовНастроекОбмена = Істина; Настройкі.Алгорітми.ПріПолученііОпісаніяВаріантаНастройкі = Істина; Настройкі.Алгорітми.ПредставленіеОтбораІнтерактівнойВигрузкі = Істина; Настройкі.Алгорітми.НастроітьІнтерактівнуюВигрузку = Істина; КонецПроцедури # КонецЕсли //////// // Загальний модуль в розширенні ED_ОбменДанниміСервер Процедура ПріПолученііДоступнихВерсійФормата (ВерсііФормата) Експорт ВерсііФормата.Вставіть ( "1.2", МенеджерОбменаЧерезУніверсальнийФормат); ВерсііФормата.Вставіть ( "1.3", ED_МенеджерОбменаЧерезУніверсальнийФормат); ВерсііФормата.Вставіть ( "1.4", ED_МенеджерОбменаЧерезУніверсальнийФормат); ВерсііФормата.Вставіть ( "1.5", ED_МенеджерОбменаЧерезУніверсальнийФормат); ВерсііФормата.Вставіть ( "1.6", ED_МенеджерОбменаЧерезУніверсальнийФормат); КонецПроцедури //////// // Загальний модуль в розширенні ED_МенеджерОбменаЧерезУніверсальнийФормат // Конвертація БП3.0.44 (формат 1.6) від 27.11.2018 11:23:58 // Доопрацювання для БП 3.0.67.х від 31.12 ... .

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

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

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

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

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

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

Як виконувати налагодження правил у зовнішній обробці

    У конфігураторі " Сервіс -> Параметри -> Запуск 1С: Підприємства -> Параметр запуску", Вказати параметр" ".

  • Нижче наведено код для розширення, для УТ 11.4, КА 2.4, ERP 2.4. Код для БП 3.0 наведено вище. Модуль менеджера плану обміну СінхронізаціяДаннихЧерезУніверсальнийФормат.

Код розширення EDОтладка

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

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

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

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

Основне питання виникає у фахівця при початку роботи в конфігурації "1С: Конвертація даних" редакції 3.0 - в чому різниця? У чому відмінності в редакції 3.0 від редакції 2.1.
Умовно відмінності можна розділити на дві групи:

  • функціональні
  • архітектурні

архітектурні відмінності

У редакції 2.1 здійснювалася розробка правил обміну, окремих для кожної окремо взятої конфігурації. Після чого ці правила використовувалися в універсальної обробціобміну в форматі XMLабо для обміну за правилами між конфігураціями. На виході отримували файл з розширенням XML, Який містив крім даних обробники виконуються на стороні одержувача. У редакції 3.0 використовується єдиний універсальний формат EnterpriseDataпо якому виконується передача трьох основних типів даних:
  • Нормативно-довідкова інформація
  • документи
  • Залишки на дату в кількісному або сумовому вираженні
Опис формату EnterpriseData версії 1.0 можна подивитися. Дана версія формату включає в себе опис 94 типів бізнес-сутностей з різних областей бізнесу. Так само відзначимо що формат є розширюваним.

функціональні відмінності

Для можливості застосування формату EnterpriseDataнеобхідне використання версії Бібліотеки стандартних підсистем не нижче 2.2.5, інакше тільки редакція 2.1.
Якщо Вам потрібно розробити правила для одноразового перенесення даних (або відновлення), або перенести залишки ... Те! Швидше і вигідніше використовувати для розробки конвертацію редакції 2.1
Але якщо Ви хочете щоденний надійний обмін між рішеннями на платформі "1С: Підприємство" (за умови що версія БСП відповідає), тоді Ваш вибір - "1С: Конвертація даних" редакції 3.0.


Звісно! Багато хто скаже, що до цього дня підприємства використовують обмін в старому форматі, і кожні пів секунди літають гігабайти даних, і все працює і далі далі далі ... Безумовно працює! Так само як і багато організацій використовують для обліку платформу 1С версії 7.7. Важливо розуміти, що мова йде про новий формат, і про те, що типові рішення використовують формат "EnterpriseData", а значить вести розробку в редакції 3.0 потрібно вміти вже зараз.

Колеги, є дві новини по КД 3.0

1. Прийнято вже більше 500 заявок на курс.Зрозуміло, що оплачені будуть не всі замовлення, але це вже немало.

Тому набір в групу будемо пригальмовувати, і вже через добу пільгові умови будуть зняті.

2. Для тих, хто хоче почати працювати з КД 3.0, але з якоїсь причини не потрапляє в групу - викладаємо.

Три відео для початківців працювати з КД 3.0

Судячи з обговореннями на мисте, частина 1С-ників "заглядає всередину" КД 3.0 і вибігає звідти, хрестячись "чур мене" :)

Насправді, все набагато Православної. Це тільки здається складним.

Незвичним - так. Але не складним.

Це ми сьогодні і хочемо показати.

В сьогоднішніх відео - розробка правил обмінів "з нуля" для самописних (нетипових) конфігурацій.

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

І зробимо це за 20 хвилин :)

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

Якщо хтось із ваших колег скаже: "так 1С там в КД 3 наворотила, хрін зрозумієш ..." - покажіть йому це відео.

Якщо хтось скаже: "Ok, я настрою перенесення за пару днів" і піде ворушити OLE / .txt - покажіть йому це відео.

Нехай старпер буде соромно :)))

Отже, ми вирішуємо просту задачу - перенесення елементів довідника, але зробимо все правильно:

  • Обмін буде працювати через універсальний формат (вивантаження в xdto)
  • Вивантажуватимуться тільки змінені об'єкти - будуть використовуватися плани обміну і штатний функціонал реєстрації змін

Таким чином, Ви зрозумієте, як робити переноси на КД 3.0 з нуля.

Дані відеоуроки актуальні для БСП редакції 2.3.2(Для будь-якої збірки старше 2.3.2.43).

Якщо Ви використовуєте більш старшу версію БСП, 0 зробіть «поправку» на змінився інтерфейс і розширену функціональність. Для цього самостійно повторіть приклад з відео.

В уроці виконуємо обов'язкові діїдля настройки обміну:

  • Вивантаження структури метаданих з конфігурацій джерела і приймача
  • Завантаження метаданих в КД 3.0
  • завантаження XDTO-пакетів EnterpriseData і ExchangeMessage в КД 3.0
  • створення двох конвертацій- для конфігурацій джерела і приймача

Якщо Ви вже робили це, можете сміливо перемикатися на наступне відео - там і почнеться магія перенесення :)

У відео ми покажемо:

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

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

Також продемонструємо, як створювати правила, необхідні для обміну даними:

  • Правила конвертації об'єктів (ПКО)
  • Правила конвертації властивостей (ПКС)
  • Правила конвертації зумовлених даних (ПКПД)
  • Правила обробки даних (ПІД)

Також ми покажемо, як швидко зрозуміти, Які властивості формату є обов'язковими для заповнення.

Відео № 3: Завантаження даних з універсального формату

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

Так само, як і під час вивантаження, буде потрібно настройка ПКО, ПКС, ПОД.

В результаті - ми отримали обмін, який працює на планах обміну:

І кілька слів про набір до групи

Заявок багато.

Зазвичай ми просто зупиняємо набір в групу.

Але тут все простіше - можливість купити курс залишиться, але ціну ми піднімемо до 9700 вже завтра (в середу, 25 травня) ...

Знижки та пільги також будуть зупинені завтра.

Єдиний виняток - покупці курсу по КД 2.0: для них ще кілька днів буде діяти ціна 6900. Для тих, хто повернеться з відрядження, а в спальні дружина с, а тут таке було :)

Конвертація даних 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. Окремо хотілося б виділити методичку підручник - (автор - Ольга Кузнєцова).