Коротко — это не «глюк» Битрикс, а проблема вида/кодировки/соответствия колонок в CSV при повторном импорте. Ниже — список проверок и шагов, которые обычно решают такую ситуацию.
1. Проверьте разделитель и как вы сохраняли файл
- Если вы открывали/правили CSV в Excel, он мог изменить разделитель на «;» или испортить структуру. Экспортировали с Tab — при импорте тоже выберите Tab. Лучше редактировать файл в текстовом редакторе или в LibreOffice с указанием таба как разделителя.
2. Проверьте кодировку и BOM
- Битрикс 14.x обычно ожидает Windows‑1251 (CP1251) для русских данных. Если файл в UTF‑8 с BOM, заголовок первой колонки может превратиться в «ï»… и система не распознает имя столбца — в предпросмотре будет «-». Откройте файл в Notepad++ и:
- посмотрите, есть ли BOM (Encoding → Encode in UTF‑8 BOM);
- лучше сохранить как ANSI (Windows‑1251) или как UTF‑8 without BOM в зависимости от настроек импорта.
- Убедитесь, что в настройках импорта выбрана та же кодировка.
3. Заголовки столбцов и соответствие полей
- При импорте Битрикс смотрит на названия колонок или вы вручную их сопоставляете. Проверьте, совпадает ли точное имя заголовка (без лишних пробелов и невидимых символов) с тем, что ожидает система.
- При экспорте Bitrix часто использует служебные имена вроде iE_ID, IE_XML_ID, PROPERTY_* и т.п. Если Excel/редактор изменил регистр/символы — сопоставление не пройдет.
- На шаге «сопоставление колонок» вручную укажите, что колонка iE_ID — это ID (или XML_ID / нужное свойство). Если не сопоставлять — в превью будут «-» и будут создаваться новые элементы или вы будете получать ошибки.
4. Обновление vs создание элементов
- Чтобы обновить существующие элементы, нужно импортировать идентификатор, по которому будет происходить обновление (ID или XML_ID). Если колонка с ID не распознана, система считает, что у элементов нет идентификатора — и либо пытается создать новые, либо выдаёт ошибки «элемент не найден/не обновлён».
- Если вы намерены обновлять по свойству, сопоставьте колонку с соответствующим PROPERTY_CODE.
5. Типичные ошибки и что с ними делать
- «Required field NAME is empty» — проверьте наличие обязательных колонок (NAME и др.).
- «Property X not found» — используйте код свойства (например PROPERTY_PHONE) или убедитесь, что свойство существует в выбранном инфоблоке.
- Ошибки формата дат/чисел — проверьте формат в CSV (дробная часть через точку/запятую, даты в нужном формате).
6. Практическая проверка
- Возьмите 1–2 строчки из экспортированного файла, не меняйте их, и попробуйте импорт только их. Если пройдет — проблема в том, как вы редактировали/сохраняли файл.
- Откройте CSV в текстовом редакторе и посмотрите первые 2 строки в «выровненном» виде — виден ли таб/разделитель, нет ли лишних кавычек/символов.
7. Конвертация и исправления (быстрые рецепты)
- В Notepad++: Encoding → Convert to ANSI (если нужно Windows‑1251) → Save as CSV (tab separated).
- В Linux: iconv -f utf-8 -t cp1251 in.csv > out.csv (удалит BOM, изменит кодировку).
- Уберите невидимые символы в начале файла (BOM). Уберите лишние пробелы в заголовках.
Если после этого не получится — пришлите:
- первые 10 строк CSV (в кодировке, как есть) и заголовок;
- точный текст ошибки, которую выдаёт импорт;
- скрин шага сопоставления колонок в процессе импорта.
С этими данными смогу точно сказать, где именно рассогласование и как корректно сопоставить колонку iE_ID.