Каталог решений - 1с vs. МТС Мобильные сотрудники (SOAP запросы в 1С 8.2)

1с vs. МТС Мобильные сотрудники (SOAP запросы в 1С 8.2)

1с vs. МТС Мобильные сотрудники (SOAP запросы в 1С 8.2)

В наличии

Пример использования SOAP запроса в 1С 8.2

Категория:

Описание

Недавно передо мной стояла задача узнать: осуществимо ли получать данные в 1С из программного продукта МТС Мобильные сотрудники.

Как, оказалось, достучаться к данным МТС необходимо через soap запрос. МТС вам пришлет трактат с описаниями функций и адреса сервисов. В первую очередь предстоит авторизоваться на сервере, вот на этом примере и рассмотрим получение данных в 1С из МТС Мобильные сотрудники B2B XML API

Создаем форму с кнопкой Выполнить и прописываем следующий код. Не забываем в соап запросе продублировать кавычки.

Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = СформироватьЗапрос();
ПослатьЗапрос(Запрос);
Сообщить (ПослатьЗапрос(Запрос));
КонецПроцедуры

Функция СформироватьЗапрос()
    Запрос = "<?xml version=""1.0"" encoding=""utf-8""?> <soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/""> <soap:Body> <Login xmlns=""ХТТП_сервак""> <login>логин</login> <password>пароль</password> </Login> </soap:Body> </soap:Envelope>";
    Возврат Запрос;
КонецФункции 

Функция ПослатьЗапрос(ЗапросXML)
        АдресСервиса = "ХТТП_b2b";
        ИмяСервера = "ХТТП_сервак";
                              
        MSXML = Новый COMОбъект("MSXML2.XMLHTTP");
        MSXML.open("POST", АдресСервиса, 0);
        MSXML.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
        MSXML.setRequestHeader("Content-Length", СтрДлина(ЗапросXML));
        MSXML.setRequestHeader("SOAPAction", "ХТТП_сервак");
        MSXML.send(ЗапросXML);
        ОтветПолучен = Ложь;
        Для НомерЦикла = 1 по 100 Цикл
            Если MSXML.readyState >3 Тогда
                ОтветПолучен = Истина;
                Прервать;
            КонецЕсли;      
        КонецЦикла;  
              
        Если ОтветПолучен Тогда
            возврат MSXML.responseXML.xml;
            
        Иначе
            Возврат неопределено;
        КонецЕсли;
КонецФункции
 

Теперь открываем форму в толстом клиенте, и после нажатия кнопки на форме в ответ нам вернется примерно вот такой соап-ответ.

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body><LoginResponse xmlns="ХТТП_сервак">
<LoginResult>
<Token>Ключ</Token>
<ID>ИД</ID>
<Name>Имя</Name>
<IsAdmin>ДаНет</IsAdmin>
<RegionID>Регион</RegionID>
<CustomerName>ИмяФИрмы</CustomerName>
<TimeOffset>240</TimeOffset>
</LoginResult></LoginResponse>
</soap:Body></soap:Envelope>

Теперь необходимо вычленить Ключ подключения из соап-ответа, и можно дальше веселиться с различными функциями от МТС Мобильные сотрудники.

has been added to your cart:
Оформление заказа