Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
Импорт из CSV неуникальных записей
Задача: импортировать справочник из CSV в битрикс Особенности: некоторые строки имеют одинаковые значения названия, но разные значения остальных свойств. Технологии и инструменты: Битрикс, Эксель Эксперимент №1. Захожу в админку, добавляю две записи с одинаковыми названиями, убеждаюсь что всё ок. Оно и логично - ID записи получают автоматом разные. Эксперимент №2. Создаю CSV из двух строк, названия одинаковые, свойства разные, IE_XML_ID и IE_ID не задаю, т.к. данные новые, нужно вставить. Импортирую, наблюдаю грустную картину, что записи склеились в одну, у множественных свойств всё ок, а вот обычные имеют значение последней записи. Читаю ещё раз документацию http://dev.1c-bitrix.ru/learning/cour...ON_ID=2012
Для загрузки данных для свойств с признаком множественности необходимо повторить строку с элементом столько раз, сколько будет значений множественного поля. ... Все строки должны быть одинаковыми по содержанию, за исключением множественных полей, которые изменяются указанием новых данных для этого свойства.
Замечательно, у меня свойства разные, а Битрикс решил, что это я так множественные поля подгружаю. Обращаюсь в техподдержку, выясняю новые и интересные вещи:
Идентификация одного элемента из списка в CSV-файле происходит по "Названию" или "XML_ID". У Вас одно название в двух строках, поэтому это один элемент, но с разными значениями множественного свойства, а значения остальных не множественных свойств определится из последней строки.
Значит нужны разные XML_ID. Есть идея проставить вручную от 1 до сколько нужно, но как это будет интерпретировать Битрикс неясно. Строк в справочнике под 1000, в следующем уже счёт идёт на десятки тысяч, в админке не посидишь... В результате подумав, решаю сделать всё 2-ступенчатым алгоритмом. Шаг 1. Вместо IE_NAME прописываю уникальные числа от 1 и далее в экселе, сохранив отдельно столбец со старыми названиями, соответствующими этим числам. Импортирую новые данные. Результат - загружены все данные кроме названий, ни одна из строк не склеилась Шаг 2. Экспортирую загруженные данные. На самом деле мне нужно лишь 2 столбца. При попытке экспортировать только XML_ID и IE_NAME, данных оказывается почему-то меньше. Экспортирую всё, вырезаю только эти два столбца. Функцией ВПР возвращаю в IE_NAME законные названия, ещё раз импортирую. Результат - у всех данных оказываются правильные имена.
Таким образом, без написания какого-либо кода или обработок задача решена, данные скормлены Битриксу, ура!