Торговля и Склад · 9 мин
Как импортировать товары в 1С-Битрикс
Как импортировать товары в 1С-Битрикс: подготовка CSV-файла, настройка профиля импорта, привязка к разделам, загрузка картинок, проверка результата и типичные ошибки.
Массовое заполнение каталога интернет-магазина вручную — долгая и рискованная работа: при сотнях и тысячах позиций ошибки в ценах и остатках почти неизбежны. В «1С-Битрикс: Управление сайтом» есть встроенный механизм импорта товаров из CSV-файлов, который позволяет загрузить номенклатуру, свойства, цены и привязку к разделам за один сеанс.
Импорт доступен в редакциях с модулем «Торговый каталог» и выполняется через административный раздел: Контент → Инфоблоки → Импорт. Перед запуском важно подготовить файл в правильной структуре, определить ключевое поле для сопоставления товаров и сделать резервную копию, чтобы при ошибке можно было откатить изменения.
Ниже разобран полный цикл: от подготовки CSV-файла до проверки результата, а также типичные ошибки, которые приводят к дублям товаров, битым картинкам и потере цен.
Подготовка CSV-файла к импорту
Битрикс принимает файлы в формате CSV с разделителем «точка с запятой» или «запятая». Первая строка файла должна содержать заголовки колонок — по ним вы будете сопоставлять поля при настройке профиля. Минимальный набор колонок для нового товара: название, артикул (или внешний код), цена и привязка к разделу каталога.
Кодировка файла — самая частая причина «кракозябр» после загрузки. Битрикс корректно читает Windows-1251 и UTF-8, но при сохранении из Excel по умолчанию часто получается смешанная кодировка. Надёжнее всего сохранять файл в UTF-8 без BOM через «Блокнот», Notepad++ или LibreOffice Calc.
Числа с разделителем разрядов и формулы Excel в файле недопустимы: цена «1 250,00» с пробелом может не распознаться. Перед выгрузкой приведите цены к виду «1250.00» (точка как разделитель копеек), а все ячейки — к текстовому или числовому формату без формул.
Настройка профиля импорта
Перейдите в административном разделе: Контент → Инфоблоки → Импорт. Выберите тип инфоблока «Каталоги» и нужный инфоблок каталога. Загрузите CSV-файл и укажите параметры разбора: разделитель полей и кодировку.
На втором шаге мастера сопоставьте колонки файла полям инфоблока: название, символьный код, артикул, детальное описание, цена, валюта, количество на складе. Для каждой строки файла система должна понимать, куда её записывать. Несопоставленные колонки будут проигнорированы.
- 1Сделайте резервную копию сайта или хотя бы выгрузку текущего каталога
- 2Откройте Контент → Инфоблоки → Импорт и выберите инфоблок каталога
- 3Загрузите CSV-файл, укажите разделитель и кодировку
- 4Сопоставьте колонки файла полям и свойствам инфоблока
- 5Выберите ключевое поле для идентификации товара (артикул или XML_ID)
- 6Запустите импорт на тестовой порции из 10–20 строк
- 7Проверьте результат и только потом загружайте полный файл
Ключевое поле: как избежать дублей товаров
Ключевое (уникальное) поле определяет, создаст ли система новый товар или обновит существующий. Если ключ не задан или задан неверно, повторный импорт того же файла создаст дубликаты всех позиций — чистить каталог потом придётся вручную.
На практике чаще всего используют два варианта. Первый — артикул (свойство CML2_ARTICLE или аналогичное), если он уникален по всему каталогу. Второй — внешний код XML_ID, особенно если каталог синхронизируется с 1С: тогда товары сопоставляются по тем же идентификаторам, что и при обмене с учётной системой.
Проверьте уникальность ключа до импорта: отсортируйте файл по колонке артикула и убедитесь, что нет повторов и пустых значений. Один пустой артикул в файле с настройкой «обновлять по артикулу» может привести к тому, что несколько разных товаров «склеятся» в один.
Привязка товаров к разделам каталога
Раздел, в который попадёт товар, задаётся колонкой с названием раздела или его идентификатором. Если раздела с таким названием не существует, Битрикс может создать его автоматически — это удобно при первичном наполнении, но опасно при регулярных загрузках: опечатка в названии породит новый раздел-дубль в структуре каталога.
Для многоуровневой структуры используйте разделитель уровней (обычно «/» или «->»), например: «Электроника/Смартфоны/Смартфоны Samsung». Убедитесь, что в настройках профиля указан тот же разделитель, что и в файле.
Более надёжный способ при регулярных обновлениях — использовать ID разделов. Предварительно выгрузите список разделов с идентификаторами, сопоставьте их с разделами поставщика в файле и импортируйте по ID. Тогда структура каталога не пострадает даже при расхождении названий.
Загрузка изображений и свойств товаров
Картинки импортируются по ссылкам: в колонке указывается URL изображения (внешний) или путь к файлу на сервере, например в папке /upload/import/. Если картинки лежат у поставщика, Битрикс скачает их при импорте — это увеличивает время загрузки и требует, чтобы внешний сервер был доступен.
Для больших каталогов надёжнее сначала загрузить изображения на свой сервер по FTP и указать в файле локальные пути. Так исключаются обрывы при скачивании и ситуации, когда поставщик позже удалит или заменит файлы, а на сайте останутся битые ссылки.
Свойства товаров (цвет, размер, материал и т.д.) сопоставляются с колонками файла аналогично основным полям. Свойство должно существовать в инфоблоке до импорта — создайте нужные свойства заранее и проверьте их тип: для списочных свойств значения в файле должны совпадать с вариантами списка, иначе будут созданы лишние варианты.
Как проверить результат импорта
Совпадает с числом строк в файле (плюс ранее существовавшие)
Товаров заметно больше — вероятны дубли
Текст читаем, без кракозябр
Нечитаемые символы — неверная кодировка файла
Значения соответствуют файлу, валюта указана
Нулевые или пустые цены — ошибка сопоставления колонок
Изображения отображаются на карточках товаров
Пустые превью — недоступны URL или неверные пути
Товары лежат в ожидаемых разделах
Появились новые разделы с похожими названиями
Регулярное обновление и альтернативные способы загрузки
Если загрузка товаров — разовая задача, описанного механизма достаточно. Для регулярных обновлений цен и остатков сохраните настройки импорта как профиль: мастер предлагает это на последнем шаге. В следующий раз вы запустите готовый профиль и не будете заново сопоставлять поля.
Когда источник данных — 1С:Управление торговлей или 1С:Комплексная автоматизация, правильнее использовать штатный обмен с сайтом (CommerceML) вместо ручного CSV. Обмен передаёт товары, цены и остатки автоматически по расписанию и сопоставляет позиции по XML_ID, что исключает дубли.
Для нестандартных источников (прайсы поставщиков в Excel, XML/YML-фиды) существуют сторонние модули импорта из маркетплейса Битрикс с гибкой настройкой расписаний и обработкой данных «на лету». Их имеет смысл рассматривать, когда структура файла поставщика часто меняется или требуется наценка, фильтрация и модификация данных при загрузке.
Как выбрать способ загрузки
Частые вопросы по импорту товаров
Почему после импорта появились дубли товаров?
Чаще всего не задано или неверно выбрано ключевое поле сопоставления, либо значения ключа (артикула) в файле не совпадают с теми, что уже есть в каталоге — например, из-за пробелов или потерянных ведущих нулей. Удалите дубли, проверьте уникальность ключа в файле и повторите импорт с корректным сопоставлением.
В какой кодировке сохранять CSV-файл?
Надёжнее всего UTF-8 без BOM. Windows-1251 тоже поддерживается, но при редактировании файла в разных программах кодировка легко «плывёт». Если после импорта видны кракозябры — пересохраните файл в UTF-8 и загрузите заново.
Можно ли импортировать только цены и остатки, не трогая описания?
Да. Сформируйте файл с минимальным набором колонок: ключевое поле (артикул или XML_ID), цена, количество. При сопоставлении укажите только эти поля — остальные данные товаров не изменятся.
Импорт обрывается на большом файле. Что делать?
Разбейте файл на части по несколько тысяч строк и загружайте порциями. Также проверьте ограничения хостинга на время выполнения скрипта и объём памяти — при необходимости увеличьте их или запускайте импорт в часы минимальной нагрузки.
Как откатить неудачный импорт?
Если перед загрузкой делалась резервная копия — восстановите сайт из неё. Без копии вариантов меньше: можно отфильтровать в списке товаров позиции, созданные или изменённые в момент импорта, и удалить их вручную либо массовой обработкой. Именно поэтому резервная копия перед импортом обязательна.
Поддерживает ли импорт торговые предложения (размеры, цвета)?
Да, но структура файла сложнее: для каждого предложения нужна связь с родительским товаром через общий идентификатор, а сами предложения импортируются в отдельный инфоблок предложений. Для каталогов с вариациями удобнее использовать обмен с 1С или профильные модули импорта.
Что важно запомнить
Успешный импорт в Битрикс держится на четырёх опорах: корректный CSV в UTF-8, уникальное ключевое поле для сопоставления, тестовая загрузка малой порции и резервная копия каталога перед запуском. Для регулярных обновлений сохраняйте профиль импорта или переходите на штатный обмен с 1С.