Экспорт и импорт элементов инфоблока позволяют массово переносить данные между сайтами, готовить выгрузки для внешних систем и загружать большие объёмы записей из файла. В 1С-Битрикс для этого есть штатные форматы CSV и XML, доступные прямо из административной части.
Форматы выгрузки и их назначение
1С-Битрикс поддерживает два штатных формата обмена данными инфоблоков. Выбор зависит от того, куда и как вы переносите данные.
| Формат | Что переносит | Когда применять |
|---|---|---|
| CSV | Элементы: поля и значения свойств в виде таблицы | Обмен с Excel, прайсами, простыми внешними системами |
| XML | Структуру инфоблока, разделы, элементы, свойства и файлы | Полный перенос инфоблока между сайтами Битрикс |
Для товарных каталогов дополнительно применяется формат CommerceML (обмен с 1С), но это отдельный механизм, не относящийся к общему экспорту инфоблоков.
- CSV удобен, когда нужны только данные элементов в плоской таблице.
- XML сохраняет дерево разделов и привязки, поэтому подходит для миграции целиком.
Экспорт элементов в CSV
Экспорт в CSV формирует табличный файл, где строки — это элементы, а столбцы — выбранные поля и свойства.
- Откройте Контент → Инфоблоки → Экспорт → CSV.
- Выберите тип инфоблока и инфоблок, элементы которого выгружаете.
- Укажите разделитель полей (обычно
;для совместимости с Excel) и разделитель значений множественных свойств. - Отметьте, какие поля и свойства включить в выгрузку, и задайте их порядок.
- При необходимости включите экспорт разделов и настройте кодировку файла.
- Нажмите Выполнить — система сформирует файл
.csvдля скачивания.
Значения множественных свойств попадают в одну ячейку через заданный разделитель. Файлы и картинки в CSV не переносятся физически — выгружаются только пути или идентификаторы, поэтому CSV — это формат для данных, а не для медиа.
Импорт элементов из CSV
Импорт из CSV загружает строки файла как элементы инфоблока. Ключевой шаг — правильно сопоставить столбцы файла с полями и свойствами.
- Перейдите в Контент → Инфоблоки → Импорт → CSV.
- Загрузите файл или укажите путь к нему на сервере, задайте разделители и кодировку — они должны совпадать с параметрами файла.
- Выберите целевой инфоблок для загрузки.
- На шаге сопоставления укажите, какому полю или свойству соответствует каждый столбец файла.
- Задайте поле-идентификатор (например, символьный код или внешний код), по которому система будет находить существующие элементы для обновления.
- Запустите импорт — записи будут добавлены или обновлены.
Если поле-идентификатор не задано, каждая загрузка создаёт новые элементы, что приводит к дублям. Для повторных загрузок всегда используйте уникальный ключ, например XML_ID или символьный код.
Перенос инфоблока целиком через XML
XML-формат переносит не только элементы, но и структуру: типы данных свойств, дерево разделов, привязки и прикреплённые файлы. Это основной способ мигрировать инфоблок между сайтами.
- На сайте-источнике откройте Контент → Инфоблоки → Экспорт → XML и выберите инфоблок.
- Отметьте, экспортировать ли разделы, свойства и связанные файлы, и запустите выгрузку.
- Скачайте полученный
.xmlфайл (для больших инфоблоков выгрузка может идти пошагово). - На сайте-приёмнике откройте Контент → Инфоблоки → Импорт → XML.
- Загрузите файл и выберите, создавать новый инфоблок или обновлять существующий.
- Запустите импорт и дождитесь завершения обработки всех элементов.
Соответствие элементов при обновлении определяется по полю XML_ID, поэтому при переносе между сайтами важно сохранять эти идентификаторы неизменными.
Подготовка файла и кодировка
Большинство проблем импорта возникает из-за неправильной подготовки файла. Проверьте перед загрузкой несколько ключевых моментов.
- Кодировка. Кодировка файла должна совпадать с настройкой импорта. Для сайтов в
UTF-8сохраняйте CSV в UTF-8; при выгрузке из Excel часто получаетсяWindows-1251— тогда укажите её в параметрах. - Разделитель. Символ разделителя полей в файле и в форме импорта должен быть одинаковым (
;или,). - Заголовок. Если первая строка содержит названия столбцов, отметьте это, чтобы она не загрузилась как элемент.
- Значения списков. Для свойств типа «Список» значения в файле должны точно соответствовать существующим вариантам, иначе они не подставятся.
- Размер файла. Крупные выгрузки лучше загружать по частям или увеличить лимиты
upload_max_filesizeиmax_execution_time.
Частые ошибки
Типовые проблемы при экспорте и импорте элементов инфоблока и способы их устранения.
- «Кракозябры» в тексте. Кодировка файла не совпала с настройкой импорта — пересохраните файл в нужной кодировке или переключите параметр.
- Дубли элементов. Не задано поле-идентификатор, и каждая загрузка создаёт новые записи. Укажите уникальный ключ для обновления.
- Сдвиг столбцов. В данных встречается символ разделителя внутри значения. Заключайте такие значения в кавычки или смените разделитель.
- Пустые множественные свойства. Не указан разделитель значений множественного свойства или он отличается от файла.
- Импорт обрывается на середине. Превышено время выполнения скрипта на большом файле — разбейте его на части или увеличьте лимиты PHP.
- Не переносятся картинки. В CSV медиа не выгружаются; для переноса файлов используйте XML.
Итог
Штатные механизмы 1С-Битрикс закрывают большинство задач переноса данных инфоблоков: CSV — для табличного обмена и загрузки прайсов, XML — для полной миграции инфоблока со структурой, разделами и файлами.
Чтобы импорт проходил без потерь, заранее согласуйте кодировку и разделители, задайте поле-идентификатор для обновления и для крупных выгрузок работайте частями. При регулярном обмене с внешними системами имеет смысл настроить автоматическую загрузку по расписанию вместо ручных операций.