Файл csv

Урок 201 из 352
Автор: Роберт Басыров
Сложность урока:
4 уровень - сложно, требуется сосредоточится, внимание деталям и точному следованию инструкции.
4 из 5
Дата изменения: 20.07.2021
Просмотров: 21995
Ограничения по редакциям: Ограничений нет

  Файл CSV

Прежде чем импортировать данные, нужно создать файл CSV, который будет применяться как источник для импорта.

По умолчанию, в «1С-Битрикс: Управление сайтом» для файлов импорта используется разделитель ;. Если вы в своем файле будете использовать иной разделитель, то при выполнении самого импорта не забудьте указать нужный.

Примечание: достаточно часто используется символ |, так как он никогда не встречается в названиях товаров.

Удобнее всего для создания файла использовать программу MS Excel. Можно использовать и другие, вплоть до простейшего Блокнота, но этот табличный редактор удобен и им привычно пользоваться обычным пользователям.

Cамый простой способ подготовки файла .csv – сначала экспортировать каталог (получив готовый файл-образец для наполнения именно вашего каталога), а затем добавлять новые товары по образцу:

  Создание файла .csv

Откройте программу MS Excel.

Создайте новый файл под любым именем (в нашем случае пусть это будет: baza) и сохраните его с расширением csv.

Примечания:
  • Если при сохранении файла в csv-формате в MS Excel нет формата разделителя «;», то выберите разделитель «,». На самом же деле файл все равно сохранится с нужным разделителем – точка с запятой.
  • Сохранять файл нужно в кодировке сайта, в который он будет импортирован.

В файле CSV должно присутствовать хотя бы одно из двух полей (по этим полям элементы сопоставляются с базой данных):

  • Название элемента (так элемент будет отображаться в каталоге);
  • Внешний код элемента (XML_ID).

Рассмотрим случаи, когда и какое из полей должно быть обязательно:

  • Если Вы только вносите изменения в уже существующие на сайте элементы, то можно указывать только XML_ID (в первую очередь база данных сверяется именно по XML_ID);
  • Если Вы создаете новый элемент, то Вам достаточно При создании нового элемента можно (но не обязательно) добавить колонку с уникальными идентификаторами элементов XML_ID (в этом случае Вы самостоятельно сможете задать этот идентификатор — можно использовать буквы латинского алфавита и цифры).

    Если же такую колонку не создавать, то внешние коды будут присвоены новым элементам автоматически.
    указать название элемента, а XML_ID будет добавлен автоматически при импорте.
    Однако если еще планируется импорт торговых предложений Товары, имеющие торговые предложения, выводятся двумя инфоблоками: инфоблоком товаров (импорт которого вы научились делать ранее ) и инфоблоком торговых предложений.

    В этом уроке рассмотрим подробнее, как импортировать инфоблок торговых предложений, сохранив привязку к нужным товарам (т.е. к элементам инфоблока товаров).

    Подробнее...
    (то есть вы готовите два файла: с товарами и с торговыми предложениями этих товаров), то удобнее в первом файле прописать XML_ID, чтобы указать во втором файле эти же XML_ID в поле для привязки предложений к нужному товару.

Название колонок с параметрами не обязательно должно совпадать с названиями параметров в системе. Главное, что бы они были понятны вам, и при задании условий импорта у вас не возникло затруднений в определении соответствий полей создаваемого вами сейчас файла CSV и полей формы импорта.

Создайте обязательную колонку Название и внесите названия товаров так, как они должны отражаться в списке товаров.

Готов необходимый минимум параметров. При желании можно сохранить файл и импортировать его на сайт, технически операция импорта осуществится. Но это – технический минимум, нормальную торговлю на этих данных организовать невозможно. Значит, будем дополнять файл дальше.

Нам нужно, чтобы каждый товар попадал строго в нужную папку в рамках уже созданной структуры каталога. Для этого в процедуре импорта все предусмотрено. Нужно только создать колонки, которые будут объяснять, куда какому товару попадать. У нас крайне простая структура с одним уровнем вложенности. Значит, надо создать одну колонку с названиями папок в каталоге.

Создадим колонку для первого уровня и назовем ее Первый уровень.

Заполните колонку Первый уровень для всех элементов, согласно нашей структуре.

Важно! Названия, вводимые в эти колонки, должны точно совпадать с теми названиями, которые используются в каталоге. Если названия не будут совпадать, то система при импорте создаст разделы с новыми названиями и в них поместит импортируемые элементы.

В принципе можно структуру каталога заранее не создавать. При первом импорте будут созданы разделы нужного уровня вложенности с названиями, заданными в колонках файла. Но при регулярном импорте важно указать точное название разделов для импорта элементов.

Примечание: в случае нескольких уровней вложенности, если будут указаны названия разделов нижнего уровня, но не указаны имена разделов верхнего уровня, то будут созданы папки верхнего уровня с именем Пустое название. Если у вас случайно произошла такая ошибка, то повторного импорта можно не производить. Просто перенесите добавленные элементы в нужную папку.

Теперь можно приступать к созданию колонок с данными о товаре.

Создайте колонки, соответствующие необходимым данным для импорта и заполните колонки данными.

  Важные моменты

  • Если в качестве описания используется текст, отформатированный html-тегами, то необходимо в настройках модуля Торговый каталог, на закладке Экспорт / Импорт добавить в качестве используемой строку Тип детального описания tip_det_op.png . Если html-форматирование используется и для анонсового описания, то нужно добавить соответствующую строку и для анонсового описания. Соответственно, в CSV-файле должны быть добавлены колонки, указывающие на тип описания.
  • Добавление элемента в колонки со свойством типа Привязка к элементу не произведет автоматического привязывания элемента, если элементы еще не созданы (так как заполнить эту колонку можно только ID элементов, а они еще неизвестны). Привязку необходимо осуществить после экспорта, вручную. Однако, если элементы инфоблоков уже созданы, то можно в соответствующие колонки ввести код элемента.
  • При добавлении численных значений необходимо следить, чтобы разделитель десятичных знаков, используемый в «1С-Битрикс: Управление сайтом» совпадал с разделителем, используемым в CSV-файле. В системе «1С-Битрикс: Управление сайтом» в качестве разделителя десятичных знаков используется точка.
  • Одновременно с указанием цены, в CSV-файле обязательно необходимо предусмотреть колонку валюта, в которой будет указана используемая валюта. Без этого импорт не произойдет. Точнее – импорт элементов осуществится, но цены не будут добавлены или обновлены.
    В колонках Цена и Валюта не должно быть пробелов Корректное заполнение:
    ;; (Если не нужно добавлять, обновлять цену)
    1234;RUB; (Если нужно добавить или обновить цену).

    Ошибочное заполнение:
      ;RUB; (Пробел в колонке Цена или Валюта)
    ;RUB; (Отсутствие значения цены)
    123123;; (Отсутствие значения валюты)
    .
  • Для загрузки данных для свойств с признаком множественности, необходимо повторить строку с товаром столько раз, сколько будет множественных полей. Например, в случае со свойством Технические характеристики, нам нужно заполнить три поля. Следовательно, в файле CSV получится по три строки на каждый товар. Если множественных свойств несколько, то число строк должно равняться числу параметров наибольшего свойства. Ячейки для параметров свойств с меньшим числом можно просто оставить пустыми. Все строки должны быть одинаковыми по содержанию, за исключением множественных полей, которые изменяются указанием новых данных для этого свойства. Подобная особенность импорта с помощью стандартного механизма приводит к распуханию файла, если количество множественных свойств много и они интенсивно используются. При импорте больших файлов следует использовать пошаговые операции.
  • Перед импортом необходимо загрузить картинки в систему. В файле CSV для них должна быть выделена своя отдельная колонка. Картинки могут быть расположены в любом месте в рамках файловой структуры, главное – указать при импорте правильный путь до них. Рекомендуется использовать папку /upload. Картинки загружаются в файловую структуру, если это разрешено настройками хостинга.

    Примечание: Изображения также можно добавить со сторонних сайтов (но не из облачных хранилищ), прописав полные URL этих картинок.

    Этот способ не рекомендуется для загрузки больших каталогов, т.к. при импорте каталога изображения будут копироваться на Ваш сайт (если php на сервере это разрешает), и сам процесс импорта займёт значительно большее время.

  • Проверьте настройки инфоблока В данном примере опция Начало активности отмечена как обязательная, поэтому в создаваемом
    файле csv тоже должна быть колонка с указанием начала активности элемента.

    (Контент > Инфоблоки > Типы инфоблоков > [ваш тип инфоблока]/[ваш инфоблок]), в который Вы хотите загрузить файл: если во вкладках Поля или Поля разделов какие-либо поля отмечены как обязательные, то эти колонки должны быть обязательно и в загружаемом csv-файле.
  • С версии В более ранних версиях поле Единица измерения остаётся пустым, если оно не заполнено в импортируемом файле. модуля Торговый каталог 20.0.100 при импорте для новых товаров устанавливается единица измерения по умолчанию, если в файле не указано иное значение.

  Пример итогового файла .csv


