Добрый день!
Битрикс: Бизнес. Главный модуль: 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":[QUOTE]"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&[B]mode=complete[/B]&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"
[/QUOTE]
В этот момент в логах 1С следующее:[QUOTE]--Отправка запроса об окончании выгрузки информации о товарах.
--Отправка запроса на авторизацию.
--Произошла ошибка на стороне сервера.
Ответ сервера:
[B]failure[/B]
[B]Неизвестная команда.[/B]
--Выгрузка пакетов товаров в XML завершена.
--Выгрузка информации о товарах и предложениях ЗАВЕРШЕНА
[/QUOTE]
В компоненте "bitrix:catalog.import.1c" нет обработчика для $_GET['mode'] == 'complete', поэтому срабатывает последний блок ELSE:[QUOTE]echo "failure\n",GetMessage("CC_BSC1_ERROR_UNKNOWN_COMMAND"); // строка 653
[/QUOTE]
В результате чего:
- Не срабатывает событие "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":[QUOTE]"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&[B]mode=complete[/B]&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"
[/QUOTE]
В этот момент в логах 1С следующее:[QUOTE]--Отправка запроса об окончании выгрузки информации о товарах.
--Отправка запроса на авторизацию.
--Произошла ошибка на стороне сервера.
Ответ сервера:
[B]failure[/B]
[B]Неизвестная команда.[/B]
--Выгрузка пакетов товаров в XML завершена.
--Выгрузка информации о товарах и предложениях ЗАВЕРШЕНА
[/QUOTE]
В компоненте "bitrix:catalog.import.1c" нет обработчика для $_GET['mode'] == 'complete', поэтому срабатывает последний блок ELSE:[QUOTE]echo "failure\n",GetMessage("CC_BSC1_ERROR_UNKNOWN_COMMAND"); // строка 653
[/QUOTE]
В результате чего:
- Не срабатывает событие "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").
Спасибо.