Интеграция 1С и Битрикс24 — важная задача для автоматизации учета товаров, заказов и клиентов. Однако иногда стандартный модуль обмена может не работать из-за ошибок конфигурации, проблем с сервером или особенностей данных. В таких случаях полезно знать, как вручную загрузить данные в Битрикс, минуя стандартный механизм.
Этот метод пригодится, если:
- Нужно протестировать выгрузку перед настройкой автоматического обмена.
- Стандартный обмен не работает, а исправление требует времени.
- Требуется разовая загрузка данных без настройки полной синхронизации.
В статье рассмотрим пошаговый процесс ручной эмуляции обмена, подготовку файлов, возможные ошибки и их решения.
Зачем это нужно?
Ручная загрузка данных — это аварийный способ, но он помогает:
- Быстро проверить корректность данных перед автоматизацией.
- Загрузить товары и категории, если стандартный обмен "упал".
- Избежать простоев в работе интернет-магазина при проблемах с 1С.
Важно! Этот метод не заменяет полноценную интеграцию, но выручит в критической ситуации.
Подготовка файлов для загрузки
Перед началом необходимо подготовить catalog.zip, который должен содержать:
-
import.xml— основной файл в формате CommerceML с данными о товарах, категориях и свойствах; -
папку с изображениями (если есть), при этом в
import.xmlдолжны быть указаны корректные пути к картинкам.
Пример структуры import.xml
<КоммерческаяИнформация ВерсияСхемы="2.04">
<Каталог>
<Товары>
<Товар>
<Ид>123</Ид>
<Наименование>Тестовый товар</Наименование>
<Картинка>images/test.jpg</Картинка>
</Товар>
</Товары>
</Каталог>
</КоммерческаяИнформация>Пошаговая процедура загрузки
Шаг 1: Авторизация в системе
Перейдите по ссылке:
http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=checkauth
Ожидаемый ответ сервера:
PHPSESSID
123456789
PHPSESSID=123456789
09.01.2018T10:10:10
Сохраните PHPSESSID, он понадобится для следующих шагов.
Шаг 2: Инициализация обмена
Перейдите по адресу:
http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=init&version=2
Ожидаемый ответ сервера:
zip=yes
file_limit=10000
PHPSESSID=123456789
version=2Шаг 3: Загрузка файла catalog.zip
Отправьте запрос:
http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=file&filename=catalog.zip
Ожидаемый ответ:
successДействие:
-
Перейдите в папку
/upload/1c_exchange/ -
Загрузите туда
catalog.zip -
Убедитесь, что у папки есть права на запись (
chmod 755или777для тестирования).
Шаг 4: Запуск импорта
Выполните запрос:
http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=catalog.zip
Сервер будет возвращать статусы вида:
progress Распаковка архива завершена.
progress Временные таблицы созданы.
progress Файл импорта прочитан.
Повторяйте запрос, пока не получите success или failed.
Шаг 5–12: Обработка данных
После распаковки выполняйте запросы с mode=import и filename=import.xml:
http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=import.xml
Этапы ответов сервера:
progress Временные таблицы удалены.
progress Метаданные импортированы успешно.
progress Группы импортированы.
progress Товары обновлены. Итоговый ответ:
success Импорт успешно завершен.Настройка прав и логирования
1. Права на папку /upload/1c_exchange/
Убедитесь, что веб-сервер имеет права на запись:
chmod 755 /upload/1c_exchange/ # для Linux2. Включение логов обмена (если импорт не работает)
В Командной PHP-строке Битрикс выполните:
COption::SetOptionString("catalog", "export_log", "Y"); // Включает логированиеВозможные ошибки и их решение
Ошибка 1: "Failure Ошибка проверки источника запроса"
Выполните в Командной PHP-строке Битрикс:
COption::SetOptionString("catalog", "DEFAULT_SKIP_SOURCE_CHECK", "Y");
COption::SetOptionString("sale", "secure_1c_exchange", "N"); Важно! Это временное решение, после импорта верните настройки в исходное состояние.
Ошибка 2: Файл не читается после загрузки
-
Убедитесь, что
catalog.zipзагружен в/upload/1c_exchange/. -
Проверьте структуру
import.xml(должен быть в кодировке UTF-8). -
Убедитесь, что в
import.xmlуказаны правильные пути к файлам (например,images/photo.jpg).
Заключение
Данный метод позволяет вручную загружать данные из 1С в Битрикс, если стандартный обмен не работает.Рекомендации:
- Проверяйте структуру
import.xmlперед загрузкой. - Включайте логирование при проблемах.
-
После отладки возвращайте настройки безопасности (
secure_1c_exchange).