Конвертация 3.0. Пример доработки: два справочника в один

Публикация № 1060904

Разработка - Системная интеграция - Обмен через XML

конвертация 3.0 КД3

Доработка правил конвертации путем расширения конфигурации: номенклатура и характеристика (ERP) в номенклатуру (БП).

Постановка задачи

В конфигурации "1С: ERP. Управление предприятием, ред. 2.4" (далее "Источник") ведется оперативный учет. Формирование бухгалтерской отчетности осуществляется в конфигурации "1С: Бухгалтерия предприятием, ред. 3.0" (далее "Приемник"). Обмен данными между Источником и Приемником односторонний. При переносе требуется формировать номенклатурные позиции Приемника как совокупность номенклатуры и характеристики (если ведется учет по характеристикам) Источника: 

Источник Приемник
Номенклатура Характеристика Номенклатура
код наименование наименование код наименование
ЦБ-00006158 Кирпич гладкий белый 00061580001 Кирпич, гладкий белый
ЦБ-00006158 Кирпич желтый 00061580002 Кирпич, желтый

 

Решение задачи

1. Так как "конечной точкой" трансформации рассматриваемых объектов Источника является справочник "Номенклатура", необходимо обеспечить последовательную нумерацию элементов справочника "Характеристики номенклатуры" (реквизит "Код" отсутствует в Источнике). Один из вариантов решения проблемы: добавление реквизита "БИТ_Код" для справочника "ХарактеристикиНоменклатуры" Источника. Заполнение реквизита (в том числе автоинкремент) оформляем путем расширения метода ПриЗаписи(). В общем случае, значение реквизита формируется как код номенклатурной позиции без используемого префикса ("ЦБ-00006158" ---> "0006158") и номер по порядку используемой в связке с номенклатурой характеристики ("0001"). Длина номера (11 символов) соответствует параметрам кодов Приемника.

Наименования элементов справочника Применика формируются путем конкатенации наименования номенклатуры и наименования характеристики.

 

2. Расширяем процедуры менеджера обмена через универсальный формат (редакция 1.6).

2.1. Правила обмена практически всех документов конфигурации Источника, имеющие в табличных частях набор реквизитов "Номенклатура и характеристика", ссылаются на процедуру ЗаполнитьХарактеристикуСтрокиТЧ. Изменим процедуру таким образом, чтобы вместо ссылки на элемент справочника "Номенклатура" передавалась структура, аналогичная ссылке, но со значениями реквизитов, которые нам необходимы (код, наименование, GUID):

 
 ЗаполнитьХарактеристикуСтрокиТЧ

 

2.2. Изменим правила обработки данных для справочника "Номенклатура":

 
 ПОД_Справочник_Номенклатура_Отправка_ПриОбработке
 
 ПКО_Справочник_Номенклатура_Отправка_ПриОтправкеДанных

 

2.3. При выгрузке документов Источника все "подчиненные" объекты передаются как ссылки (только ключевые свойства), даже если сами элементы справочника "Номенклатура" и были выгружены. Таким образом, наши номенклатурные позиции "потеряют" ряд необходимых свойств (вид номенклатуры, ставка НДС и т.п.). Исправим подобное поведение. Выгрузим полные сведения о номенклатурных позициях с характеристиками. Для этого проанализируем состав выгруженных данных и дополним файл обмена с помощью принудительного вызова ОбменДаннымиXDTOСервер.ВыгрузкаОбъектаВыборки(...):

 
 БИТ_ПослеКонвертации

 

3. Готово!

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4421 16.05.19 11:38 Сейчас в теме
Как намного проще в КД 2. Я такие вещи делал назад по заказу.
YPermitin; +1 Ответить
2. kembrik 3 17.05.19 14:15 Сейчас в теме
С Родителем в приёмнике проблем не бывает при таком варианте? Его то не перегружаете на всякий случай, предполагаете что он уже корректно заехал и создан ранее
3. blindcat2006 72 20.05.19 08:19 Сейчас в теме
Смутила фраза:
изменим GUID обрабатываемой номенклатурной позиции (для поиска по уникальному идентификатору в Приемнике). Теперь в "Ссылка" будет храниться уникальный идентификатор характеристики

