Конфигурация системы 1С: Предприятие и Soap п...
-

Конфигурация системы 1С: Предприятие и Soap протокол

0
2431
26.07.2023 Айдар Фархутдинов

Содержание:

1.      Интеграция конфигурации 1С с Soap протоколом

2.      Алгоритм настройки SOAP-клиента в 1С

3.      Доступ к Soap веб-сервисам 1С из JavaScript и HTML 

    

1.     Интеграция конфигурации 1С с Soap протоколом


Интеграция программного продукта системы 1С с Soap протоколом позволяет обеспечить множество новых возможностей в организации бизнес-процессов.


Soap (Simple Object Access Protocol) представляет собой стандартный протокол для обмена данными по Интернету, основанный на XML. Он используется для передачи сообщений от одного узла к другому, в частности, использование веб-сервисов.


Интеграция конфигурации 1С с Soap протоколом позволяет обмениваться данными между 1С и другими программными продуктами, использующими веб-сервисы для обмена данными. Это может быть полезно, например, если ваша компания использует CRM-систему или любую другую систему, которая обеспечивает работу с клиентами. Одна из главных причин, по которой стоит интегрировать 1С с Soap протоколом – это возможность передавать данные между различными приложениями с помощью стандарта, который используют многие приложения. Кроме того, интеграция с Soap позволяет вызывать удалённые процедуры и обращаться к удалённым объектам 1С, что значительно расширяет возможности 1С в интеграции с другими приложениями.


1С поддерживает следующие форматы для обмена данными: XML, JSON и SOAP. Для работы с Soap в 1С используется стандартная библиотека средств доступа к веб-сервисам.  


2.     Алгоритм настройки SOAP-клиента в 1С


Основной способ - использовать SOAP-клиент 1С. С его помощью можно вызывать удалённые процедуры и передавать данные между 1С и другими приложениями через интернет. Настройка SOAP-клиента в 1С не сложна и представляет собой такой алгоритм:


1.      Установка на компьютер программы-сервера, с которым будет происходить взаимодействие (например, CRM-систему или любое другое приложение, которое использует веб-сервисы);

2.      Убедиться, что сервер, на котором установлена программа-сервер, работает и доступен по сети;

3.      Создать Soap-клиента в 1С;

4.      Задать параметры подключения (URL, пользователь, пароль);

5.      Создать необходимые функции или методы в 1С для работы с данными, используя Soap-клиент;

6.      Протестировать функции и методы.   


3.     Доступ к Soap веб-сервисам 1С из JavaScript и HTML


Далее будет описан метод, с помощью которого можно обращаться к веб-сервисам 1С через страницу HTML при помощи JavaScript.


Как пример, могут служить первые буквы наименований справочников, где, если кликнуть на букву – произойдёт вывод всех справочников, начинающихся на эту букву.


Данным методом можно пользоваться, если и страница HTML, и веб-сервис были размещены на едином сервере. Именно так точно не возникнет кросс-доменных неполадок. Если же домены совпадать не будут, то браузер покажет такой текст ошибки:


image1.png


Пусть, у нас есть, со стороны системы 1С, веб-сервис «catalogs», в котором существует операция «Execute». Для входа у нас будут параметры, которые имеют или тип данных «string», или тип «script», а выходной тип у них будет «string». При этом, операция запустит некий script код, который был внутри параметра, а вернёт уже в виде сериализации JSON по переменной result. Это представлено далее:


image2.png


При этом, важно понимать, что сериализация JSON является достаточно удобной, если работать с ней при помощи JavaScript и менять строку на массив или объект при помощи команды eval(resultText).

Проверим корректность ответа от веб-сервиса, после того, как введём его адрес, что демонстрируется далее:


image3.png


Сам проект файла HTML лучше начинать отталкиваясь от готового шаблона, в котором есть опись стилей для различных браузеров.


В верхней форме нужно указать элементы, которые отвечают за настройки веб-сервера, среди них:

·        wsPassword – пароль;

·        wsUser – логин;

·        wsUrl – веб-сервисный адрес.

Логин и пароль должны совпадать с тем, который у юзера в 1С.


В панели слева будут находиться справочники, к которым есть доступ – это catalogsList, а справа будут показаны данные – catalogRecords, а также буквы – letters.


Функция, которая отвечает за обращение к Soap веб-сервису выглядит так:


image4.png


image5.png


image6.png


При входе в executeSoap будет подан 1С-скрипт, который был исполнен именно со стороны конфигурации системы 1С, а также будет подан обработчик. Если вдруг возникнет ошибка, то, как раз, будет обращение к обработчику – processError, он отвечает за вывод сообщений об ошибках.


При этом, важно понимать, что код от 1С был прописан внутри кода HTML, при помощи тэга script. А, чтобы отобразить текст какого-либо из кусков кода – нужно воспользоваться конструкцией jQuery $("#enumerate1CCatalogs").text().


Например, так будет выглядеть получения куска кода с названиями каталогов:


image7.png


А так отобразится получение первых букв:


image8.png


А так получение данных с условием по первой букве:


image9.png


Если кликнуть по «Обновить», то произойдёт вызов функции


image10.png


Если она была корректно выполнена, то появится обработчик processSucces, как показано на примере программного кода 1С далее:


image11.png


XML, возвращаемый веб-сервисом, содержит сериализацию JSON в метке m:return. Чтобы перевести его в объекты JavaScript, следует использовать вызов eval. Обработчик очистит список справочников и заново отформатирует его через метки li с атрибутом catalog, применяя класс catalogTitle к каждому элементу.


Также все управляющие элементы будут обрабатываться аналогично. Если нажать на справочник, буквы и данные будут очищены, а затем заполнены заново. Если нажать на букву, данные будут заполнены из справочника. Куски кода на 1С в блоках script с типом "text/1c" отвечают за обработку.


Приложение будет выглядеть таким образом:


image12.png


В данной статье было рассмотрено то, как взаимодействуют Soap протокол и конфигурация системы 1С, а также рассказан подробный способ по доступу к Soap веб-сервисам 1С из JavaScript и HTML. По сути, стало ясно, что интеграция 1С с Soap - это мощный инструмент, который позволяет заметно расширить возможности вашей системы. Сообщения, передаваемые между приложениями с помощью Soap могут быть как запросами на выполнение, так и ответами на эти запросы. Они используют XML-формат, что делает доступным для обмена множество различных типов данных. Таким образом, интеграция 1С с Soap является одним из наиболее удобных и универсальных способов обеспечить эффективное взаимодействие между 1С и другими приложениями.


    Специалист компании ООО "Кодерлайн"

    Айдар Фархутдинов

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста  
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.