Обмен данными с «1С:Управление торговлей»
Возникла проблема с настройкой обмена данными между "Управление
торговлей 8.3", редакция 10.3 (10.3.43.1) и Shop-Script
(обновление от 15.02.2018).
Копирую ссылку (рис1), как указано в инструкции, в 1с (рис2) - пишет получен пустой ответ от сервера. Что может быть не так?
По инструкции говорится, что поля должны быть пустыми. Может, что не
так с доменным именем? И еще вопрос - Если Shop-Script установлен на сервере, где PHP работает в качестве CGI,
то для работы авторизации при обмене информацией с «1С» необходимо наличие модуля mod_rewrite для веб-сервера Apache.
В этом случае в начало файла .htaccess в каталоге установки скриптов
добавьте следующий код: ...... Где можно найти этот каталог установки
скриптов?
11 ответов
У вас сайт работает на HTTPS?
Пробовали в 1С, в адресе сайта поставить https вместо http?
Пробовали и не раз! в начало файла .htaccess в каталоге установки скриптов
добавили код RewriteEngine On
RewriteCond %{HTTP:Authorization} !^$
RewriteCond %{REQUEST_URI} !(http_auth)
RewriteRule ^(.*)$ $1?http_auth=%{HTTP:Authorization} [QSA]
Может это зря?
1С 8.3 с Управление торговлей, редакция 11.2 — точно работает обмен через HTTPS, только в адресе сайта в 1С нужно указать именно https и включить настройку в Сайте «Перенаправлять на HTTPS» (без модификации файла .htaccess).
А вот 1С:Предприятие 8.2 с "Управление торговлей", редакция 10.3 (10.3.45.2) — обмен работает только через HTTP пока не научить 1С доверять SSL-сертификату вашего сервера, инструкция:
https://infostart.ru/public/79494/
(обязательно изучите комментарии к статье, нужно добавлять родительские сертификаты, причем все из цепочки, если их несколько)
Алексей, добрый день! Ситуация прежняя. Может, что не так с адресами сайта? Скриншоты прилагаю.

mod_rewrite - почистил.
Попробуйте в плагине 1С выключить и выключить обмен, и скопировать новый адрес скрипта обмена в 1С (и добавить https), потом еще в настройках Инсталлера очистите кеш и запустите обмен в 1С.
Раньше у вас обмен работал через http с кириллическим названием домена сайта или первый раз запускаете обмен?
Первый раз. Только получается у нас имя доменное по-русски, а ссылку выдает ту, что выдает! http://xn--54--1dd8d.xn--80asehdb/cml1c/a2293786-8... Сам же сайт https://54-фз.онлайн
По адресу обмена https://xn--54--1dd8d.xn--80asehdb/cml1c/a2293786-... у вас ошибка:
Такого быть не должно, включите в настройках Инсталлера «Режим отладки» и посмотрите детали ошибки по этому адресу.
Алексей, здравствуйте! Извините, что замучил уже. Включил режим отладки - вот, что выходит при переходе по ссылке из магазина.
1C code 403
## wa-apps/shop/plugins/cml1c/lib/actions/frontend/shopCml1cPluginFrontend.controller.php(61)
#0 wa-system/controller/waController.class.php(21): shopCml1cPluginFrontendController->execute()
#1 wa-system/controller/waFrontController.class.php(229): waController->run(NULL)
#2 wa-system/controller/waFrontController.class.php(164): waFrontController->runController(Object(shopCml1cPluginFrontendController), NULL)
#3 wa-system/controller/waFrontController.class.php(58): waFrontController->execute('cml1c', 'frontend', NULL)
#4 wa-system/waSystem.class.php(727): waFrontController->dispatch()
#5 wa-system/waSystem.class.php(487): waSystem->dispatchFrontend('cml1c/a2293786-...')
#6 index.php(7): waSystem->dispatch()
#7 {main}
/home/fbbbyenh203405/kkt.hostenko.com/wa-apps/shop/plugins/cml1c/lib/actions/frontend/shopCml1cPluginFrontend.controller.php around line 61
56 * @var shopCml1cPlugin $plugin
57 */
58 $plugin = wa()->getPlugin('cml1c');
59 $uuid = $plugin->uuid();
60 if (empty($uuid) || (waRequest::param('hash') != $uuid)) {
>>61 throw new waRightsException('1C');
62 }
63 $type = waRequest::get('type');
64
65 try {
66 switch ($type) {
GET
array()
Params
array(
'app' => 'shop',
'theme' => 'buysimply',
'theme_mobile' => 'buysimply',
'locale' => 'ru_RU',
'ssl_all' => '1',
'title' => 'Интернет-магазин кассовых аппаратов онлайн',
'meta_keywords' => 'Интернет-магазин кассовых аппаратов онлайн, ккт онлайн купить в кредит, кассы для ИП',
'meta_description' => 'Интернет-магазин кассовых аппаратов онлайн, ккт онлайн в кредит, кассы для ИП',
'og_title' => '',
'og_image' => '',
'og_video' => '',
'og_description' => '',
'og_type' => '',
'og_url' => '',
'url_type' => '0',
'type_id' => '0',
'currency' => 'RUB',
'public_stocks' => '0',
'drop_out_of_stock' => '0',
'payment_id' => '0',
'shipping_id' => '0',
'hash' => 'a2293786-8592-41d6-b171-1390b87e32c2',
'plugin' => 'cml1c',
'module' => 'frontend',
)
По деталям ошибки видно что плагину 1С не подходит hash (код в конце адреса синхронизации). Скорее всего вы выключили и включили обмен в плагине 1С, но используете еще старый адрес, который уже не подходит.
И большая просьба для безопасности больше не выкладывайте в открытый доступ этот hash или весь адрес скрипта синхронизации.
Убедитесь что вы правильно скопировали в 1С адрес скрипта синхронизации.
Если проблемы останутся, то сделайте запрос в техподдержку через Центр заказчика, нужно будет делать диагностику. Сюда не публикуйте больше адрес скрипта синхронизации или hash.
Домен с кириллическим названием для обмена можно использовать.
Алексей, добрый день!
Попробовал инструкцию. Если сайт работает на HTTPS, а «1С» не поддерживает подключение по HTTPS #
Использовал новый адрес - результат тот-же. Помогите пожалуйста - очень нужно решение.
Если вы выполнили действия точно по этой инструкции https://www.shop-script.ru/help/25/shop-script-5-cml1c/#https-not-supported (в итоге такой формат адреса обмена https://domain.ru/cml1c/cml1c/hash/ ) и у вас не работает обмен по HTTP, то сделайте запрос в поддержку, нужна диагностика.