При таком подходе корректно будет отрабатываться только настройка Вида номенклатуры "Характеристики – Индивидуальные для номенклатуры".
Если вдруг в ERP "заведется" Вид номенклатуры с настройкой "Характеристики – Общие для вида номенклатуры", или (еще веселее) "Общие с другим видом номенклатуры" то при передаче по Вашему алгоритму вновь появившейся номенклатуры "Плитка" с харктеристикой "Желтый" в БП 3.0 будет фигурировать все тот же "Кирпич "+ "Желтый".
Что-то мне подсказывает что бухгалтера будут совсем не рады такому "оборотню" ((.
4. forusing 48 24.05.19 12:11 Сейчас в теме
(3) Подмена GUID - на самом деле в получаемом XML "Ссылка" - это текстовое поле (пакет "ExchangeMessage" - Типы значений - Ref), которая не привязана к виду объекта метаданных, а к конкретному элементу (группе, документу). При обозначенном подходе становится возможным поиск по Уникальному идентификатору; просто GIUD (строка) характеристики теперь становится GUID (строка) номенклатуры.
Номенклатура определяется не по владельцу характеристики, а по табличным частям документа. Так что, всегда будет передан корректный "оборотень". Более того, и все реквизиты номенклатуры Приемника будут определяться только по свойствам номенклатуры из табличных частей (конечная выгрузка с полным перечнем реквизитов).
Оставьте свое сообщение

См. также

Регулярные выражения без внешних компонент? Легко! Промо

Практика программирования Обмен через XML v8 Бесплатно (free)

Сложный способ организовать проверку строки с помощью регулярного выражения в 1С. При этом ни одна внешняя компонента не пострадала. Ну и от платформы (Linux, MustDie) - не зависит.

04.03.2016    61287    starik-2005    99    

Конвертация данных 2. Использование подключаемых обработок в правилах обмена. Конвертация дерева значений

Обмен данными 1С Обмен через XML Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Разработка правил обмена с использованием подключаемых обработок. В качестве примера рассмотрена реальная задача конвертации дерева значений.

15.06.2020    2840    Drivingblind    8    

[БСП] Обмен через Конвертацию данных 2.1

Обмен через XML v8 1cv8.cf Бесплатно (free)

Добавим новый план обмена и настроим в БСП типовой обмен через правила конвертации данных (КД 2.1)

03.02.2020    7170    John_d    16    

Обмен через Конвертацию данных 2.1 во внешней обработке + Запуск внешней обработки по расписанию (БСП)

Обмен через XML v8 1cv8.cf Бесплатно (free)

Сделаем ежедневную выгрузку и загрузку данных через конвертацию данных 2.1 из одной базы в другую. Но весь код и правила конвертации будут располагаться во внешней обработке.

22.01.2020    5647    John_d    30    

Загрузка из EXCEL в 1С. Чтение файла XLSX средствами 1С. ПостроительDOM Промо

Универсальные обработки Загрузка и выгрузка в Excel Обмен через XML v8 1cv8.cf Бесплатно (free)

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Метод "NativeXLSX" (ПостроительDOM). Обрабатываются данные EXCEL типов: "Строка", "Число", "Дата" ("Время"), "Булево", "Процент", а также изображения.

11.09.2014    72193    StepByStep    27    

Как сделать обмен данными через универсальный формат быстрее? Реализация многопоточного обмена данными

Обмен данными 1С Обмен через XML v8 1cv8.cf Бесплатно (free)

Предлагаю Вашему вниманию интересный кейс по реализации обмена данными через универсальный формат между современными типовыми конфигурациями в режиме многопоточности. Учитывая все тонкости механизмов обмена данными и сложности типовых правил конвертации, сделать это оказалось совсем не так просто.

31.12.2019    7903    ids79    17    

Использование XML-схемы из макета внешней обработки

Обмен через XML Универсальные функции v8 1cv8.cf Бесплатно (free)

Простой способ использования XML-схем из макета внешней обработки.

28.10.2019    10535    Olesia_Matusevich    10    

Преобразование XML в таблицу значений или иной объект 1С методом XSL преобразования

Универсальные функции Обмен через XML v8 1cv8.cf Бесплатно (free)

Сразу открою интригу, напрямую прочитать XML, не содержащий объект 1С, не удастся. Статья раскрывает способы привести XML к формату, который возможно прочитать средствами платформы.

24.10.2019    10675    kraspila    28    

Отладка правил обмена 7.7, 8 Промо

Перенос данных из 1С7.7 в 1C8.X Обмен через XML Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Отладка правил обмена всегда была для меня больной темой, пока наконец-то не разобрался. В интернете мало тем, посвященных этому, поэтому решил написать небольшую инструкцию по этому поводу. Очень надеюсь, что она будет кому-то полезна. С радостью выслушаю недочеты.

29.10.2013    51337    pyrkin_vanya    70    

Доработка конвертации данных КД2 (версии 2.1). Расширенная диагностическая информация при выгрузке по правилам из 1С 7.7 и при загрузке в 1С 7.7

Обмен данными 1С Перенос данных из 1С7.7 в 1C8.X Обмен через XML v7.7 v8 КД Бесплатно (free)

Есть очень неприятная особенность при настройке обмена по правилам КД2 в момент отладки на стороне 1С 7.7, как при выгрузке из 1С 7.7, так и при загрузке в 1С 7.7. Непонятно, в каком конкретно месте формирования или разбора данных XML файла в какой именно момент споткнулась программа (произошел сбой). Я нашел способ вывода дополнительной диагностики, теперь точно известно, на каком элементе данных XML споткнулся модуль выгрузки V77Exp.ert (модуль загрузки V77Imp.ert). Теперь отладка правил обмена на стороне 1С 7.7 стала простой, выполняется на порядок проще.

18.10.2019    5561    ksnik    0    

Практика XDTO. Нюансы

Практика программирования Обмен через XML v8 Бесплатно (free)

Некоторые практические моменты работы с XDTO. Дополнения к очевидному.

23.09.2019    12853    Yashazz    27    

Запись/Чтение XML, пример обмена по COM соединению

Обмен через XML v8 1cv8.cf Россия Бесплатно (free)

Пример работы с XML, запись и чтение, обмен по COM между одинаковыми конфигурациями.

08.09.2019    11418    user5300    7    

Обмен по расписанию типовыми средствами. Промо

Распределенная БД (УРИБ, УРБД) Обмен через XML Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Бесплатно (free)

Часто перед интеграторами стоит задача организовать автообмен (по расписанию или при наступлении какого-либо события) данными между различными конфигурациями. В этой статье я попробую изложить простую инструкцию, как это можно сделать средствами, заложенными в типовые конфигурации 1С (ЗУП, БП, УПП и т.д.). Для обмена используется подсистема "Обмен данными" из БСП

20.06.2012    102365    kser87    52    

Конвертация данных 2.0. Перенос справочника с иерархией групп и элементов

Обмен через XML v8 1cv8.cf Россия Бесплатно (free)

Детективная история о том, как при переносе элементы справочника становились не "видимыми".

09.08.2019    5131    chagbig    5    

Загрузка данных в БП 3.0 (Универсальный обмен данными XML)

Обмен через XML v8::БУ БП3.0 БУ Бесплатно (free)

Решение задачи по загрузке данных из имеющегося файла в формате xml в БП 3.0 (в том числе на 1cfresh.com) без доработок

26.05.2019    4893    rutadmeen    0    

Программное создание xml (а можно и HTML) на основе xml схемы (XSD), через фабрику XDTO

Обмен через XML v8 1cv8.cf Бесплатно (free)

Объект XDTO, Фабрика XDTO, ПакетXDTO - как же это все сложно, или нет?

20.05.2019    9815    Eret1k    12    

Альтернативные способы работы с XML. Часть 2: Введение в xPath или запросы к XML Промо

Обмен через XML Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

В предыдущей статье "Введение в DOM или объектная модель документа" было описано понятие объектной модели документа (DOM), раскрыты плюсы и минусы использования модели при разборе файлов XML, приведено сравнение с построчным последовательным разбором. Были представлены варианты выборки данных с помощью объекта 1С ДокументDOM. Теперь настало время познакомить читателей с самым, на мой взгляд, интересным способом извлечения данных из XML - при помощи языка запросов xPath.

09.08.2012    41997    1cspecialist    13    

Обмен данными между УПП 1.3.64.х и БП 3.0 по расписанию через Универсальный обмен данными + План обмена

Обмен через XML Перенос данных из 1C8 в 1C8 v8 УПП1 Россия Бесплатно (free)

Описание доработки конфигурации УПП 1.3.64.х для выполнения обмена данными по расписанию в БП 3.0. через обработку Универсальный Обмен Данными XML и План Обмена.

09.04.2019    7104    mrcamomile    15    

RabbitMQ + Конвертация Данных 3.0

Внешние источники данных Обмен через XML Интеграция Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Предлагаем ознакомиться с хронологией проекта, проследить ход мыслей от снятия потребностей до реализации, и решить, удалось ли проектной команде найти оптимальное архитектурное решение под конкретный кейс заказчика путем совмещения двух известных, но до сих пор не пересекавшихся технологий, и получилось ли сложить плюсы и устранить минусы каждой из них.

21.03.2019    25614    barelpro    82    

EnterpriseData – часть 2. Процесс выгрузки данных

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Основные этапы выгрузки данных через ED, обработчики событий выгрузки, правила обработки данных, правила конвертации объектов, конвертация свойств первого и второго этапов, процедуры БСП, используемые при выгрузке данных, структура «КомпонентыОбмена».

26.12.2018    25816    ids79    31    

Неполадки в работе функционала конфигурации "Бухгалтерия предприятия 3.0" после переноса данных из одной конфигурации в другую через XML

Обмен через XML v8 БП3.0 Россия Бесплатно (free)

«Подводные камни» в работе конфигурации «Бухгалтерия предприятия 3.0» после переноса данных из одной конфигурации в другую средствами XML.

18.12.2018    5083    faust0923    1    

Новый подход к обмену данными EnterpriseData

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Хочу предложить Вашему вниманию цикл статей, посвященных обмену данными через универсальный формат (EnterpriseData или ED).

14.12.2018    39640    ids79    72    

MDM система для централизованного управления справочниками предприятия типовыми средствами

Обмен через XML Обработка справочников v8 1cv8.cf Бесплатно (free)

Поставили мне пару недель назад задачу настроить единые справочники номенклатуры во всех базах холдинга. Учитывая количество 1С бухгалтерий, которых в процессе выполнения задачи оказалось 32, и учитывая, что они все разных версий (2.0, 3.0, отраслевые), задача казалась из ряда чистой воды подстава. Но решение с технической точки зрения оказалось простейшим.

27.11.2018    6293    lopatin    6    

EnterpriseData - пример доработки правил конвертации без использования КД 3.0 в расширении конфигурации

Практика программирования Обмен через XML v8 v8::УФ БП3.0 УТ11 Россия Бесплатно (free)

В статье подробно описан реальный пример доработки обмена данными через EnterpriseData (универсальный формат обмена) между конфигурациями УТ 11.4 и Бухгалтерия 3.0

16.11.2018    35930    ids79    40    

Свертка номенклатуры при выгрузке из Управления Торговлей 11 в Бухгалтерию 3.0

Обмен через XML v8 БП3.0 УТ11 БУ УУ Бесплатно (free)

Свертка номенклатуры при выгрузке из УТ 11 в Бухгалтерию 3. Используется типовой обмен на базе EnterpriseData

20.07.2018    10224    Kutuzov    3    

Обмен через универсальный формат. Пример нестандартной конвертации данных

Обмен через XML Перенос данных из 1C8 в 1C8 v8 УТ11 Россия Бесплатно (free)

В статье описан небольшой пример обмена данными через EnterpriseData без снятия конфигурации с поддержки. Тестовая площадка: Управление торговлей, редакция 11 (11.4.3.126), версия платформы 8.3.11

18.06.2018    34708    artkor    12    

Создание множественного дополнительного реквизита. Управление торговлей 11

Обмен через XML Практика программирования v8 УТ11 Россия Бесплатно (free)

Создание механизма множественного дополнительного реквизита для выгрузки в битрикс.

20.03.2018    15446    bad_wag    19    

Конвертация данных. Выгрузка контактной информации из регистра сведений в табличную часть

Обмен через XML v8 КД Бесплатно (free)

Довольно часто встречается задача выгрузить при помощи «Конвертация данных, редакция 2.1» контактной информации контрагента из «Управление торговлей", редакция 10.3» в «Бухгалтерия предприятия, редакция 3.0». Сложность заключается в том, что в УТ контактная информация хранится в регистре сведений, а в БП - в табличной части справочника «Контрагенты». Предлагаю мое, достаточно простое, решение данной задачи.

11.12.2017    21823    Nicholas    10    

1С: Конвертация данных 3. Инструкции и примеры. EnterpriseData (универсальный формат обмена)

Перенос данных из 1C8 в 1C8 Практика программирования Обмен через XML v8 КД Бесплатно (free)

Что такое КД3? Как начать использовать? Полезные дополнения к документации. Что нужно исправить в типовых обработках и конфигурации. Как изменить правила обмена не снимая конфигурацию с поддержки. Как отлаживать правила обмена?

19.11.2017    186886    MaxS    293    

Что такое конвертация данных 1С (статья написана исключительно для новичков)

Обмен через XML Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

О том, что "Конвертация данных" - мощный инструмент и прочую терминологию, вы прочтёте в любом источнике. Я хочу поделиться кратким пояснением как пользоваться данной конфигурацией. Речь пойдет о версии 2.1.

07.08.2017    37170    perepetulichka    39    

Перенос данных из базы с поврежденными таблицами

Тестирование и исправление Обмен через XML Перенос данных из 1C8 в 1C8 v8 БП2.0 Казахстан БУ УУ Бесплатно (free)

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

06.06.2017    16217    ermek6    14    

Работа со схемой XML в модуле обмена от Битрикс

Обмен через XML v8 1cv8.cf Бесплатно (free)

Пошаговое руководство «Как добавить поле для выгрузки в модуль обмена для битрикс» Анамнез: УПП 1.3 (Полиграфия, но не суть важно); модуль обмена 1С-Битрикс 5.0.0.5. Допустим, нам нужно добавить в структуру XML-файла поле «Основной менеджер». Поверхностный анализ модуля обмена дает нам информацию о том, что используется пространство имен «urn:1C.ru:commerceml_2».

28.12.2016    13949    ogroup    6    

XDTO на службе у лентяев. Самый простой способ чтения xml

Обмен через XML Практика программирования v8 Бесплатно (free)

Это статья для лентяев. Никаких описаний свойств и методов xdto здесь нет. Тем более здесь нет описания формата xml. Здесь лишь простой и удобный метод чтения xml для тех, кому нужно получить быстрый результат без углубления в теоретические дебри.

03.11.2015    32331    Ks_83    29    

Отладка конвертации данных 2.1 в конфигурациях, построенных на БСП 2.1 (БП 3.0, УТ 11 etc.)

Практика программирования Распределенная БД (УРИБ, УРБД) Обмен через XML БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

Отладка процесса выгрузки/загрузки данных при проведении синхронизации в новых конфигурациях 1С может вызвать (у меня вызвала) некоторые затруднения. О них и пойдёт речь.

29.10.2015    39383    NittenRenegade    23    

Оптимизация новой типовой схемы обмена через синхронизацию

Практика программирования Обмен через XML v8 1cv8.cf Бесплатно (free)

В новых типовых конфигурациях УТ11 и БП3 вместо прошлой схемы обмена данными используется синхронизация данных. Однако у неё есть свои недостатки. В статье - краткое описание некоторых нюансов новой схемы и приемы для оптимизации работы с ней.

26.09.2015    23583    fixin    13    

Обмен данными между информационной базой и мобильным клиентом

Обмен через XML WEB v8 1cv8.cf Бесплатно (free)

В каком формате передавать данные между информационной базой на сервере и мобильным клиентом.

04.08.2014    23260    spezc    11    

О встроенных моделях XDTO платформы 1С

Обмен через XML v8 Бесплатно (free)

Иногда в пакетах, предоставленных самой платформой, можно найти интересное. Служебные объекты, системные перечисления, устройство универсальных коллекций.

13.02.2014    29421    Yashazz    10    

Загрузка из EXCEL в 1С. Чтение файла XLSX средствами 1С. ЧтениеXML

Загрузка и выгрузка в Excel Обмен через XML Практика программирования v8 1cv8.cf Бесплатно (free)

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Метод "NativeXLSX" (ЧтениеXML). Обрабатываются данные EXCEL типов: "Строка", "Число", "Дата" ("Время"), "Булево", "Процент".

01.11.2013    109809    StepByStep    75    

Универсальный обмен данными XML через web-сервисы

Обмен через XML WEB Перенос данных из 1C8 в 1C8 v8 Бесплатно (free)

Организация онлайн-обмена данными в формате "Конвертации данных" через web-сервисы

08.10.2013    107010    Mleg    55    

Организация обмена с прочими программами через XML. Имитация двухстороннего обмена без именения конфигурации

Внешние источники данных Обмен через XML v8 Бесплатно (free)

Настраиваем обмен типовой конфигурации со сторонними базами данных, с функционалом двустороннего обмена

24.04.2013    15221    Stim213    6