1с конвертация данных обновить конфигурацию
В данной статье разберем основы технологии обмена данными с помощью 1С:Конвертации данных 3.0 – как это работает, какие преимущества, актуальны ли старые технологии обмена.
Многие специалисты работали с обменами данных в КД 2.0/2.1. Конвертация 3.0 представляет совершенно новую технологию. Сейчас мы расскажем её суть.
В чем суть Конвертации данных 3.0
Конфигурация «Конвертация данных» впервые была выпущена фирмой 1С для платформы 7.7, и с тех пор механизмы обменов данными развивались в рамках одного подхода.
Все обмены между различными по структуре базами 1С требовали написания правил обмена.
При таком подходе в базе-Источнике каждый объект проходит ряд преобразований, которые описаны в правилах, созданных для этой пары баз.
Xml-узел, в который выгружается этот объект, по структуре аналогичен объекту в базе-Приемнике. При загрузке его остается только преобразовать в объект информационной базы.
Для того, чтобы создать правила, нужно знать структуру метаданных базы-Источника и базы-Приемника, и описать преобразование объектов всех нужных типов. Правила выгружаются во внешний xml-файл, который используется каждый раз при выгрузке.
Одна из проблем этого подхода заключается в том, что после каждого изменения конфигурации баз Источника или Приемника необходимо проверять правила на актуальность, что является долгим и не всегда простым процессом.
Тем более, что, если обмен выполняется в обе стороны, то таких правил двое.
В октябре 2014 года была выпущена первая версия «Конвертации данных», редакция 3.0, предназначенная для тестирования.
Новая технология, реализованная в «Конвертации данных 3.0», призвана обособить процессы выгрузки и загрузки, сделать их независимыми. Для этого создана совершенно другая концепция обмена.
Данные будут выгружаться в формат EnterpriseData, который не зависит напрямую от структуры баз Источника и Приемника.
Формат EnterpriseData – это xml-формат, который создан, чтобы стать универсальным для всех обменов как между базами 1С, так и со сторонними базами.
Он предоставляется в виде xsd схемы, на основании которой формируется механизм преобразования объектов между этим форматом и любыми объектами информационных баз. Для упрощения этих преобразований формат EnterpriseData содержит объекты, аналогичные объектам метаданных типовых конфигураций.
При обмене через универсальный формат в каждой из баз содержится только код для преобразования объектов из базы в универсальный формат EnterpriseData и обратно.
При выгрузке не используется информация о том, какую структуру имеют базы-получатели. Поэтому при изменении конфигурации каждой из баз, участвующих в обмене, нужно будет изменить этот код только в этой базе.
Этот код находится в общем модуле МенеджерОбменаЧерезУниверсальныйФормат. Там же находятся и все обработчики событий, и весь механизм преобразования объектов, благодаря чему значительно упрощается процесс отладки. Там же могут быть описаны параметры, с помощью которых можно использовать единожды описанную там логику преобразования объектов для обмена с разными базами.
При необходимости разработчик может изменить структуру формата EnterpriseData для решения более широкого круга задач.
В процессе настройки обмена сама конфигурация «Конвертация данных 3.0» выполняет на данный момент только одну функцию — на базе структуры метаданных баз, участвующих в обмене, и схемы универсального формата она формирует тексты общих модулей МенеджерОбменаЧерезУниверсальныйФормат для каждой из баз.
Удобным будет сформировать эти модули на начальных этапах настройки обмена, а дальнейшие доработки выполнять непосредственно в тексте модулей в конфигураторе.
Новый механизм обмена не исключает также использования правил регистрации. Их настройка в настоящий момент выполняется с помощью конфигурации «Конвертация данных 2.0».
Таким образом, новая технология имеет ряд преимуществ:
- Для обмена между тремя и более базами не нужно создавать отдельные правила для каждой пары баз
- Упрощается поддержка обменов данными в случае изменения конфигураций баз
- Создан новый универсальный формат, который может быть использован, в частности, для обмена со сторонними базами
- Упрощается отладка алгоритмов, используемых при выгрузке-загрузке объектов.
В ближайшей перспективе планируется постепенный перевод всех обменов между типовыми конфигурациями на новый стандарт.
Однако обмен через Универсальный формат не рассматривается как полная замена технологии обменов по правилам. «Конвертация данных» редакции 2.0/2.1 будет поддерживаться и дальше, так как для решения определенного круга задач она остается более удобным и гибким механизмом.
Чтобы узнать, как КД 3.0 выполняет обмен данными, переходите к следующей статье – Конвертация данных 3.0. Новая технология.
PDF-версия статьи для участников группы ВКонтакте
Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.
Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.
Комментарии / обсуждение (51):
К сожалению, да, проблема еще не решена.
На партнерском форуме разработчики периодически выкладывают измененную обработку для выгрузки правил, которая подходит для новых версий конфигураций.
Добрый день!
Как выгрузить один объект в два (три и т.п.)? Например,выгрузить документ на перечисление налогов “ЗаявкаНаПереводДСВБюджет” разбив документ, где в табличной части разные получатели налогов, на соответствующее кол-во документов разбитых по получателям налогов.
Здесь самая большая проблема будет с идентификацией. Если Вы выгружаете один объект в несколько объектов одного типа, то уникальный идентификатор не получится для этого использовать. Придется настроить поиск по полям, но нужно следить, чтобы значения этих полей не менялись ни в источнике, ни в приемнике.
Ольга, добрый день.
Пытаюсь загрузить правила обмена в конвертацию 3.0 на текущих конфигурациях
Источник БП 3.0.53.39
Приемник ЕРП 2.4.1.227
Вопросы
1) Будут ли работать правила из актуальных конфигураций (октябрь 2017) в конвертации 3.0.4.3 или сразу работать 3.0.5.3
2) На сайте 1С написано что одно из отличий между версиями Конвертации 3.0 – работа с табличными частями, можно более подробно об этом, (например когда – как сейчас работает выгрузка/загрузка Табличной части). Пробывал пример с сайта 1С – не вышло.
3) В конфигурации БП 3.0 сейчас два общих модуля – МенеджерОбменаЧерезУниверсальныйФормат и МенеджерОбменаЧерезУниверсальныйФормат13, как система определяет какие правила надо использовать? Как мне определить какой модуль следует использовать для загрузки правил? Как конвертация определяет из какого модуля прочитать правила обмена?
4) Для чего нужно указывать несколько поддерживаемых версий форматов для одной конвертации, мы же ведем разработку только в одном формате, например 1.0 (как в лекциях)
5) Для конфигурации ЕРП пытаюсь загрузить правила синхронизации из файлов (причем для БП 3.0 все получилось), выбрал каталог обмена, выбрал модуль менеджера, выбрал ранее созданную конвертацию ЕРП (указал только одну версию формата – 1.4) и при загрузке ошибка – “Поле объекта не обнаружено”, как победить?
В случае если между базами данных 1с настроен обмен с использованием правил обмена. То в результате доработки конфигураций или обновления на более актуальный релиз возникает задача актуализации правил обмена.
ВВЕДЕНИЕ
В случае если между базами данных 1с настроен обмен с использованием правил обмена. То в результате доработки конфигураций или обновления на более актуальный релиз возникает задача актуализации правил обмена.
Схематический процесс актуализации правил представлен далее:
Обращаю внимание, что первый пункт в данной схеме не актуален, если у вас в базе конвертация данных уже находятся правила обмена.
Создание и обновление объектов метаданных конвертации
Выгрузка правил обмена из базы в XML файл (для новой конвертации)
Для того что выгрузить привила обмена, в типовых конфигурациях нужно зайти в справочник настройки обмена данными а нажать кнопку «Сохранить правила обмена
Рис. 1. Форма элемента справочника Настройки обмена данными
Загрузка правил обмена, в конфигурацию КД 2.0 (для новой конвертации)
После запуска Конвертации данных нужно открыть форму загрузки правил обмена, и указать файл с правилами обмена данными.
Рис. 2. Вызов формы загрузки правил обмена
Выгрузка изменений конфигурации в файл XML (MD81Exp.epf, MD82Exp.epf)
Выгрузка конфигурации осуществляется обработкой MD81Exp.epf, MD82Exp.epf соответственно для версий 1с 8.1 и 8.2 .Данная обработка расположена в каталоге шаблона конфигурации КД (например C:\Users\RudakovDV\AppData\Roaming\1C\1Cv82\tmplts\1c\Conversion\2_1_7_1 ).
Осуществим выгрузку конфигурации БП 3.0.
Открываем обработку MD82Exp.epf, в ней отмечаем выгружать движения документов без проведения и нажем выгрузить (Рис. 3.)
Рис. 3. Форма обработки MD82Exp.epf
Замена изменённой конфигурации в правилах обмена.
Откроем список правил обмена (Рис. 4.)
Рис. 4. Открытие формы списка правил обмена
Вызываем форму элемента правил обмена (Рис.5). Далее взываем форму конфигурации заменимой конфигурации.
Рис. 5. Форма правил обмена
Появится форма элемента справочника конфигурации (Рис. 6.), в ней нужно заменить старую конфигурацию, на актуальную конфигурацию которую мы получили на втором шаге.
Рис. 6. Формы конфигурации
В форме загрузки метаданных конфигурации, следует обратить внимание, что вы действительно заменяете (а не дополняете и не создаете) нужную конфигурацию.
Рис. 7. Форма конфигурации и форма загрузки структуры метаданных конфигурации
Редактирование правил обмена
Актуализация ПКС и ПКО
При редактировании правил обмена следует обратить внимание на списки правил конвертации объектов и списки правил конвертации свойств. Если объект или свойство удалены (возможно, переименованы) в новой версии конфигурации, то строка с данным полем будет выделена красным. Подобный пример приведен на Рис. 8, в результате обновления к новой конфигурации была удалена табличная часть «Пересортица» и реквизит «ПолученИзАстор», следовательно, данные строки выделены красным.
Рис. 8. Участки, на которые следует обратить внимание при корректировании правил обмена
Для исправления данных недостатков, нужно изменить источник и приемник конвертируемого свойства. Для этого нужно кликнуть по выделенной строке дважды, и в появившейся форме правиле конвертации свойств (Рис. 9.), просмотреть свойства источника и свойства приемника. Если в конфигурации были удалены реквизиты или табличные части, то в конвертации данных при загрузке, эти свойства будут помечены на удаление. Следовательно, нужно переназначить свойства, помеченные на удаление на новые появившиеся свойства, или может быть удалить данную конвертацию свойства из ПКО.
Рис. 9.Актуализация конвертации свойств.
Аналогичным образом нужно актуализировать правила конвертации объектов.
Актуализация кода обработчиков
Сохранение правил обмена и их загрузка в БД
Правила обмена нужно сохранить в файл на диске, для этого нажмите «Сохранить правила» в форме настройки правил обмена.
Рис. 10. Сохранение правил обмена
Появится форма сохранения правил, в которой указывается файл сохранения правил обмена.
Рис. 11. Форма сохранения правил обмена
Теперь в форме элемента справочника настройки обмена данными, загружаем правила обмена в БД. Теперь можно провести обмен.
Так же нужно обратить внимание, что при замене правил обмена в конфигурации конвертация данных новой версией правилами обмена, не всегда новые правила загружаются корректно. В частности если в вашей конфигурации конвертация данных имеются правила обмена, в которых галочка «Работа с параметрами версии 2.1» отключена, а в загружаемых правилах обмена включена, то ожидаемого результата что галочка будет включена не подтвердится, т .е. нужно будет вручную зайти и проставить данную галочку (Рис. 12.).
Рис. 12. Форма Правил обмена, вкладка параметры
В файлах размещенных к скачиваю, последовательно рассказано как сохранить новую конфигурацию, заменить её в правилах обмена и доработать их в соответствии с новыми изменениями. Попытался обратить внимание на важные пункты при решении данной задачи.
Буду рад дополнениям и замечаниям в комментариях .
Публикации будет полезна начинающим разработчикам в Конвертации данных 2.1.
КД 2.1.8.2. Есть правила для обмена ЗУП и ЗУП(это полные выгрузки с фильтрами и другими примочками). Базы обновились на 4 релиза и теперь у меня не все объекты выгружаются.
Подменить конфигурации в правилах на новые не получилось - всё сразу красным-красно.
Сгенерировал тогда правила между этими базами автоматом, чтоб сравнить-объединить потом со своими старыми. Но ни для этих сравнение-объединение со старыми ни проходит, что для старых с этими:
: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
Если ИндексКартинки >= 0 Тогда
В обоих случаях одинаковая ошибка.
Как мне обновить правила?
Создай новые конфигурации в базе КД, старые правила сохрани в файл и затем загрузи в новые пустые правила.
(3) Если я старые правила загружу из файла, то получу кд идентичную моей рабочей, верно?
Она у меня итак есть.
По сути это будет то же самое, что сгенерировать правила м/ду новыми конфигурациями и руками переносить из старых правил? Правильно я понял?
(6) правильно, красным помечает как раз несоответствия. Для удобства. Дальше идешь по правилам и убираешь эту красноту.
Обработка "Сравнение и объединение правил обмена" вылетает с ошибкой при попытке сделать полное сравнение двух конвертаций на основе типовых правил обмена УПП-УПП (с отбором по организации). Причина кроется в том, что в момент построения дерева объектов для отображения на форме в процедуре "УстановитьИндексКартинки" делается попытка получить картинку для бизнес-процессов, точек маршрутов и задач. В самом начале процедуры устанавливается соответствие индексов и картинок:
СоответствияИндексов = Новый Соответствие;
.
Проблема в том, что для бизнес-процессов и задач данные соответствия не задаются, поэтому далее в цикле по типу объекта вместо значения -1 получается значение "Неопределено" и не может выполниться условие в начале цикла:
Проблему временно решили, продублировав для отсутствующих объектов картинку справочника, однако хотелось бы, чтобы проблема была решена в типовой конфигурации:
Конвертация данных 2.0 и 2.1 — технологическая конфигурации фирмы 1С, реализованная на версии платформы от 8.1 до 8.3.
Главная задача инструмента — написание правил обмена между прикладными решениями 1С 8 и 7. Актуальная версия конвертации данных сегодня — 3.0.
Конвертация данных — очень полезная конфигурация, с помощью неё можно решить не только вопрос переноса информации из одной информационной базы в другую, но и, например, преобразование информации внутри одной базы.
Конфигурацию очень удобно использовать при переносе остатков в 1С.
Конвертация данных будет полезна любому программисту: наличие навыков создания правил обмена — это серьезный плюс к профессиональным навыкам.
Обучение 1C Конвертация данных 2.0
Для обучения работы с конфигурации лучше всего подойдет решение практических задач. Попробуйте придумать себе задачи, например: перенести какую-либо информацию из одной базы в другую, превратить документ реализации в документ поступления, «загнать» текущие остатки по бухгалтерскому учету в документ «ввода остатков» и другие задачки.
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Очень полезно будет разобраться в «типовых» правилах обмена 1С 8.3, там зачастую можно найти интересные примеры реализации задач.
Для постижения основ вам потребуются материалы, рассмотрим их ниже.
Видео инструкция по конвертации
Азы настройки обмена данными в 1С с помощью конфигурации «1С Конвертации данных» на примере смотрите в видео:
Материалы, учебники для изучения 1С Конвертации данных 2.0
Материалов и документации в сети не слишком большое множество, я попробовал собрать самые важные и интересные материалы:
0. Первым делом советую бесплатный видеокурс Ильи Леонтьева, он доступен по ссылке.
1. Я бы посоветовал прежде всего пользоваться встроенной справкой в конфигурацию. Она действительно неплохо написана и грамотно реализована технически:
3. Отдельно хотелось бы выделить методичку учебник — Конвертация_данных._Методика_работы_и_примеры (автор — Ольга Кузнецова).
Другие статьи по 1С:
Видеокурс по 1С конвертации данных:
В октябре 2014 года фирма «1С» выпустила первую версию конфигурации Конвертация данных, редакция 3.0.
Эта редакция не является логическим продолжением Конфигурации данных 2.0/2.1, а представляет собой новую технологию. Ключевая идея разработчиков – упростить обмены данными между типовыми конфигурациями, а также избавится от коллизий при обменах данными.
Рассмотрим, как же работает обмен с помощью КД 3.0.
Принципы обмена с помощью Конвертации данных 3.0
Основным отличием новой технологии от существующих является использование универсального формата данных EnterpriseData, через который будут производиться обмены.
Формат EnterpriseData предоставляется в виде двух xsd-схем:
ExchangeMessage
EnterpriseData
Это основная схема, в которой описаны все объекты нового формата, их свойства и типы значений.
Объекты в этой схеме по структуре и наименованию аналогичны объектам метаданных типовых конфигураций. Это сделано для упрощения трансформации объектов типовых конфигураций в универсальный формат и обратно.
Схема содержит объекты для переноса информации трех основных типов: нормативно-справочная информация, документы и остатки на заданную дату.
Эти xsd-схемы в виде XDTO-пакетов входят в подсистему «Обмен данными» БСП начиная с версии 2.2.5.
Для разработки обмена с использованием универсального формата эти схемы должны быть выгружены во внешние файлы и загружены в конфигурацию Конвертация данных 3.0.
Далее разработчик может независимо настраивать обмен для каждой отдельно взятой базы. Он выгружает из нее описание структуры метаданных и также загружает его в Конвертацию данных 3.0. Используя специальный интерфейс, создает логику, согласно которой объекты этой базы могут преобразовываться в объекты универсального формата и обратно. Он настраивает соответствие объектов и типов, пишет обработчики событий, происходящих в разные моменты преобразования объектов.
На основании настроенной таким образом логики конфигурация Конвертация данных 3.0 формирует код, реализующий эту логику.
Он должен быть помещен в общий модуль МенеджерОбменаЧерезУниверсальныйФормат соответствующей базы. В нем содержится механизм преобразования объектов базы данных в универсальный формат и обратно, а также все обработчики событий.
После того, как модуль сформирован, разработчик обмена имеет возможность корректировать все механизмы непосредственно в этом модуле, не используя конфигурацию Конвертация данных. А также он получает возможность простой отладки в случае возникновения ошибок. Можно также загрузить правила из модуля МенеджерОбменаЧерезУниверсальныйФормат обратно в базу Конвертация данных 3.0, чтобы иметь возможность настраивать их в интерфейсе.
Когда настройка преобразования объектов одной базы завершена, разработчик может перейти к настройке обмена для следующей базы.
Разработчики фирмы “1С” регулярно выпускают новые версии формата, добавляя новые объекты и адаптируя существующие под последние версии типовых решений. При этом несколько предыдущих версий также остаются в конфигурации. Поэтому база, обновленная до последней версии типового решения, может обмениваться с базами чуть более старых версий, если в них есть совпадающие версии формата.
При необходимости разработчик может сам незначительно изменять предоставленные схемы, или разработать собственный формат, если это требуется. Для каждой версии каждого формата должна быть описана своя логика преобразования объектов.
Пользовательский интерфейс обменов через универсальный формат в БСП приближен к интерфейсу типовых обменов по правилам, что облегчает переход на новый формат с точки зрения обучения пользователя.
PDF-версия статьи для участников группы ВКонтакте
Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.
Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.
Читайте также: