|   |   | 
| 
 | Подключение из базы 1с к http сервису из другой базы 1ски | ☑ | ||
|---|---|---|---|---|
| 0
    
        New_Tesla 30.12.19✎ 07:14 | 
        Всем салют!!!
 вот такой вопрос возник есть http сервис, мне нужно сегодня сделать обработку по нему, а я никак не подключусь к сервису, хотя он опубликован и итд как нужно прописать строки подключения, подскажите, если кто подключался, тк е могу в гугле найти инструкции вот сервис: https://pastenow.ru/8ea1826668d2996d91b28584602904ca шаблон сервиса: /oid/{orderid}/status/{status}/store/{store}/sku/{sku}/amount/{amount}/iin/{iin}/sn/{sn}/fn/{fn} хотя база опубликована, вот другой сервис из той же базы https://pastenow.ru/1d6243abcd2e3d5caf9bdf18f6ca7f3c | |||
| 1
    
        Мимохожий Однако 30.12.19✎ 07:17 | 
        Это не сложно. Нажми Я справа от темы ветки     | |||
| 2
    
        New_Tesla 30.12.19✎ 07:55 | 
        (1) вот именно!
 что не понятно как по этим иструкциям подключаться вот например мне нужен запрос без параметров как мне его написать? я пишу Полизователь = "Admin"; Пароль = "admin"; Сервер = "localhost"; Запрос = Новый HTTPЗапрос; Запрос.АдресРесурса = "/getstores"; Соединение = Новый HTTPСоединение(Сервер + "/InfoBase12/hs/getstores",80,"Admin","admin"); Результат = Соединение.ОтправитьДляОбработки(Запрос); Сообщить("Нам вернули код: " + Результат.КодСостояния); http://catalog.mista.ru/public/955078/ а он не хотит | |||
| 3
    
        New_Tesla 30.12.19✎ 07:56 | 
        пользователь и пароль это к самой базе имеется ввиду?     | |||
| 4
    
        Chameleon1980 30.12.19✎ 08:12 | 
        вот это, наверное, уже убрать нужно
 https://prnt.sc/qhdcqg | |||
| 5
    
        Chameleon1980 30.12.19✎ 08:12 | 
        оно у тебя в запрос есть     | |||
| 6
    
        New_Tesla 30.12.19✎ 08:18 | 
        (5) не ,так тоже не хотит     | |||
| 7
    
        ДенисЧ 30.12.19✎ 08:38 | 
        у меня вот так и работает
 Состояние("Подключение к базе..."); соед = Новый HTTPСоединение("localhost", 80, "HTTPUser", "qq"); адр = "/Base/hs/Refs/" + ТребуемыйУИД; запрос = Новый HTTPЗапрос(адр); отв = соед.Получить(запрос); Если отв.КодСостояния <> 200 Тогда Сообщить("Ошибка получения информации"); Возврат; КонецЕсли; тело = отв.ПолучитьТелоКакСтроку(); Если Лев(тело, 5) <> "<?xml" Тогда Сообщить("Получили непонятное"); сообщить("" + тело); Возврат; КонецЕсли; | |||
| 8
    
        New_Tesla 30.12.19✎ 09:16 | 
        (7) а ТребуемыйУид это какое значение?     | |||
| 9
    
        ДенисЧ 30.12.19✎ 09:21 | 
        (8) НужныйСправочник.УникальныйИдентификатор()     | |||
| 10
    
        ДенисЧ 30.12.19✎ 09:21 | 
        Если что - это в ОФ работает.     | |||
| 11
    
        sikuda 30.12.19✎ 10:30 | 
        (0) (0) /{База}/hs/oid/{orderid}/status/{status}/store/{store}/sku/{sku}/amount/{amount}/iin/{iin}/sn/{sn}/fn/{fn} - ты точно по этому шаблону идешь и ничего не пропускаещь?     | |||
| 12
    
        New_Tesla 30.12.19✎ 10:46 | 
        (11) я щас хочу просто отябы вызвать http сервис , без параметров
 т.е там около 7 сервисов, обработку мне надо сделать по тому , который с параметрами, тренькаюсь я на другом http://catalog.mista.ru/public/955078/ | |||
| 13
    
        New_Tesla 30.12.19✎ 10:46 | ||||
| 14
    
        Chameleon1980 30.12.19✎ 10:47 | 
        соединение.сервер тебе что в отладке показывает?     | |||
