| 
    
        
     
     | 
    
  | 
Подключение из базы 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}     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |