Конвертация 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. Поручик 4489 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 50 24.05.19 12:11 Сейчас в теме
(3) Подмена GUID - на самом деле в получаемом XML "Ссылка" - это текстовое поле (пакет "ExchangeMessage" - Типы значений - Ref), которая не привязана к виду объекта метаданных, а к конкретному элементу (группе, документу). При обозначенном подходе становится возможным поиск по Уникальному идентификатору; просто GIUD (строка) характеристики теперь становится GUID (строка) номенклатуры.
Номенклатура определяется не по владельцу характеристики, а по табличным частям документа. Так что, всегда будет передан корректный "оборотень". Более того, и все реквизиты номенклатуры Приемника будут определяться только по свойствам номенклатуры из табличных частей (конечная выгрузка с полным перечнем реквизитов).
Оставьте свое сообщение

См. также

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

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

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

04.03.2016    66690    starik-2005    106    

Правила обмена больше не нужны

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

Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.

17.03.2021    6442    Nikola23    35    

R.I.P. РИБ

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

РИБ, спасибо и до свидания.

19.02.2021    7004    1c-intelligence    132    

Сериализация данных 1С

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

В данной статье я хочу рассказать о сериализации данных в 1С.

13.01.2021    1973    DanteLissi    4    

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

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

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

11.09.2014    76538    StepByStep    27    

Передача параметров при обмене данными через конвертацию 2.1. Из 8.* в 7.7

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

Способ передать параметр в 7.7 при выгрузке данных через конвертацию из 8.2/8.3.

30.10.2020    771    dusha0020    4    

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

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

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

15.06.2020    4633    Drivingblind    8    

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

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

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

03.02.2020    9616    John_d    17    

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

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

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

29.10.2013    52104    pyrkin_vanya    70    

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

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

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

22.01.2020    6769    John_d    31    

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

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

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

31.12.2019    8918    ids79    17    

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

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

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

28.10.2019    12022    Olesia_Matusevich    10    

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

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

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

20.06.2012    104414    kser87    52    

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

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

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

24.10.2019    13222    kraspila    32    

Доработка конвертации данных КД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    6128    ksnik    7    

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

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

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

23.09.2019    15921    Yashazz    31    

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

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

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

09.08.2012    42811    1cspecialist    13    

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

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

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

08.09.2019    13892    user5300    8    

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

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

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

09.08.2019    6070    chagbig    6    

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

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

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

26.05.2019    6384    rutadmeen    0    

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

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

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

09.04.2019    8192    mrcamomile    15    

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

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

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

21.03.2019    28607    barelpro    87    

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

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

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

26.12.2018    29766    ids79    31    

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

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

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

18.12.2018    5315    faust0923    1    

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

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

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

14.12.2018    47447    ids79    81    

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

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

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

27.11.2018    6921    lopatin    6    

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

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

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

16.11.2018    40990    ids79    49    

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

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

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

20.07.2018    10638    Kutuzov    3    

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

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

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

18.06.2018    39472    artkor    18    

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

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

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

20.03.2018    17256    bad_wag    20    

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

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

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

11.12.2017    23978    Nicholas    10    

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

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

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

19.11.2017    217820    MaxS    309    

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

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

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

07.08.2017    39384    perepetulichka    39    

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

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

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

06.06.2017    16495    ermek6    14    

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

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

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

28.12.2016    14953    ogroup    6    

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

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

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

03.11.2015    35909    Ks_83    30    

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

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

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

29.10.2015    41620    NittenRenegade    23    

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

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

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

26.09.2015    23883    fixin    13    

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

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

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

04.08.2014    23954    spezc    11    

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

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

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

13.02.2014    30466    Yashazz    10    

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

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

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

01.11.2013    116452    StepByStep    77