Модуль предназначен для импортирования данных из файла с расширением .xlsx в выбранный инфоблок на портале.
Решение служит для загрузки элементов и их свойств из xlsx-листа в определенный инфоблок. Чаще всего это требуется для импорта прайс-листа в формате .xlsx в торговый каталог.
Перед началом работы создайте файл с расширением .xlsx, содержащий прайс-лист или другие данные для загрузки в инфоблок на портале.
После установки модуля в административной части в разделе Сервисы появится новый пункт — Импорт из Excel. При переходе в этот пункт меню откроется страница с профилями импорта (их можно создать несколько).
Создание профиля
Для создания нового профиля импорта данных нажмите «Новый профиль импорта».
Заполните следующие поля:
— Название профиля — введите название профиля для его идентификации в общем списке.
— Файл — прикрепите созданный вами файл Excel с расширением .xlsx для считывания структуры столбцов.
— ID инфо-блока — выберите тип инфоблока, в который нужно импортировать элементы. В соседнем поле укажите нужный инфоблок.
— Кол-во элементов, обрабатываемых за шаг импорта — укажите число элементов, которое будет обработано за один шаг.
— Элементы только обновлять (не создавать) — поставьте эту галочку, чтобы посредством импорта только обновить данные в уже имеющихся элементах, не создавая новые.
— Деактивировать новые элементы — поставьте эту галочку, чтобы при создании новых элементов они были не активны (деактивированы).
— Деактивировать элемент, если товара нет в наличии — поставьте эту галочку, чтобы деактивировать элемент в случае, если количество нулевое и включен количественный учет.
— Деактивировать элемент, если цена нулевая — поставьте эту галочку, чтобы деактивировать элемент в случае, если его цена нулевая и включен количественный учет.
— Активировать элемент, если цена НЕ нулевая и товар в наличии — поставьте эту галочку, чтобы активировать элемент, если цена больше нуля, количество больше нуля и включен количественный учет.
— Строка с заголовками — укажите номер строки Excel-файла, в которой находятся заголовки столбцов.
— Первая строка с данными — укажите номер строки Excel-файла, с которой начинаются данные для импорта.
— Крайняя строка с данными (если не указано, до конца листа) — укажите номер строки Excel-файла, на которой заканчиваются данные для импорта. Если это поле не заполнено, то файл будет обработан до конца листа.
— ID раздела для новых элементов инфо-блока (по умолчанию корень) — для загрузки данных в выбранный в этом поле подкаталог.
После заполнения всех полей нажмите «Сохранить».
После сохранения вы будете перенаправлены на страницу со списком профилей импорта. Нажмите кнопку настроек рядом с названием и выберите «Сопоставления».
Сопоставления
Следующим шагом является настройка сопоставлений между столбцами excel-файла и полями инфоблока, в который будут импортироваться данные.
Выберите в списке профилей импорта тот, для которого будете задавать сопоставления. Нажмите на кнопку настроек рядом с его названием и выберите «Сопоставления».
Для каждого сопоставления нужно создать отдельный элемент.
Важно! Один из элементов должен быть уникальным идентификатором — при создании сопоставления по данному элементу включите флажок «Уникальный идентификатор элемента».
Нажмите «Добавить» и заполните поля:
— Столбец в файле — выберите из списка название столбца с данными в Excel-файле.
— Не импортировать строку, если эта ячейка пуста — проставьте галочку, чтобы не импортировать строки, в которых ячейка данного столбца пуста.
— Уникальный идентификатор элемента — проставьте галочку если данный столбец содержит уникальный идентификатор элемента.
Важно! При настройке импорта одно из свойств/полей должно являться уникальным идентификатором, без этого импорт не будет запущен.
— Преобразование — при необходимости выберите вид преобразования — Дата, Дата со временем, Картинка, Ссылка. При импортировании этого столбца данные будут преобразованы в соответствующий формат.
— Поле/свойство элемента: в этом разделе представлены три области для выбора сопоставления — Поля элементов инфоблока, Свойства элементов инфоблока, Торговый каталог. То есть выбранный столбец может быть импортирован в одно из полей или свойств элементов инфоблока или в торговый каталог. Установите переключатель в один из пунктов представленных областей.
Нажмите «Сохранить».
Повторите процедуру добавления сопоставлений для каждого импортируемого столбца.
Поля для переменных (Название переменной, Значение переменной) могут использоваться только в самостоятельно написанных обработчиках для строк, где нет названия.
Импорт
После того как данные на вкладках «Профиль» и «Сопоставления» заполнены, можно переходить непосредственно к импорту файла.
В списке профилей импорта выберите нужный, откройте его, перейдите на вкладку «Импорт». Либо в списке профилей импорта нажмите на кнопку настроек рядом с названием и выберите «Импортировать». В поле «Файл» выберите из структуры папок на компьютере ваш .xlsx-файл.
Нажмите «Импортировать».Обратите внимание:
- Данные импортируются только с первого листа Excel-файла, независимо от их количества.
- Для корректной работы модуля нужно использовать xlsx файлы, а не xls. Конвертировать файл можно просто пересохранив его из xls, используя Excel 2007 или более поздней версии.
- Нулевое количество проверяется только для элементов, у которых включен количественный учет. Включить количественный учет можно в настройках торгового каталога, также можно менять в каждом товаре индивидуально.
Внимание! Для корректной работы модуля в настройках php нужно включить расширения zip, xmlwriter и dom:
ZIP
Если расширение php-zip не установлено, то устанавливаем:
yum install php70*zip
Ели расширение уже установлено, то нужно подключить его в файле /etc/php.d/40-zip.ini, прописав там:
; Enable ZIP extension module
extension=zip.so //либо другой путь к zip.so (можно найти поиском), например extension=/opt/remi/php70/root/lib64/php/modules/zip.so
XMLwriter и DOM
В папке /etc/php.d/ нужно перенести содержимое файла:
20-xmlwriter.ini.disabled в 20-xmlwriter.ini
20-dom.ini.disabled в 20-dom.ini
Не забудьте перезагрузить веб-сервер и проверить применение настроек через phpinfo –i.
Упрощенный режим для групп
При необходимости вы можете настроить упрощённый режим для групп в разделе Настройки продукта — Настройки модулей — Импорт прайса из Excel.
На странице параметров вы можете выбрать нужные группы и задать для них параметры импорта первого шага, тогда они будут недоступны для изменения пользователям этих групп и будут выставлены по умолчанию при импорте.