Skip to content

Процесс обмена — общее описание

Yuri edited this page Jan 25, 2018 · 24 revisions

Описание процесса обмена на dev.1c-bitrix.ru

##Файлы и компоненты

/bitrix/admin/1c_exchange.php переадресует на /bitrix/modules/sale/admin/1c_exchange.php

Компонент импорта тут: /bitrix/components/bitrix/catalog.import.1c

Компонент обмена заказами тут: /bitrix/components/bitrix/sale.export.1c

Языковые сообщения обмена заказами тут: /bitrix/components/bitrix/sale.export.1c/lang/ru

Загрузка справочников

Для загрузки справочников (HL-инфоблоки) используется type=reference

Поле <Ид> в XML-файле должно быть заполнено русскими буквами.

Обмен заказами

Заказчики очень часто просят разобраться с файлами заказов. Раньше Битрикс мог файл заказов показать по ссылке

http://ДОМЕН/bitrix/admin/1c_exchange.php?type=sale&mode=query

Но с версии 15.5.* получаем ошибку: failure Ошибка проверки источника запроса. Обновите модуль обмена.

Всё потому, что битрикс добавил проверку ИД сессии.

Выход простой:

Для получения ИД_сессии перейти по ссылке

http://ДОМЕН/bitrix/admin/1c_exchange.php?type=sale&mode=checkauth

ИД сессии - это sessid

Ссылка для просмотра файла с заказами

http://ДОМЕН/bitrix/admin/1c_exchange.php?type=sale&mode=query&sessid=ИД_сессии

Ссылка для загрузки файла заказов из папки /upload/1c_exchange/

http://DOMAIN_NAME.ru/bitrix/admin/1c_exchange.php?type=sale&mode=import&filename=FILENAME.xml

Фильтрация заказов при обмене

В стандартном обмене с сайта не уходят внешние заказы (у которых поле EXTERNAL_ORDER = Y, см. компонент sale.export.1c)

А также при импорте из 1С заказу выставляется флаг UPDATED_1C = Y. При заказе через сайт или при изменении существующего заказа ему выставляется флаг UPDATED_1C = N. C сайта в 1С уходят только заказы со значением N.

Для успешной фильтрации по дате обновления заказа, от 1С после выгрузки в нее заказов, должен приходить запрос с параметром type=sale&mode=success. При этом дата последней выгрузки сохраняется в b_option и используется при следующем обмене в фильтре по DATE_UPDATE.

Clone this wiki locally