Процедура загрузки из 1с в битрикс по шагам, или как эмулировать 1с из браузера.

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

Для начала необходимо создать файл catalog.zip, в неё как минимум должен лежать файл import.xml а так же папка с картинками, соответственно в xml файле при наличии картинок должен быть указан путь до них относительно папки в которой лежит сам файл import.xml

Далее в браузере по шагам выполняем следующие действия:

Шаг 1:

Заходим по адресу http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=checkauth

Сервер отвечает:

PHPSESSID

123456789

PHPSESSID=123456789

09.01.2018T10:10:10

Шаг 2:

Заходим по адресу: http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=init&version=2&PHPSESSID=123456789

Сервер отвечает:

zip=yes

file_limit=10000

PHPSESSID=123456789

version=2

Шаг 3:

Заходим по адресу: http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=file&filename=catalog.zip&PHPSESSID=123456789

Сервер отвечает:

success

ТУТ заходим в папку /upload/1c_exchange/ и кладем туда файл с catalog.zip (в нем уже должен быть import.xml и т.п.)

Третий шаг закончен. Приступаем к шагу 4:

Заходим по адресу: http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=catalog.zip&PHPSESSID=123456789

Он ответит progress и описание. Выполняем этот запрос пока он не скажет success или failed

Шаг 5:

http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=file&filename=catalog.zip&PHPSESSID=123456789

Сервер отвечает:

progress Распаковка архива завершена.

Шаг 6:

http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=import.xml&PHPSESSID=123456789

Ответ сервера:

progress Временные таблицы удалены.

Шаг 7

Ещё раз обращаемся по той же строчке: (то есть по строчке http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=import.xml&PHPSESSID=123456789)

Ответ сервера:

progress Временные таблицы созданы.

Шаг 8

Ещё раз обращаемся по той же строчке: (то есть по строчке http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=import.xml&PHPSESSID=123456789)

Сервер отвечает

progress Файл импорта прочитан.

Шаг 9

Ещё раз обращаемся по той же строчке: (то есть по строчке http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=import.xml&PHPSESSID=123456789)

Сервер отвечает:

progress Временные таблицы проиндексированы.

Шаг 10

Ещё раз обращаемся по той же строчке: (то есть по строчке http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=import.xml&PHPSESSID=123456789)

Сервер отвечает:

progress Метаданные импортированы успешно.

Шаг 11

Ещё раз обращаемся по той же строчке: (то есть по строчке http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=import.xml&PHPSESSID=123456789)

Сервер отвечает:

progress Группы импортированы.

Шаг 12

Ещё раз обращаемся по той же строчке: (то есть по строчке http://test.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=import.xml&PHPSESSID=123456789)

Сервер отвечает:

progress Деактивация/удаление групп завершено.

и так далее пока сервер не ответит

success Импорт успешно завершен.

Если видите ошибку: Failure Ошибка проверки источника запроса. Обновите модуль обмена

Заходите в Настройки - Инструменты - командная PHP строка и в ней выполняете

COption::SetOptionString("catalog", "DEFAULT_SKIP_SOURCE_CHECK", "Y");

COption::SetOptionString("sale", "secure_1c_exchange", "N");

Комментарии:

Алексей:После шага 7, выдает ошибку, что не может быть прочитан фай импорта, пустой zip архив создался в папке, а из 1c_exchange удалился. куда копать? Спасибо за подробную инструкция, хотя и не работает

Ответ: После 3-его шага файл catalog.zip обнуляется, а так же удаляются старые xml файлы от предыдущей загрузки. То есть файл catalog.zip Вам следует закидывать после 3-его шага, перед выполнением 4-ого. Кроме того вместо import.xml Вам следует использовать реальные имена файлов которые находятся в архиве. Причем шаги описанные в инструкции по import.xml необходимо выполнять все для каждого находящегося в выгрузке xml файла. Только соблюдайте разумную последовательность: 1) файл с категориями; 2) товары; 3) торговые предложения; 4) свойства. Кроме того если xml файлы лежат в подпапках вместе с filename передавайте и папки например так filename=goods/1/import___ed64bf3b-e881-44bf-ac9d-9cd931f8dfc2.xml(в моём случаи так выглядел путь до файла с товарами, до него я ещё загружал import.xml с категориями из корня - upload/1c_catalog) Эту инструкцию писал по рабочей задаче которую выполнял полтора года назад. Она работала. Ещё после 3-его шага после того как закините актуальный catalog.zip проверьте чтобы у битрикс стояли на него права на запись, наче будет ошибка. При желании можете в skype писать: nikolaevevge

Комментарии

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

Имя:
E-mail:
Текст комментария:

Вы так же можете прочитать следующие статьи: