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



Пошаговое руководство «Как добавить поле для выгрузки в модуль обмена для битрикс»

Анамнез: УПП 1.3 (Полиграфия, но не суть важно); модуль обмена 1С-Битрикс 5.0.0.5.

Допустим, нам нужно добавить в структуру XML-файла поле «Основной менеджер». Поверхностный анализ модуля обмена дает нам информацию о том, что используется пространство имен «urn:1C.ru:commerceml_2».

И представляется вполне логичным открыть конфигуратор в разделе XDTO-пакеты, найти схему с этим пространством имен и добавить туда необходимое поле:

Верно? НЕВЕРНО!

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

Все дело в  этой строчке:

СхемаXSD = ПланыОбмена.Б_ОбменССайтом.ПолучитьМакет(«СхемаXSDОбмена»);

А значит, схема берется не из конфигурации, а из вложенного файла. Выгружаем схему:

И открываем ее в текстовом редакторе. Находим описание объекта «Контрагент» и добавляем необходимое поле, например скопировав для образца аналогичное:

Загружаем схему обратно и добавляем обработку заполнения этого поля, например, так:

Если ЗначениеЗаполнено(СтрокаВыборки.Контрагент.ГоловнойКонтрагент.ОсновнойМенеджерПокупателя) Тогда
XDTOКонтрагент.ОсновнойМенеджер = СтрокаВыборки.Контрагент.ГоловнойКонтрагент.ОсновнойМенеджерПокупателя.Наименование;
КонецЕсли;

Вот и все.

Спасибо статье на инфостарте знание основ XDTO.

И да поможет вам Нуралиев.

6 Comments

  1. Xershi

    На 4.0 нет пакета и прекрасно работает, запутали вас они просто в начале))

    Reply ↓
  2. ogroup

    (1)

    На 4.0 нет пакета и прекрасно работает, запутали вас они просто в начале))

    Я не понял Ваш комментарий. Нужно добавить новое поле для выгрузки. Настроен обмен через модуль обмена от битрикса.

    Reply ↓
  3. Fox-trot

    (2) не парься. это просто другой алгоритм

    Reply ↓
  4. NN2P

    Денис, спасибо за статью. Ввиду отсутствия документации на модуль обмена от разрабов Ваша статья экономит уйму времени!Удачи Вам во всем.

    Reply ↓
  5. ogroup

    (4) сарказм?

    Reply ↓
  6. NN2P

    (5)Нет, я тоже в пакетах xsd менял и долго думал в чем дело, потом статью нашел.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *