Что умеет решение
Модуль импорта и экспорта товаров в форматах Excel и CSV предназначен для системы «1С-Битрикс: Управление сайтом». Он обеспечивает загрузку данных из файлов Excel и CSV в инфоблоки и торговый каталог, а также выгрузку этих данных обратно в указанные форматы. Настройка выполняется в административном разделе без необходимости программирования. Выгруженные данные можно редактировать в Excel и загружать обратно для обновления информации.
Основные возможности модуля:
— импорт прайс-листов и каталогов поставщиков в инфоблоки и торговый каталог;
— массовое обновление цен, остатков и свойств через цикл выгрузки, редактирования в Excel и повторной загрузки;
— автоматические регулярные загрузки и выгрузки по расписанию из файлов на сервере, по ссылке или из подключённого хранилища; отправка результатов на электронную почту, в хранилище или в Google Таблицы;
— формирование и выгрузка каталога для партнёров, бухгалтерии и торговых площадок в виде готовой таблицы Excel;
— предварительная проверка загружаемого файла перед записью на сайт и возможность отката изменений при ошибках.
Поддерживаемые форматы и источники:
— файлы форматов XLSX, XLS (Excel 97–2003) и CSV (кодировки UTF-8 и Windows-1251, любые разделители); тип формата определяется по содержимому файла, а не по расширению;
— поддержка до 10 листов в одном файле за один запуск; для каждого листа настраивается отдельный инфоблок и своё сопоставление колонок.
Импорт и экспорт товаров в Excel и CSV
Поддерживаемые источники файлов: загрузка через веб-форму, чтение из папки на сервере сайта, работа по ссылкам (включая Basic-авторизацию, публичные ссылки Яндекс.Диска, Google Диска и Google Таблиц), а также подключение внешних хранилищ (FTP, FTPS, SFTP, Яндекс.Диск, S3-совместимые). Для внешних хранилищ можно указать конкретное имя файла или маску; в этом случае система автоматически выбирает самый новый файл.
Настройка сопоставления колонок
Файл отображается в виде таблицы, где для каждой колонки вручную выбирается соответствующее поле инфоблока. Система также умеет автоматически подбирать колонки на основе заголовков. Перед запуском процесса доступен предпросмотр данных в каждой ячейке и подсчет возможных ошибок. Пользователь может выбирать строки для обработки как по отдельности (галочками), так и списком с поддержкой диапазонов, например «5, 8-12, 40-». Настройки колонок можно сохранять в виде шаблонов под определенным именем и применять их к любым колонкам любых файлов.
Возможности загрузки данных
Можно загружать поля элементов и разделов, включая все основные типы свойств: строка, число, список, HTML, дата, справочник, привязка к элементам и разделам, а также файлы. Поддерживаются как одиночные, так и множественные свойства. Разделы создаются по пути «Раздел / Подраздел» с автоматическим формированием недостающих уровней. Если инфоблок требует обязательного наличия символьного кода, он создается автоматически для разделов и элементов.
Импорт и экспорт товаров в Excel и CSV
При загрузке файла система автоматически добавляет отсутствующие значения справочников и списков, например новые бренды. Эта функция активируется установкой флажка в мастере импорта. Каждое созданное значение фиксируется в журнале. Режим проверки без записи позволяет убедиться в корректности данных без внесения изменений в базу.
Поддерживается загрузка изображений и файлов по ссылке или из указанной папки сайта.
При наличии модуля «Торговый каталог» доступны импорт и экспорт количества, всех типов цен с валютой, остатков по складам, единиц измерения, штрихкодов, веса, габаритов и НДС. Торговые предложения могут быть загружены отдельным файлом или объединены с товарами в одном файле.
Поиск существующих элементов
Элементы ищутся по ID, внешнему коду, символьному коду, названию или свойству. Поддерживается составной ключ из трёх полей. Если совпадение неоднозначно, элемент не изменяется, а соответствующая строка записывается в журнал для ручного разбора.
Правила и преобразования
Для каждой колонки можно настроить до пяти последовательных преобразований: замена текста, изменение регистра, добавление префикса или суффикса, формирование значения по шаблону из нескольких колонок, извлечение части строки, таблица замен, удаление HTML-тегов, округление чисел, расчет наценки и разбор дат.
Доступны условия типа «если … то»: подстановка значения, очистка поля, пропуск загрузки поля или игнорирование всей строки. Для новых и существующих элементов можно задать отдельные правила обработки пустых значений.
Реализованы функции наценки по диапазонам цен, округления до заданного шага или до значения, оканчивающегося на «99», а также пересчет валюты по актуальному курсу.
Управление публикацией
При импорте новые товары создаются в неактивном состоянии, а найденные элементы активируются. Активность товара определяется наличием остатков или цены. Для элементов, отсутствующих в загруженном файле, доступны действия: деактивация, обнуление остатков или полное удаление. Реализована защита от обработки обрезанных файлов. Строки, не изменившиеся по сравнению с предыдущей загрузкой, пропускаются.
Безопасность данных
Перед записью на сайт выполняется тестовый запуск без сохранения данных. Проверяются корректность привязок, справочников, единиц измерения, валют и родительских элементов для торговых предложений. При необходимости импорта можно откатить изменения: созданные элементы удаляются, а у обновленных восстанавливаются предыдущие значения. Для каждой строки ведется журнал с подсказками, а итоговый отчет формируется в формате CSV.
Выгрузка данных
Поддерживаются форматы XLSX и CSV с кодировкой UTF-8 или Windows-1251. Файлы защищены от инъекций формул. По желанию данные упаковываются в архив ZIP. В одном файле может быть до десяти листов, каждый из которых имеет собственный инфоблок, набор колонок, условия отбора и порядок сортировки. Доступны поля элементов, свойства, цены, остатки и разделы. Список полей поддерживается поиском.
Настройка отбора включает группы условий: внутри группы применяется логика «И», между группами — «ИЛИ». Доступно 12 видов сравнения и сортировка по трем полям. Разделы выводятся строками-заголовками с учетом древовидной структуры и группировкой строк в Excel. Торговые предложения могут быть размещены отдельными строками под основным товаром или выведены в отдельные строки для каждого предложения.
Импорт и экспорт товаров в Excel и CSV
Форматирование XLSX включает заголовок над таблицей, стили для заголовков и разделов, границы ячеек, автоматическую ширину по содержимому, форматы чисел, перенос текста, закрепление строк и первой колонки, автофильтры и цвет ярлыков.
Доставка готового файла возможна через скачивание, сохранение в папку сайта, подключение внешних хранилищ (FTP, FTPS, SFTP, Яндекс.Диск, Google Диск, S3-совместимые), отправку по электронной почте с вложением или выгрузку в Google Таблицы. Имя файла автоматически формируется с датой.
Автоматизация
Профили позволяют сохранять настройки, запускать операции одной кнопкой, копировать конфигурации и переносить их в JSON-файл без паролей. Запуск возможен по расписанию через cron или агенты Битрикс. Система отправляет уведомления по электронной почте и в Telegram о запуске, успехе, ошибках или длительном отсутствии обновлений файла; файл выгрузки можно приложить к письму. Доступна история операций, журнал по строкам и отчёт в формате CSV.
Права доступа
Модуль использует отдельные права и проверяет доступ пользователя к конкретным инфоблокам. Пользователь может работать только с теми инфоблоками, к которым у него есть права.
Требования и ограничения
Для работы необходимы «1С-Битрикс: Управление сайтом» с установленными модулями «Информационные блоки» (обязательно) и «Торговый каталог» (для работы с товарами, ценами и остатками).
Модуль требует PHP 8.2 или новее с активированными расширениями zip, xmlreader, xmlwriter и mbstring. Для работы с удаленными хранилищами и загрузки файлов по ссылке необходимо расширение curl, а для шифрования паролей подключений — openssl.
При чтении файлов формата XLS извлекаются только значения ячеек. Формулы интерпретируются как последнее сохраненное в файле значение. Внутренние стили и изображения не импортируются; картинки загружаются только по прямой ссылке или из папки сайта. Поддержка файлов Excel с макросами (XLSM) и защищенных паролем файлов отсутствует.
Максимальный размер загружаемого файла по умолчанию составляет 50 МБ. Это значение можно изменить в настройках модуля. При загрузке через веб-форму фактический лимит также ограничен параметрами PHP и конфигурацией веб-сервера.
Процесс импорта выполняется порциями по несколько секунд, что позволяет избежать превышения лимита времени выполнения скрипта max_execution_time. Скорость обработки зависит от производительности хостинга и конфигурации инфоблоков Битрикс. В тестовых условиях на 100 000 элементов с 26 полями создание заняло около 70 минут, а повторная загрузка того же файла без изменений — около 33 минут.
Функция отката восстанавливает созданные и изменённые значения элементов, но не возвращает файлы и изображения, не удаляет записи в списках и справочниках, созданные при импорте, а также не восстанавливает элементы, удалённые в ходе импорта. Возможность сохранения данных для отката можно отключить.
Экспорт пока не поддерживает Highload-блоки, разделы как отдельные сущности и формат PDF.
На тестовом хостинге выгрузка файла XLSX размером 100 000 строк и 25 колонок заняла около одной минуты.
Файлы, создаваемые модулем в папке сайта, доступны по прямой ссылке без авторизации. При выборе папки и состава выгрузки необходимо учитывать этот фактор.
Загрузка данных в Google Таблицы и на Google Диск требует наличия вашего приложения Google и настройки подключения доступа в разделе «Подключения».
При ручном запуске операция выполняется только до закрытия страницы мастера. Для обработки больших файлов рекомендуется использовать профиль по расписанию через cron: он работает на сервере без необходимости держать открытой страницу.
Код модуля не содержит зашифрованных (обфусцированных) частей, сторонних библиотек, дополнительных партнёрских модулей или встроенных покупок.
Модуль поддерживает работу с Яндекс.Диском, Google Диском, Google Таблицами, S3-совместимыми хранилищами, FTP- и SFTP-серверами, а также Telegram. Эти сервисы являются вашими личными аккаунтами и серверами; их тарифы и условия использования устанавливаются владельцами соответствующих сервисов. Модуль не передаёт данные никому, кроме тех сервисов, которые вы подключили самостоятельно. Для корректной работы необходимо понимать структуру ваших инфоблоков; специальные навыки программирования не требуются.
General iT может установить «Импорт и экспорт товаров в Excel и CSV», настроить параметры модуля и проверить его работу в существующем проекте.