Добрый день!
Битрикс: Бизнес. Главный модуль: 16.5.4. Интернет-магазин: 16.5.0. Информационные блоки: 16.5.2. Торговый каталог: 16.5.3.
1С. Предприятие 8.2.19.130. УПП: 1.3.90.1. Установлен модуль обмена версии 6.5.0.1.
Суть проблемы. При выгрузке каталога после обработки файла rests___{hash}.xml 1С отправляет запрос с GET-параметром "mode=complete":
В этот момент в логах 1С следующее:
В компоненте "bitrix:catalog.import.1c" нет обработчика для $_GET['mode'] == 'complete', поэтому срабатывает последний блок ELSE:
В результате чего:
- Не срабатывает событие "OnSuccessCatalogImport1C" (всего отправляется 4 файла: import__{hash}.xml, offers__{hash}.xml, prices__{hash}.xml и rests__{hash}.xml - именно в таком порядке - ни разу событие не вызвалось)
- В папке SITE_DIR/upload/1c_catalog/ остаются файлы rests__{hash}.xml и архив, в котором лежит rests__{hash}.xml (при нормальной выгрузке Битрикс должен удалить оба этих файла).
Как лучше решить данную проблему? Что ожидает 1С после запроса "mode=complete"? Если только строку "success", поможет ли кастомизация компонента (т.е. сработает ли событие "OnSuccessCatalogImport1C").
Спасибо.
Битрикс: Бизнес. Главный модуль: 16.5.4. Интернет-магазин: 16.5.0. Информационные блоки: 16.5.2. Торговый каталог: 16.5.3.
1С. Предприятие 8.2.19.130. УПП: 1.3.90.1. Установлен модуль обмена версии 6.5.0.1.
Суть проблемы. При выгрузке каталога после обработки файла rests___{hash}.xml 1С отправляет запрос с GET-параметром "mode=complete":
Цитата |
---|
"GET /bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=rests___{hash}.xml&sessid={hash2} HTTP/1.1" 200 868 "-" "1C+Enterprise/8.2" "GET /bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=rests___{hash}.xml&sessid={hash2} HTTP/1.1" 200 850 "-" "1C+Enterprise/8.2" "GET /bitrix/admin/1c_exchange.php?type=catalog&mode=checkauth HTTP/1.1" 200 1216 "-" "1C+Enterprise/8.2" "GET /bitrix/admin/1c_exchange.php?type=catalog&mode=complete&sessid={hash2} HTTP/1.1" 200 846 "-" "1C+Enterprise/8.2" "GET /bitrix/admin/1c_exchange.php?type=catalog&mode=checkauth HTTP/1.1" 200 1216 "-" "1C+Enterprise/8.2" |
В этот момент в логах 1С следующее:
Цитата |
---|
--Отправка запроса об окончании выгрузки информации о товарах. --Отправка запроса на авторизацию. --Произошла ошибка на стороне сервера. Ответ сервера: failure Неизвестная команда. --Выгрузка пакетов товаров в XML завершена. --Выгрузка информации о товарах и предложениях ЗАВЕРШЕНА |
В компоненте "bitrix:catalog.import.1c" нет обработчика для $_GET['mode'] == 'complete', поэтому срабатывает последний блок ELSE:
Цитата |
---|
echo "failure\n",GetMessage("CC_BSC1_ERROR_UNKNOWN_COMMAND"); // строка 653 |
В результате чего:
- Не срабатывает событие "OnSuccessCatalogImport1C" (всего отправляется 4 файла: import__{hash}.xml, offers__{hash}.xml, prices__{hash}.xml и rests__{hash}.xml - именно в таком порядке - ни разу событие не вызвалось)
- В папке SITE_DIR/upload/1c_catalog/ остаются файлы rests__{hash}.xml и архив, в котором лежит rests__{hash}.xml (при нормальной выгрузке Битрикс должен удалить оба этих файла).
Как лучше решить данную проблему? Что ожидает 1С после запроса "mode=complete"? Если только строку "success", поможет ли кастомизация компонента (т.е. сработает ли событие "OnSuccessCatalogImport1C").
Спасибо.