Что имеется на хозяйстве: 1С 8.3 УТП для Украины (8.3.16.1148)
В настройках модуля Битрикс были ведены "логин" и "пароль", такие же как на стороне сайта. Ситуация выглядит так: После установки сертификата SSL на хостинге и переписывания двух файлов на сайте config.php, обмен прекратился! Пока сайт был на протоколе http:// обмен был живой.
При попытке проверить соединение с сайтом выдает сообщение:
На сайте в логах обмена с 1С тоже пусто
Гугл дает два ответа,у один модуль работает из коробки, у других заработал после напильника
Соответственно вопрос, или штатный модуль Битрикс обмен с сайтом поддерживает работу по протоколу https:// или нужен напильник ?
Группа: Основатель
Сообщений: 13983
Из: Киев
Спасибо сказали: 4553 раз
Рейтинг: 3682.7
Espresso.Doktor, надо посмотреть где в коде 1С выполняется HttpСоединение. Когда конструируется этот объект, одним из его параметров можно задать использовать ли SSL подключение. Могу предположить, что он сейчас не задан и надо задать.
СтрокаСообщенияПользователю = ""; Успешно = ПроцедурыОбменаССайтом.HTTPВыполнитьАвторизациюДляСоединения(Соединение, СтруктураПараметровСайта, ОтветСервера, СтрокаСообщенияПользователю, ТипСоединения); Если Не ПустаяСтрока(СтрокаСообщенияПользователю) Тогда СообщитьОбОшибкеОбмена(СтрокаСообщенияПользователю, Ложь); КонецЕсли;
ОтобразитьСостояние("Загрузка данных с сервера...");
ИнформацияДляПользователя = ""; ОтветСервера = ПроцедурыОбменаССайтом.HTTPПолучитьДанныеССервера(Соединение, АдресДляРаботы + ПараметрЗапросаHTTP_ПолучитьДанные, ЗаголовкиЗапросов, ИнформацияДляПользователя); Если Не ПустаяСтрока(ИнформацияДляПользователя) Тогда СообщитьПользователю(ИнформацияДляПользователя, Ложь); КонецЕсли;
Если ОтветСервера = Неопределено Тогда СообщитьОбОшибкеОбмена("Не удалось загрузить данные с сервера.", Ложь); Возврат Ложь; КонецЕсли;
СтрокаCML = "";
Если Лев(ОтветСервера, 2) = "PK" Тогда СтрокаCML = РаспаковатьZIPАрхив(ОтветСервера); Иначе Если Лев(ОтветСервера, 5) = "<?xml" Тогда СтрокаCML = ОтветСервера; КонецЕсли; КонецЕсли;
Если НЕ ЗначениеЗаполнено(СтрокаCML) Тогда СообщитьОбОшибкеОбмена("Не удалось прочитать данные, загруженные с сервера.", Ложь); Возврат Ложь; КонецЕсли;
ДеревоДокументов = РазобратьCML(СтрокаCML);
Если ДеревоДокументов = Неопределено Тогда СообщитьОбОшибкеОбмена("Не удалось разобрать данные, загруженные с сервера.", Ложь); Возврат Ложь; КонецЕсли;
Успешно = ОбработатьДокументы(ДеревоДокументов, КоличествоОбработанныхДокументов);
Если НЕ Успешно Тогда СообщитьОбОшибкеОбмена("Не удалось обработать документы, загруженные с сервера.", Ложь); Возврат Ложь; КонецЕсли;
ИнформацияДляПользователя = ""; ПроцедурыОбменаССайтом.HTTPПолучитьДанныеССервера(Соединение, АдресДляРаботы + ПараметрЗапросаHTTP_УспешноеЗавершениеИмпорта, ЗаголовкиЗапросов, ИнформацияДляПользователя); Если Не ПустаяСтрока(ИнформацияДляПользователя) Тогда СообщитьПользователю(ИнформацияДляПользователя, Ложь); КонецЕсли;
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(Espresso.Doktor @ 25.02.21, 16:12)
как проверить или у меня обновлялся модуль Обмена с Сайтом в 1С-ке ?
Если обновляете его - то обновляется, или он входит в состав конфигурации которая обновляется. Если вы про версию платформы, о которой в том ответе, то к обработке это не имеет отношения, эту информацию можно проверить в "О программе" в 1С.
Цитата(Espresso.Doktor @ 25.02.21, 16:12)
Запрос из 1С-ки выглядит у меня так:
Из него не понятно, есть ли поддержка https. Надо смотреть ПроцедурыОбменаССайтом.HTTPВыполнитьАвторизациюДляСоединения
Личные бесплатные консультации не даю, для этого есть форум!
Если обновляете его - то обновляется, или он входит в состав конфигурации которая обновляется. Если вы про версию платформы, о которой в том ответе, то к обработке это не имеет отношения, эту информацию можно проверить в "О программе" в 1С.
В далеком 2014 году или 2015 году, уже и не помню точно. Был сделан допил для выгрузки на сайт в родном модуле Обмена с сайтом. Потом были обновления, которые делали "специалисты" из местной фирмы, они затерли этот допил в модуле обмена с сайтом и не только.
После этого пришлось откатиться из бекапа и начинать самостоятельно учиться обновлять 1С-ку, были танцы с бубном но научился обновляться без вреда для допилок! По этому могу допустить мысли, что модуль обмена не обновлялся или обновлялся не полностью.
Цитата(logist @ 25.02.21, 21:05)
Из него не понятно, есть ли поддержка https. Надо смотреть ПроцедурыОбменаССайтом.HTTPВыполнитьАвторизациюДляСоединения
Функция HTTPВыполнитьАвторизациюДляСоединения(Соединение, СтруктураПараметровСайта ОтветСервера, СтрокаСообщенияПользователю, ТипСоединения = "catalog") Экспорт
Успешно = Истина; #Если Клиент Тогда Состояние(НСтр("ru='Установка соединения с сервером...';uk=""Встановлення з'єднання з сервером...""")); #КонецЕсли
Соединение = ПроцедурыОбменаССайтом.HTTPУстановитьСоединение(СтруктураПараметровСайта);
Если Соединение = Неопределено Тогда СтрокаСообщенияПользователю = НСтр("ru='Не удалось установить соединение с сервером.';uk=""Не вдалося встановити з'єднання з сервером."""); Возврат Ложь; КонецЕсли;
#Если Клиент Тогда Состояние(НСтр("ru='Проверка имени пользователя и пароля...';uk='Перевірка імені користувача і пароля...'")); #КонецЕсли
Если ОтветСервера = Неопределено Тогда СтрокаСообщенияПользователю = НСтр("ru='Не удалось установить соединение с сервером. Авторизация пользователя не выполнена.';uk=""Не вдалося встановити з'єднання з сервером. Авторизація користувача не виконана.""") + Символы.ПС + ОписаниеОшибки(); Возврат Ложь; КонецЕсли;
Если НРег(СтрПолучитьСтроку(ОтветСервера,1)) <> "success" Тогда СтрокаСообщенияПользователю = НСтр("ru='Не удалось установить соединение с сервером. Проверьте имя пользователя и пароль.';uk=""Не вдалося встановити з'єднання з сервером. Перевірте ім'я користувача і пароль.""") + Символы.ПС + ОписаниеОшибки(); Возврат Ложь; КонецЕсли;
Возврат Истина;
КонецФункции
Функция HTTPУстановитьСоединение(СтруктураПараметровСайта) Экспорт
Соединение = НеОпределено;
ИнтернетПрокси = НеОпределено;
Если СтруктураПараметровСайта.ПроксиИспользование Тогда
ИнтернетПрокси = Новый ИнтернетПрокси; Если СтруктураПараметровСайта.ПроксиПорт = 0 Тогда ИнтернетПрокси.Установить("HTTP", СтруктураПараметровСайта.ПроксиСервер); Иначе ИнтернетПрокси.Установить("HTTP", СтруктураПараметровСайта.ПроксиСервер, СтруктураПараметровСайта.ПроксиПорт); КонецЕсли;
Порт = ?(ЗначениеЗаполнено(СтруктураПараметровСайта.Порт), СтруктураПараметровСайта.Порт, 80); Попытка
Соединение = Новый HTTPСоединение(СтруктураПараметровСайта.Сервер, Порт, СтруктураПараметровСайта.ИмяПользователя, СтруктураПараметровСайта.Пароль, ИнтернетПрокси);
Исключение
ОбщегоНазначения.СообщитьОбОшибке(НСтр("ru='Не удалось установить соединение с сервером ';uk=""Не вдалося встановити з'єднання з сервером """) + СтруктураПараметровСайта.Сервер + ":" + Строка(СтруктураПараметровСайта.Порт) + НСтр("ru='." "Проверьте правильность адреса сервера, порт, имя пользователя и пароль.';uk=""." "Перевірте правильність адреси сервера, порт, ім'я користувача та пароль."""));
Много надобно пилить? Ибо я пробовал допиливать, то что на форумах пишут, что не сильно помогло, видимо напильник плохой был
Цитата(Vofka @ 26.02.21, 8:48)
Я вам про это в самом начале написал Vofka @ 24.02.21, 11:26
Мы же не ищем легкий путей
Пробовал на 1С-ке УТП для Украины, которая автоматический обновляется и регулярно, модуль визуально один в один такой как у меня. Но чуда с обновленной 1С-кой тоже не случилось, видимо так сказать родной модуль обмена Битрикс уже давно не обновляют
Благодарю, я уже пробовал установить свежую версию модуля, но он так и не взлетел у меня Почитал чуток про обновление, и понял что нужно обновлять с первой версии, до самой свежей. Сейчас стоит задача наладить обмен между 1С & OpenCart по протоколу https://
Соединение = Неопределено; ssl = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(), Новый СертификатыУдостоверяющихЦентровWindows()); //as_не типовое для работы по https
Попытка
Соединение = Новый HTTPСоединение( ПараметрыПодключения.Сервер, ПараметрыПодключения.Порт, ПараметрыПодключения.Пользователь, ПараметрыПодключения.Пароль, ПараметрыПодключения.Прокси, , ?(ПараметрыПодключения.ЗащищенноеСоединение, ssl, Неопределено) );
А у меня чуток другой код, так сказать переписанный в Украине:
Функция HTTPУстановитьСоединение(СтруктураПараметровСайта) Экспорт
Соединение = НеОпределено;
ИнтернетПрокси = НеОпределено;
Если СтруктураПараметровСайта.ПроксиИспользование Тогда
ИнтернетПрокси = Новый ИнтернетПрокси; Если СтруктураПараметровСайта.ПроксиПорт = 0 Тогда ИнтернетПрокси.Установить("HTTP", СтруктураПараметровСайта.ПроксиСервер); Иначе ИнтернетПрокси.Установить("HTTP", СтруктураПараметровСайта.ПроксиСервер, СтруктураПараметровСайта.ПроксиПорт); КонецЕсли;
Порт = ?(ЗначениеЗаполнено(СтруктураПараметровСайта.Порт), СтруктураПараметровСайта.Порт, 80); Попытка
Соединение = Новый HTTPСоединение(СтруктураПараметровСайта.Сервер, Порт, СтруктураПараметровСайта.ИмяПользователя, СтруктураПараметровСайта.Пароль, ИнтернетПрокси);
Исключение
ОбщегоНазначения.СообщитьОбОшибке(НСтр("ru='Не удалось установить соединение с сервером ';uk=""Не вдалося встановити з'єднання з сервером """) + СтруктураПараметровСайта.Сервер + ":" + Строка(СтруктураПараметровСайта.Порт) + НСтр("ru='." "Проверьте правильность адреса сервера, порт, имя пользователя и пароль.';uk=""." "Перевірте правильність адреси сервера, порт, ім'я користувача та пароль."""));
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(Espresso.Doktor @ 01.03.21, 2:17)
А у меня чуток другой код
хотел было подсказать, что поправить, но по тому что вы показываете невозможно подсказать как правильно сделать, не понятно как и где формируется СтруктураПараметровСайта, вероятно всё это расположено по нескольким процедурам, и скорее всего в старых механизмах одной функции может не хватать. Покажите всю конфигурацию специалисту, если там дело проблема только в ssl - за бочонок пива думаю поправит кто угодно)
Личные бесплатные консультации не даю, для этого есть форум!
хотел было подсказать, что поправить, но по тому что вы показываете невозможно подсказать как правильно сделать, не понятно как и где формируется СтруктураПараметровСайта, вероятно всё это расположено по нескольким процедурам, и скорее всего в старых механизмах одной функции может не хватать. Покажите всю конфигурацию специалисту, если там дело проблема только в ssl - за бочонок пива думаю поправит кто угодно)
Уже допился, буду восстанавливать из бекапа, ибо конфигурация не сохраняется
Группа: Основатель
Сообщений: 13983
Из: Киев
Спасибо сказали: 4553 раз
Рейтинг: 3682.7
renton82, та это не проблема, просто что-то не так делаете. Создайте новую тему, дайте какой-то пример кода (что вы делаете) и ошибку (или что не получается). Потому что сложно угадывать что не так у вас.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!