| 15
    
        New_Tesla 30.12.19✎ 11:07 | 
        (14) там вроде норм, подключение есть
 https://pastenow.ru/fdb15e13027bb9131c1ef7ce91951884 но! при попытке получить ответ выдает 405 ошибку https://pastenow.ru/3607358342fc76d75dbd78a59d2 | |||
| 16
    
        New_Tesla 30.12.19✎ 11:08 | ||||
| 17
    
        ssh2006 30.12.19✎ 11:19 | 
        Кину свой пример, post запрос из отчета одной базы к сервису в другой базе. Передаются параметры ИНН и даты периода
 HTTPСоединение = Новый HTTPСоединение("computer_name", 80, Пользователь, Пароль); АдресРесурса = "base_name/hs/dt/report1" + "/" + Организация.ИНН + "/" + Формат(ДатаНач, "ДФ=yyyyMMdd") + "/" + Формат(ДатаКон, "ДФ=yyyyMMdd"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса); HTTPЗапрос.УстановитьТелоИзСтроки(Строка); Попытка HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос); Исключение Сообщить("Произошла сетевая ошибка при обращении к серверу!" + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Важное); Возврат; КонецПопытки; КодСостояния = HTTPОтвет.КодСостояния; Строка = HTTPОтвет.ПолучитьТелоКакСтроку(); Если КодСостояния = 200 Тогда ИначеЕсли КодСостояния = 401 Тогда Сообщить("Ошибка подключения: проверьте логин/пароль...", СтатусСообщения.Важное); ИначеЕсли ПустаяСтрока(Строка) Тогда Сообщить("Ошибка, код ответа сервера: " + КодСостояния, СтатусСообщения.Важное); Иначе Сообщить("Ошибка, код ответа сервера: " + КодСостояния + ", " + Строка, СтатусСообщения.Важное); КонецЕсли; Если КодСостояния <> 200 Тогда Возврат; КонецЕсли; | |||
| 18
    
        Chameleon1980 30.12.19✎ 11:51 | 
        Сделай запрос конструктором, а не через адрес ресурса
 Запрос=Новый HTTPЗапрос("/getstores"); | |||
| 19
    
        New_Tesla 30.12.19✎ 12:09 | 
        Ок, щас пробую
 кстати вопрос = а пользователь и пароль это пользователь под которыр запускается http сервис, или пользователь и пароль к базе? | |||
| 20
    
        ДенисЧ 30.12.19✎ 12:28 | 
        (19) 1сный пользователь     | |||
| 21
    
        New_Tesla 30.12.19✎ 18:01 | 
        КРЧ вот работающий запрос)
 //GET Соединение = Новый HTTPСоединение("localhost"); Заголовки = Новый Соответствие(); Заголовки.Вставить("Authorization", "Basic QWRtaW46YWRtaW4="); ЗапросHTTP = Новый HTTPЗапрос("/InfoBase12/hs/getstores/", Заголовки); Ответ = Соединение.Получить(ЗапросHTTP); ТелоОтвета = Ответ.ПолучитьТелоКакСтроку(); СтруктураОтвета = ПрочитатьТелоОтвета(ТелоОтвета); Ошибка = ""; Функция ПрочитатьТелоОтвета(Данные) ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(Данные); Структура = ПрочитатьJSON(ЧтениеJSON); ЧтениеJSON.Закрыть(); Возврат Структура; КонецФункции &НаСервере Процедура ВызватьHttpСервис () //GET Соединение = Новый HTTPСоединение("localhost"); Заголовки = Новый Соответствие(); Заголовки.Вставить("Authorization", "Basic QWRtaW46YWRtaW4="); ЗапросHTTP = Новый HTTPЗапрос("/InfoBase12/hs/getstores/", Заголовки); Ответ = Соединение.Получить(ЗапросHTTP); ТелоОтвета = Ответ.ПолучитьТелоКакСтроку(); СтруктураОтвета = ПрочитатьТелоОтвета(ТелоОтвета); Ошибка = ""; КонецПроцедуры; | |||
| 22
    
        New_Tesla 30.12.19✎ 18:04 | 
        Чудеса!
 Крч чтоб работать с ними нада постман еще скачать а так вообще есть ли курсы отдельные по энтим вещам?) | |||
| 23
    
        New_Tesla 30.12.19✎ 22:01 | 
        теперь самый интересный вопрос = как обратиться к сервису
 вот с таким шаблоном) энто то метод не фурычит) | |||
| 24
    
        New_Tesla 30.12.19✎ 22:01 | 
        /oid/{orderid}/status/{status}/store/{store}/sku/{sku}/amount/{amount}/iin/{iin}/sn/{sn}/fn/{fn}     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |