Работа со схемой 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 не будет опубликован. Обязательные поля помечены *