[QUOTE]
Евгений Наумов написал:
Я поковырял исходники, оказывается можно выгружать пользовательские поля в штатной выгрузке! Только об этом слова нигде не сказано
Чтобы выгрузить надо в файле import.xml добавить несколько тэгов.
У тэга " Классификатор " создать потомка с именем " СвойстваГрупп ". В нем будут перечисления пользовательских полей, которые мы хотим привязать к разделам инфоблока.
Далее, для каждого свойства мы создаем тэг " Свойство " (а впрочем не важно как, битриксу не принципиально, он на это имя не обращает внимания)
В тэге " Свойство " (или как вы там его назвали в пред. шаге) создаем:
Ид - xml ид свойства. может быть любым набором букв и цифр. по нему мы будет привязывать значения далее
Наименование - Код поля. Должно начинаться с UF_
Сортировка - индекс сортировки.
Множественное - множественное ли свойство. true - да, отличное от true - нет
БитриксТипСвойства - тип свойства. Тип любой допустимый для создания пользовательского поля. К примеру string - строка. Можно даже список
БитриксОбязательное - обязательное ли поле. true - да, отличное от true - нет
БитриксФильтрРазрешен - показывать в фильтре списка. Тут чуть не доработано у них. Значение принимает true или отличное от него. Но на практике значение должно принимать одно из 4-х значений. Так что смысла это использовать пока нету... (По крайне мере в версии 17.5.10)
БитриксПоказыватьВСписке - показывать ли в списке. true - да, отличное от true - нет
БитриксРедактироватьВСписке - разрешать редактирование пользователем. true - да, отличное от true - нет
БитриксПоискРазрешен - Значения поля участвуют в поиске. true - да, отличное от true - нет.
БитриксНастройки - дополнительные настройки в зависимости от типа. Должен быть сериализованный массив. Например для строки можно задать дефолтное значение и, например, сколько строк будет занимать поле ввода [CODE] a :2 : { s : 13 : "DEFAULT_VALUE" ; s : 47 : "Мое значение по умолчанию" ; s : 4 : "ROWS" ; s : 97 : "Сколько строк будет занимать поле. Должна быть цифра." ; } [/CODE]
Таким образом мы задали пользовательские свойства для разделов.
Чтобы указать значения свойств для групп, то нужно:
в тэге " Группа " создать потомка " ЗначенияСвойств "
В " ЗначенияСвойств " для каждого свойства, которое хотим заполнить создаем тэг ЗначениеСвойства
В тэге ЗначениеСвойства создаем потомков:
Ид - xml ид свойства к которому привязываем значение
Значение - значение свойства. Если множественное, то указываем этот тэг столько раз сколько хотим значений.
Мой небольшой пример:
[CODE] <?xml version="1.0" encoding="UTF-8"?>
< КоммерческаяИнформация >
< Классификатор >
.......
< СвойстваГрупп >
< Свойство >
< Ид > 1111111111111111 </ Ид >
< Наименование > UF_STRING_TEST </ Наименование >
< Сортировка > 400 </ Сортировка >
< Множественное > true </ Множественное >
< БитриксТипСвойства > string </ БитриксТипСвойства >
</ Свойство >
</ СвойстваГрупп >
< Группы >
< Группа >
< Ид > 12f59ecf-04d3-11df-a8c9-0024541c1ad9 </ Ид >
< Наименование > 222 </ Наименование >
< Группы />
< ЗначенияСвойств >
< ЗначениеСвойства >
< Ид > 1111111111111111 </ Ид >
<!-- если свойство множественное, то надо указывать значения так. если не множественное, то достаточно одного тэга -->
< Значение > тест1 </ Значение >
< Значение > тест2 </ Значение >
</ ЗначениеСвойства >
</ ЗначенияСвойств >
</ Группа >
.................
</ Группы >
..........
</ Классификатор >
</ КоммерческаяИнформация > [/CODE]
PS. Так же есть возможность привязывать определенный свойства к определенный разделам. но я в этом еще не разбирался, но это МОЖНО ДЕЛАТЬ!!
А вообще свинство не описывать такие возможности!!! Надеюсь вам (тот кто описывал это [URL=https://dev.1c-bitrix.ru/api_help/sale/xml/index.php]https://dev.1c-bitrix.ru/api_help/sale/xml/index.php[/URL] ) хотя бы стыдно за своё поведение.
Надеюсь это кому то поможет)) Всем добра![/QUOTE]
Хорошая информация, спасибо!!