Версия для печати темы (https://pro1c.org.ua/index.php?s=576e2a5d59b063a9651463c41805f6ad&showtopic=59998)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Ошибка с WinHttp.WinHttpRequest

Автор: dobrotank 02.07.20, 11:53

Добрый день, коллеги!

Платформа 8.3.15.1830, конфигурация "1С:Учет в управляющих компаниях ЖКХ, ТСЖ и ЖСК, редакция 3.0 (3.0.77.5)". Столкнулся с интересной ситуацией:
Есть внешняя обработка, подключенная через БСП внешние отчёты и обработки. Она должна отрабатывать в качестве регламентного задания по расписанию. И в одной базе нормально отрабатывает. А в другой, с точно такой же конфигурацией, вываливается с ошибкой "Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (WinHttp.WinHttpRequest): URL-адрес не использует поддерживаемый протокол". Эта же ошибка воспроизводится и в файловой копии базы. При том, если запускать в фоновом задании через Консоль Заданий, то всё отрабатывает нормально. В чём же может быть дело?

Автор: Batchir 03.07.20, 9:21

Первое что приходит на ум это либо ошибка в указании адреса http/https.
Второе что проблема в клиент серверном варианте.
Клиент не понимает что от него хотят и валится с ошибкой, в то время как сервер понимает и отрабатывает.

Автор: dobrotank 03.07.20, 10:58


Batchir @ Сегодня, 10:21 * ,

Цитата(Batchir @ 03.07.20, 10:21) *
Второе что проблема в клиент серверном варианте.
Клиент не понимает что от него хотят и валится с ошибкой, в то время как сервер понимает и отрабатывает.

Спасибо за подсказку. Как это можно устранить? И почему тогда в одной базе отрабатывает, а в другой - нет?
Первое отпадает, https адрес указан верно, скопипасчен с той базы, где всё работает.

Автор: Batchir 03.07.20, 15:46

А что значит "другая" база?
Обе базы клиент серверные и находятся на одном сервере? или где-то у кого-то в какой-то среде работает, а перенесенный код не работает на другом сервере?

Нужно понимать что использование WinHttp.WinHttpRequest это не штатный функционал и зависит от настройки среды где выполняется, может администратор сети сделал какие-то настройки и блокирует все непонятные исходящие веб запросы с клиентов.
Почему не используются штатные механизмы отправки GET/POST запросов? (я понимаю что бывают ситуации что по другому никак, но всё же)

Файловая база - считайте всё выполняется на клиенте, и проблемы скорее все именно в клиентской среде.

Как исправить? Выполнение кода перенести на сервер и проверить будет ли работать или нет, но если отрабатывает фоновым заданием то скорее всего должно.

Автор: dobrotank 03.07.20, 16:32

Цитата(Batchir @ 03.07.20, 16:46) *
Обе базы клиент серверные и находятся на одном сервере?

Да.
Цитата(Batchir @ 03.07.20, 16:46) *
Как исправить? Выполнение кода перенести на сервер и проверить будет ли работать или нет, но если отрабатывает фоновым заданием то скорее всего должно.

Так он уже на сервере, а не на клиенте.

Автор: Batchir 06.07.20, 9:59

Цитата(dobrotank @ 03.07.20, 17:32) *
Так он уже на сервере, а не на клиенте.

Ну мне ж откуда это знать. Я делаю вывод только из прочитанного.
Если физическая среда одна и та же и регламентным заданием отрабатывает, то на сервере (в теории) оно должно работать.
Если у вас не отрабатывает и Вы такую же ошибку получаете при использовании файловой базы то я и предположил что в вашем случае по какой-то причине выполняется на клиенте, а не на сервере.
К сожалению сказать так это или нет я без физического просмотра проблемы не могу, только догадки)

Автор: dobrotank 06.07.20, 10:08

Цитата(Batchir @ 06.07.20, 10:59) *
Если у вас не отрабатывает и Вы такую же ошибку получаете при использовании файловой базы то я и предположил что в вашем случае по какой-то причине выполняется на клиенте, а не на сервере.

Увы и ах, всё на сервере...
Блин, и сам теряюсь в догадках, и вокруг никто помочь не может(
Единственное, что осталось - это попробовать стандартные механизмы GET/POST запросов. Но это всю обработку переписывать...

Автор: dobrotank 06.07.20, 11:40

dobrotank @ 02.07.20, 12:53 * ,
Короче говоря, нашёл решение, мало ли - поможет кому.
Адрес сайта через "https://" хранился в ХранилищеОбщихНастроек. Непонятно почему, хотя в обработке был прописан пользователь из под которого выполнять обработку, параметры из ХранилищаОбщихНастроек не подгружались. Почему я так и не понял, решил методом тыка. В КонсолиЗаданий у соответствующего регламентного задания указал пользователя(он был пустым), тогда параметры начали подгружаться.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua