Достаточно часто, для диагностики обмена заказов, интернет-магазина на 1С Битрикс с 1С Управление Торговлей, нужно увидеть xml файл с заказами который сформирует сайт для следующей передачи в 1С. Есть два способа
Заключается в скачивании файла диагностики с официальной документации Битрикс. Просто закидываете файл в корень сайта, авторизуетесь администратором и открыаете этот файл в браузере
Увидите вот такое окно: в котором можно открыть XML файл заказов
Но данный скрипт не работает с Битрикс редакций выше 14.4. Лично у меня, выдает вот такую адракадабру. Дело в том, что скрипт не учитывет новый функционал заказов
По сути, метод заключается в иммитации работы 1С. Управление торговлей, просто выполняет ряд запросов к сайту, к скрипту 1c_exchange.php. В ответ получает xml файл с заказами в виде потоковых данных. Нам нужно, просто сымитировать эти запросы.
В командной PHP строке выполняем команды:
COption::SetOptionString("catalog", "DEFAULT_SKIP_SOURCE_CHECK", "Y" );
COption::SetOptionString("sale", "secure_1c_exchange", "N" );
Заходим на сайт администратором и последовательно выполняем запросы, не меняя окна браузера
http://ВАШ_САЙТ/bitrix/admin/1c_exchange.php?type=sale&mode=checkauth
http://ВАШ_САЙТ/bitrix/admin/1c_exchange.php?type=sale&mode=init
http://ВАШ_САЙТ/bitrix/admin/1c_exchange.php?type=sale&mode=query
После этого получим xml заказа прямо в окне браузера
Если вместо xml выдало ошибку доступа. Нужно чуть изменить ссылки. Однако скажу точно (проверено прямо перед написанием заметки). У меня второй способ сработал сразу на версии битрикс 16.5 со всеми обновлениями на 10 ноября 2016 года
Однако если нет:
Сначала нужно выполнить
http://ВАШ_САЙТ/bitrix/admin/1c_exchange.php?type=sale&mode=checkauth
В четвертой строке сайт вернет токен(session id)
затем
http://ВАШ_САЙТ/bitrix/admin/1c_exchange.php?type=sale&mode=init + "&" + токен + "&version=2.08"
затем
http://ВАШ_САЙТ/bitrix/admin/1c_exchange.php?type=sale&mode=query + "&" + токен
Вот в общем-то и все. Диагностируйте с удовольствием!
![]()
Михаил Базаров
| ||
Временное включение старого режима обмена
Выполнить PHP команду
| ||
![]()
Алексей Микрюков
|
НА 15.5.9 не работает.
И еще пишите более подробно а то не понятно что такое (+ "&" + токен + "&version=2.08" ). Вот мне как новичку хоть об стену убейся ничего не понятно |
![]()
Михаил Базаров
| ||
А по поводу более понятного написания, учту | ||
![]()
Сергей Милин
|
В новых версиях старый эмулятор практически бесполезен даже с переводом на классическую схему работы.
Пытался разобраться. кое-как вкурил что в этом мусоре высматривать благодаря статье Начал пробовать по вашему методу с токеном, в 17.8 - матерится на запрет доступа. Пришлось откапывать дистрибьютив 16 и лишь тогда заработало и я победил проблему. P.S В новых версиях вводить команду отката надо после каждого обмена т.к перепрыгивает на новую схему. а не один раз |
![]()
Михаил Базаров
| ||
| ||
![]()
Николай Сухих
|
Как вернуть заказам UPDATED_1C = "N" чтобы 1ц тоже выгрузила их после моих тестов?
|
![]()
Николай Сухих
| ||||
| ||||