Все проекты English Написать директору Вебинары
Импортозамещение
Выбор региона
Ваш город:Минск
Поиск

Веб-сервисы в 1С

Время чтения: ~6 мин.

Актуальность проверена: 06 . 10 . 2024

WEB-сервис – система, предназначенная для интеграции с другими информационными платформами. Существенный плюс инструмента – возможность однородного развития инфраструктуры организации, т.е. без уничтожения уже имеющихся и необходимых решений. Создавая современный ландшафт предприятия с помощью унаследованных и разнородных систем, можно снизить издержки и увеличить повторную используемость слабо связных программных компонентов.

Важный момент: веб-сервисы поддерживаются повсеместно, они автономны и независимы от какой-либо платформы.

Что такое веб-сервисы в 1С?

Если говорить простыми словами, то веб-сервис «1С» - инструмент, позволяющий использовать различные функции этого софта вне базы программы «1С». Например, из другой утилиты.

Использование веб-сервисов является более предпочтительным вариантом, чем предоставление прямого доступа к информации «1С». Т.к. в этом случае у внешней утилиты нет доступа к сведениям софта, ограничивающего ее права (прописываются разработчиком).

Веб-сервисы «1С» располагаются в ветке «Общие» в подразделе «Web-сервисы».

Обратите внимание: программа дает возможность формирования веб-сервисов, позволяющих работать в качестве:

  1. Потребителя веб сервисов, опубликованных другими поставщиками.
  2. Поставщика.

В версии «1С: Предприятие 8.3» свои WEB-сервисы можно включать даже в типовые конфигурации для обмена данными с другим софтом.  

Поставщик WEB-сервисов

Веб-сервис поставщика – объект, используя который можно описать определенную функциональность прикладного решения. К примеру, составление перечня имеющейся на складе продукции, их стоимости и числа. После опубликования на сервере, информация будет открыта для других пользователей-потребителей.

В роли пользователей-потребителей могут выступать пользователи произвольных программных и аппаратных платформ.

Потребитель веб-сервисов

В этом случае речь идет о возможности указания ссылки на WEB-сервис, который опубликован сторонним поставщиком. После прикладное решение в собственных прикладных внутренних алгоритмах сможет работать с информацией, доступной от этого WEB-сервиса.

Как настроить веб-сервис в 1С?

В клиент-серверном и файловом варианте работы связь между потребителями WEB-сервера и прикладным решением, при условии, что последнее – поставщик веб-сервиса, станет выполняться через модуль расширения WEB-сервера. Модуль имеется в конфигурации и предлагает процессы, запускаемые при вызове определенных инструментов WEB-сервиса.  

Если вариант работы – файловый или клиент-серверный, данный модуль будет выполняться в модуле расширения ВЕБ-сервиса или в кластере соответственно.

Если прикладное решение – потребитель WEB-сервиса стороннего поставщика, то клиентское приложение станет обеспечивать связь между поставщиками WEB-сервиса и прикладным решением, запуская определенные операции ВЕБ-сервиса и занимаясь обработкой поступающей информации.  

Программа «1С: Предприятия» в качестве потребителя WEB-сервисов имеет поддержку оптимизированной отправки  двоичных данных по MTOM-протоколу (режим в программе активируется автоматически).   

Как создать веб-сервис в 1С?

Чтобы позволить сторонней программе использовать те или иные функции «1С», следует провести следующие операции:

  • Перейти в конфигурацию, в соответствующей ветви дерева добавить объект веб-сервис;
  • В модуле на встроенном в «1С» языке прописать каждую операцию, которую сможет исполнять наш функционал;
  • Указать параметры функционала WEB-сервиса, учитывая имеющиеся виды XDTO-механизма;
  • Опубликовать веб-сервис на сервере.

Программа поддерживает WS-I BP, SSL/TLS, HTTP, WSDL и SOAP стандарты.  

Как происходит обмен данными между ИБ?

Используя веб-сервисы, можно с удобством выгружать и загружать сведения из одной информационной базы в другую. Для этого потребуется установка iis или Apache. Пример обмена:

  • В удаленной базе создаем веб-сервис с определенным названием;
  • В разделе «Прочее» заполняем параметры WEB-сервиса:
  1. Для идентификации веб-сервиса по комбинации имени и пространству имен нужно прописать «URL Пространства имен».
  2. XDTO-пакеты – инструмент для обмена информацией между различными системами с помощью XML. Используя его, на уровне языка ПО «1С» можно работать со стандартными встроенными типами (СправочникСсылка, ТаблицаЗначений и т.д.) и прикладными понятиями (Счет, Сотрудник и т.д.). Можно выбрать встроенные пакеты «1С» (например, содержащий формат «Двоичные данные» для передачи через базу данных любых типов), а можно сформировать собственные XDTO-пакеты.
  3. Имя файла публикации – наименование файла *.1CWS. Наименование – свободное. Однако лучше использовать латиницу и (обязательное условие) 1cws расширение. Также рекомендуется, чтобы имя каталога на веб-сервере и имя файлы публикации совпадали.

После этого останется лишь добавить операции в веб-сервис для выгрузки и загрузки информации. Руководство к действию:

  • Сформируем операцию, например, с типом значения «ХранилищеДанных» и наименованием «ОстаткиПродукцииНаСкладах»;
  • Пропишем параметры для процедуры (можно указывать столько, сколько требуется, например, добавить Предприятие или Поставщика). К примеру:
  1. Склад – с типом Строка.
  2. ОкончаниеПериода – с типом Дата;
  3. НачалоПериода – с типом Дата.
  • Прописываем программный код для операции «ОстаткиПродукцииНаСкладах». В свойствах операции кликаем на строку «ИмяПроцедуры» и выбираем модуль веб-сервиса. Нужные сведения будут предоставлены запросом;
  • Опубликовываем WEB-сервис. Теперь сторонняя база, создав внешнюю оболочку и прописав соответствующий код, может подключиться к нему.