IE_NAME;IP_PROP9;IP_PROP11;IP_PROP13;IC_GROUP0;IC_GROUP1;IC_GROUP2;CV_PRICE_1;CV_CURRENCY_1

Ремень Класика;188-12-xx;кожа;/upload/classic1.jpg;Аксессуары;Ремни;Ремни Мужские;1190.00;RUB
Ремень Класика;188-12-xx;кожа;/upload/classic2.jpg;Аксессуары;Ремни;Ремни Мужские;1190.00;RUB
Ремень Класика;188-12-xx;кожа;/upload/classic3.jpg;Аксессуары;Ремни;Ремни Мужские;1190.00;RUB
Ремень Элегантность;188-13-xx;кожа;/upload/elegance1.jpg;Аксессуары;Ремни;Ремни Женские;730.00;RUB
Ремень Элегантность;188-13-xx;кожа;/upload/elegance2.jpg;Аксессуары;Ремни;Ремни Женские;730.00;RUB
Ремень Элегантность;188-13-xx;кожа;/upload/elegance3.jpg;Аксессуары;Ремни;Ремни Женские;730.00;RUB

В данном примере описана загрузка информации о двух новых товарах: мужского ремня "Классика" и женского ремня "Элегантность":

  • прописываем название товара (для новых товаров будет сгенерирован автоматически XML_ID);
  • формируем структуру разделов: в разделе Аксессуары находится раздел Ремни, в котором два подраздела – Ремни мужские и Ремни женские;
  • прописываем свойства товаров, которые хотим указать (например, Артикул и Материал );
  • у каждого ремня есть по 3 изображения (т.е. множественное свойство Картинки галереи), поэтому строки одного и того же товара дублируем и в каждой меняем только название картинки;
  • указываем Цену и Валюту.

Примечание: в нашем случае в настройках наполняемого инфоблока во вкладках Поля (или Поля разделов) НЕТ каких-либо полей, отмеченных как обязательные (иначе эти поля нужно обязательно указывать в загружаемом файле .csv).


Курсы разработаны в компании «1С-Битрикс»
Спасибо, мы рады что смогли помочь Вам. Ниже Вы можете оставить свой отзыв или пожелание :)
Нам жаль это слышать… Но мы постараемся быть лучше! Поясните, пожалуйста, свой выбор:

Мы благодарны Вам за помощь в улучшении документации.

Мы стараемся сделать документацию понятнее и доступнее,
и Ваше мнение важно для нас