Подключенная база сможет получать данные об остатках за выбранный период по конкретному складу.  

Отладка веб сервиса в 1С

В программе «1С» есть инструменты для отладки в качестве получателя и поставщика веб-сервисов.

Отладка как получателя  

В режиме «Предприятие» запускаем «ПолучательWS» при запущенном конфигураторе «ПоставщикWS». Из раздела «Сотрудники через WS», расположенного в «Справочники» открываем обработку.

В открывшемся окне указываем в графе «Строка для поиска по ФИО» данные для поиска (графу можно и не заполнять). Кликаем на строку «Получить список сотрудников». Система переходит в «ПоставщикWS» конфигурацию модуля веб-сервиса для отладки.

Отладка как поставщика

Активируем конфигуратор для «Поставщика». Опубликовываем веб-сервис «Сотрудники» - в его модуле в коде ставим точку остановки.

Переходим в раздел «Сервис-Параметры». В подразделе «Устанавливать режим разрешения отладки», расположенном в меню «Запуск 1С: Предприятия» ставим галочку.  

Для подключения объектов отладки переходим в раздел «Отладка-Подключение». В высветившемся диалоговом окошке кликаем на «Автоматическое подключение». В диалоге «Автоматическое подключение» ставим галочку «ВЕБ-сервисы». Нажимаем на «Ок».

Пример создания веб сервиса в 1С

В качестве примера веб-сервиса создадим функционал, позволяющий определять длину введенной строчки. ПО отправит в роли параметра запроса – строчку, а опция, предусмотренная «1С» - возвратит количество символов. К данному механизму сможет обращаться стороннее программное обеспечение (не весь софт может работать с кириллицей, поэтому в примере наименования предметов конфигурации станем прописывать на латинице).  

Инструкция:

  • Открываем конфигуратор. Ищем ветку дерева «веб-сервисы»;
  • Называем и добавляем веб-сервис, например, «wa_LengthSring»;
  • В разделе «Операции» добавляем новую функцию, предположим, «CalcLengthSring»;
  • В свойства вносим вида обратного значения integer и int;
  • Внутри операции формируем параметр InputSring с видом значения string.

После этого прописываем в модуле веб-сервиса действие «CalcLengthSring». С этой целью переходим в свойства сформированного функционала, кликаем на лупу (расположена у строки ввода «Имени процедуры» в правой части). Программа сама сформирует функционал в модуле нашего веб-сервиса и активируем для описания работы функции «CalcLengthSring». Как действие функции указываем – определение длинны введенной строчки.

Самый простой веб-сервис успешно создан. Сейчас нужно опубликовать его в общем доступе – чтобы другие информационные системы «1С» или стороннее программное обеспечение могло использовать его функцию.   

Для публикации нового веб-сервиса и его функции у нас должен быть доступ к сайту. Прежде всего, проверяем название файла в свойствах сформированного модуля – «wa_LengthSring». Не забываем, что у него должно быть расширение «1cws».

Переходим к непосредственной публикации веб-сервиса на сервере (доступно в программах «1С» с версии 8.3):

  • Открываем форму «Публикация на веб-сервере», расположенную в разделе «Администрирование» в конфигураторе;
  • Ищем настройку веб-сервисов в открывшемся окошке.

Нам нужны следующие подразделы:

  1. Каталог. Выбирайте путь к парке с хранящимися сведениями ВЕБ-сервиса по настройке подключения. Работаем только с латиницей.
  2. ВЕБ-сервер. Здесь из установленных на компьютере выбираем сервер.
  3. Имя. Указываем папку на WEB-сервере, в которой станет находиться описание нового веб-сервиса. Обратите внимание: иногда серверы различают реестры (большие и маленькие символы).
  4. Признаки типа «Булево». Первый признак нужен, если требуется выполнить настройку доступа к конфигурации через веб-клиент. Для публикации WEB-сервиса «1С» нам нужна вторая отметка.

Теперь нужно проконтролировать, что у нашего веб-сервиса в первом столбике есть галочка, после – кликнуть на строку «Опубликовать».

В связи с относительной новизной инструмента, в программе может возникнуть ошибка типа «Сбой при проведении файловой операции». В такой ситуации следует повторно кликнуть на кнопку «Опубликовать». Ошибка будет устранена – система выдаст информацию об опубликовании нового ВЕБ-сервиса.

Если вы хотите убедиться, что ваш веб-сервис появился на сервере, нужно, воспользовавшись любым браузером, внести в адресную строку команду вида:

<НаименованиеСервера>.ru/<НаименованиеУказанногоНаСервереКаталога>/ws/<НазваниеФайла>.1cws?wsdl

В результате адресного запроса браузер должен показать структуру XML-файла. Если вместо нее появились непонятные символы (проблемы кодировки), ошибка или пустая страница, повторно перепроверьте каждое действие. Кроме того, убедитесь в наличии доступа и правильной настройке веб-сервера.

Остались вопросы? Закажите консультацию наших специалистов!

Хотите получать подобные статьи по четвергам?
Быть в курсе изменений в законодательстве?
Подпишитесь на рассылку

Нет времени читать? Пришлем вам на почту!

Я даю Согласие на обработку персональных данных в соответствии с Политикой Конфиденциальности

Подскажем решение для вашей задачи

Заказать помощь ИТ-специалиста