Контакты

Случае если функция реализующая операцию web. Некоторые особенности реализации веб-сервисов

Раздел 08. Механизмы интеграции и обмена данными

С точки зрения XML сериализации значение типа "ДокументСсылка.ИмяДокумента" относится:
1. К простым типам

Одновременно с файлом формата dbf может быть открыто...

4. не более одного индексного файла

При обращении к базе данных 1С:Предприятие 8 через OLE выполняется процедура - обработчик события ПриНачалеРаботыСистемы" определенный...
1. в модуле приложения

Данную топологию обмена между информационны (имеющими одинаковую конфигурацию) можно

2. Только при использовании возможностей универсального обмена

При записи значения с использованием средств XML сериализации в XML документ:
3. Используются методы, относящиеся к средствам XML сериализации и объект "ЗаписьХМL"

При обращении к базе данных 1С:Предприятие 8 через СОМ выполняется процедура - обработчик события "ПриНачалеРаботыСистемы" определенный...

2. в модуле внешнего соединения

Данную топологию обмена между информационными базами (имеющими одинаковую конфигурацию) можно реализовать:

3. Как средствами универсального обмена, так и распределением информационной базы

Событие "ПриПолученииДанныхОтПодчиненного", определенное в модуле плана обмена, возникает при получении данных от подчиненного узла:
1. При отмеченном у данного плана обмена флаге "Распределенная база данных"

При последовательном чтении из текстового файла невозможно:

3. Возможно как построчное, так и посимвольное чтение

В процедуре, которая будет вызываться при подключении к базе данных через СОМ, нельзя использовать:

2. Форма.Открыть()

При использовании механизма распределенных баз данных изменения в конфигурации:

3. Изменения включаются в стандартные сообщения обмена

При использовании механизма распределенных информационных баз в соответствующем объекте "План обмена" отдельно взятой информационной базы (входящей в распределенную) определяется:

2. Главная (но она может и отсутствовать) и подчиненные базы

Для создания объекта, с использованием которого из одной базы 1С:Предприятие 8 будет производиться обращение через OLE к другой информационной базе 1С:Предприятие 8, используется конструктор:
3. Новый СОМОбъект

К простым с точки зрения XML сериализации относятся типы:

4. Которые представляются в виде элементов XML только с текстовым содержимым

Экземпляр объекта XBase позволяет одновременно организовать работу:
1. Только с одним файлом формата dbf

Для получения почты напрямую с почтового сервера (без использования установленного почтового клиента) использует объект:

2. Объект "ИнтернетПочта"

Элементы управления ActiveX могут использоваться в диалоге формы:
1. Без ограничения

К сложным, с точки зрения XML сериализации, относятся типы:

4. Типы, значения которых представляются в виде элементов XML, содержащих вложенные элементы

У плана обмена может быть следующее количество предопределенных узлов (которые нельзя удалить или пометить на удаление):

2. Всегда один

С точки зрения XML сериализации, значение типа "ХранилищеЗначения" относится:
1. К простым типам

Для обращения к свойствам элементов управления ActiveX из модуля формы используется:

2. Свойство "ЭлементыФормы"

При использовании универсальных механизмов обмена (в свою очередь использующих планы обмена) таблица регистрации изменений для объектов, изменение которых отправлено в сформированном сообщении:

3. Порядок определяется программистом

При использовании механизма распределенных баз данных таблица регистрации изменений для объектов, изменение которых отправлено в сформированном сообщении:
2. Очищается после приема квитанции о приеме отправленного сообщения

С точки зрения XML сериализации, значение типа "КонстантаМенеджерЗначения.Имя константы" относится:
2. К сложным типам

При работе с объектом "ИнтернетПочта" можно произвести выборку писем (либо заголовков):

5. Только все письма, находящиеся на сервере

В качестве макета нельзя использовать:

2. ActiveX элемент управления

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

При работе с внешней компонентой (выберите наиболее правильное утверждение):

3. После программной загрузки объекты внешней компоненты подключаются к "1С:Предприятию 8"

При использовании планов обмена, управлять составом узлов, для которых производится регистрация изменений объектов:
3. Состав узлов, для которых идет регистрация изменений, может корректироваться при работе с объектом

Объект "ПреобразованиеХSL" предназначен...
3. для преобразования XML документа в другой документ допустимого формата

С помощью средств XML сериализации нельзя в XML документ сохранить значения, имеющие тип:
6. Можно сохранить значения всех вышеуказанных типов

Выберите правильное утверждение, касающееся элемента управления "поле HTML документа"
4. Позволяет просматривать html документы, как в локальной сети, так и в сети Интернет

Для отслеживания момента полной загрузки HTML документа в элементе управления "Поле HTML документа" можно использовать:

2. Обработчик события "Документ сформирован" данного элемента управления, в котором при этом производится проверка свойства URL на равенство заданному адресу ресурса

Для получения почты посредством установленного на пользовательском компьютере почтового клиента используется объект:
1. Почта

При программном создании фабрики XDTO, типы в ней определенные:
3. не могут расширяться, определяются в полном объеме при создании

Типы определенные в глобальной фабрике XDTO:

4. могут расширяться за счет создания пакетов XDTO, изменения состава объектов конфигурации

Понятию "Фабрика XDTO" больше всего соответствует такое понятие XML как:
1. набор схем XML.

Понятию "Пакет XDTO" больше всего соответствует такое понятие XML как:
2. схема XML документа

В рамках создаваемого пакета XDTO (без использования директивы импорта) можно использовать типы:
2. определенные только в данном пакете и типы стандартные для XML..

В рамках модели XDTO понятие "Фасет" относится к:
2. тип значения XDTO.

При определении типа свойства объекта XDTO информация о типе включает:

2. имя типа и имя пространства имен

Менеджер WEB сервисов решает задачу:
1. управление пулом соединений с информационными базами.
2. поддержка WSDL описания сервиса, реализация протокола SOAP.
4. верны ответы 1,2.

Объект конфигурации "WEB сервис" используется для:

3. экспорта функциональности данной информационной базы

В случае если функция, реализующая операцию WEB сервиса, возвращает какое-либо значение. То такое значение определяется (при настройке соответствующего объекта конфигурации) как имеющее тип:

5. объект или значение XDTO

При обращении к WEB сервису по статической ссылке последовательность действий следующая:
1. получение wsdl описания, настройка подключения (создание прокси), обращение к операции сервиса.

При обращении к WEB сервису по динамической ссылке последовательность действий следующая:
1. получение wsdl описания, настройка подключения (создание прокси), обращение к операции сервиса

В случае если функция, реализующая операцию WEB сервиса, принимает какое-либо значение в качестве параметра. То такое значение определяется (при настройке соответствующего объекта конфигурации) как имеющее тип:
5. объект или значение XDTO

Каким образом можно определить в каких планах обмена для конкретного прикладного объекта указана авторегистрация?
1. В окне редактирования объекта, раздел "Обмен данными"
3. Посредством вызова окна "Дополнительно" для данного объекта (закладка "Планы обмена")

5. Верны ответы 1 и 3

Для прикладных объектов в окне редактирования объекта конфигурации на закладке "Обмен данными" указываются...

4. планы обмена, в которых будут учитываться изменения в данном объекте

Редактирование OLE-объектов осуществляется:

3. Приложением, связанным с OLE-объектом

Внешние файлы табличных документов:

2. Имеют расширение MXL

Automation-сервер "1С:Предприятие 8"...
1. предоставляет доступ ко всем свойствам и методам своего глобального контекста
2. предоставляет доступ к дополнительным свойствам и методам для выполнения действий, специфичных для работы в режиме Automation
3. позволяет управлять приложением системы "1С:Предприятие 8" из других приложений, а также выполнять действия, аналогичные интерактивным
4. верны все указанные ответы

Создание информационной системы с использованием нескольких информационных баз в системе 1С:Предприятие 8...
3. реализуется с помощью объекта конфигурации "Планы обмена"

Web-сервис - это средство интеграции, обеспечивающее концепцию сервисной архитектуры. То есть, система 1С может быть представлена как набор независимых сервисов для сторонних систем, и в свою очередь может выступать потребителем таких сервисов. Схема архитектуры:

Менеджер web-сервиса, представленный на схеме, закрывает следующие задачи:

  • управляет пулом соединений с информационными базами
  • поддерживает описание сервиса в формате WSDL (Web Services Description Language, язык описания веб-сервисов, основанный на XML)
  • реализует протокол SOAP (Simple Object Access Protocol - простой протокол доступа к объектам), обеспечивает сериализацию сообщений, вызов нужных web-сервисов

В конфигурации web-сервисы реализованы как общие объекты:

Для web-серивиса, специфицируется набор операций, каждая из которых может характеризоваться определенными параметрами для передачи данных:

Web-сервис работает с помощью XML, соответственно ему необходимо указать схему разметки; для этого web-сервис ссылается на пакет XDTO :

Вопрос 08.42 экзамена 1С:Профессионал по платформе. Менеджер WEB сервисов решает задачу:

  1. управление пулом соединений с информационными базами
  2. поддержка WSDL описания сервиса, реализация протокола SOAP
  3. поддержка работы WEB приложения
  4. верны ответы 1,2
  5. верны ответы 2,3
  6. верны ответы 1,2,3

Правильный ответ четвертый, работу web-приложения web-сервис не обеспечивает (см. выше его функции).

Вопрос 08.43 экзамена 1С:Профессионал по платформе. Объект конфигурации "WEB сервис" используется для:

  1. организации обращения к web-сервисам по статической ссылке
  2. экспорта функциональности данной информационной базы

Правильный ответ третий - web-сервис специфицирует некоторую функциональность, которая может быть доступна из вне данной базы.

Вопрос 08.44 экзамена 1С:Профессионал по платформе. Объект конфигурации "WSСсылка" используется для:

  1. организации динамического обращения к web-сервисам
  2. организации обращения к web-сервисам по статической ссылке
  3. экспорта функциональности данной информационной базы

Правильный ответ второй. WS-ссылка - это общий объект конфигурации, предназнасенный для доступа к сторонним веб-сервисам по статической ссылке. Ссылка состоит из модели данных, по сути пакета XDTO, и web-сервиса, с которого опубликована ссылка:

Вопрос 08.45 экзамена 1С:Профессионал по платформе. В случае если функция, реализующая операцию WEB сервиса, возвращает какое-либо значение. То такое значение определяется (при настройке соответствующего объекта конфигурации) как имеющее тип:

  1. Строка
  2. Число
  3. Булево
  4. элемент XML
  5. объект или значение XDTO
  6. верны ответы 1,2,3

Правильный ответ пятый.

Вопрос 08.48 экзамена 1С:Профессионал по платформе. В случае если функция, реализующая операцию WEB сервиса, принимает какое-либо значение в качестве параметра. То такое значение определяется (при настройке соответствующего объекта конфигурации) как имеющее тип:

  1. Строка
  2. Число
  3. Булево
  4. элемент XML
  5. объект или значение XDTO
  6. верны ответы 1,2,3

Правильный ответ аналогично пятый.

Вопрос 08.46 экзамена 1С:Профессионал по платформе. При обращении к WEB сервису по статической ссылке последовательность действий следующая:

  1. получение wsdl описания, настройка подключения (создание прокси), обращение к операции сервиса
  2. настройка подключения (создание прокси), обращение к операции сервиса
  3. обращение к операции сервиса

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

Вопрос 08.47 экзамена 1С:Профессионал по платформе. При обращении к WEB сервису по динамической ссылке последовательность действий следующая:

  1. получение wsdl описания, настройка подключения (создание прокси), обращение к операции сервиса
  2. настройка подключения (создание прокси), обращение к операции сервиса
  3. обращение к операции сервиса

Правильный ответ первый.

Печать (Ctrl+P)

Web-сервисы

Механизм Web-сервисов позволяет использовать «1С:Предприятие» как набор сервисов в сложных распределенных и гетерогенных системах, а также позволяет интегрировать «1С:Предприятие» с другими промышленными системами использованием сервисно-ориентированной архитектуры.

Добавление Web-сервиса

Для того чтобы добавить Web-сервис в дерево конфигурации, следует выделить ветку Общие – Web-сервисы и выполнить команду контекстного меню Добавить .
В результате выполнения команды будет открыто окно редактирования Web-сервиса.

На закладке Прочее окна редактирования Web-сервиса следует установить следующие параметры:
URI пространства имен – содержит URI пространства имен Web-сервиса. Каждый Web-сервис может быть однозначно идентифицирован по своему имени и URI пространству имен, которому он принадлежит.
● Пакеты XDTO – перечень пакетов XDTO, типы которых могут использоваться в качестве типов возвращаемого значения операций и типов параметров операций Web-сервиса.
Имя файла публикаций – имя файла описания Web-сервиса, который расположен на веб-сервере.
Для получения доступа к Web-сервису необходимо использовать адрес, который формируется следующим образом: <Имя хоста веб-сервера>/<Имя виртуального каталога>/ws/<Имя Web-сервиса> или <Имя хоста веб-сервера>/<Имя виртуального каталога>/ws/<Адрес Web-сервиса> .
Так, если виртуальный каталог имеет имя DemoWS , имя Web-сервиса в конфигураторе указано как ДемонстрацияРаботыWS, а в качестве адреса указано DemoWorkWS , то обращение к Web-сервису можно выполнять одновременно по двум адресам (для получения доступа с локальной машины):
http://localhost/DemoWS/ws/ДемонстрацияРаботыWS или http://localhost/DemoWS/ws/DemoWorkWS.
Кроме этого, на закладке содержится кнопка Модуль, которая позволяет открыть для редактирования модуль Web-сервиса.

Иерархическая структура Web-сервиса

Каждый Web-сервис, описываемый в дереве конфигурации, может содержать набор операций. Каждой операции должна соответствовать экспортируемая процедура, описанная в модуле Web-сервиса.


Описание Web-сервиса

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

Операции Web-сервиса

На закладке Операции выполняется добавление операции Web-сервиса. Редактирование свойств операции выполняется в палитре свойств.


Свойства операции Web-сервиса

Тип возвращаемого значения – тип значения, которое возвращает операция Web-сервиса. Может являться типом значения XDTO или типом объекта XDTO.
Возможно пустое значение – показывает, может ли возвращаемое значение принимать неопределенное значение.
В транзакции – показывает, будет ли выполняться код модуля Web-сервиса в транзакции или нет. Если свойство установлено, то при вызове Web-сервиса автоматически будет начата транзакция, а при завершении транзакция будет либо зафиксирована, либо произойдет откат транзакции (в зависимости от результатов выполнения). Если свойство не установлено, при начале исполнения модуля Web-сервиса транзакция начата не будет.
Имя процелуры – имя экспортной процедуры модуля Web-сервиса, которая будет выполнена при вызове данного свойства.
Режим управления блокировкой данных – указывает, какие блокировки будут использовать при доступе к данным.

Параметры операции

На закладке Операции для указанной операции нужно осуществить задание параметров операции Web-сервиса. Редактирование свойств параметра
выполняется в палитре свойств.


Свойства параметра операции

Тип значения – тип значения параметра операции Web-сервиса. Может являться типом значения XDTO или типом объекта XDTO.
Возможно пустое значение – показывает, может ли значение параметра операции принимать неопределенное значение.
Направление передачи – определяет направление передачи данных с помощью данного параметра. Возможные значения:
● Входной – означает, что параметр может использоваться только для передачи данных Web-сервису.
● Выходной – означает, что параметр может использоваться только для получения данных от Web-сервиса.
Входной – Выходной – означает, что параметр может использоваться как для передачи данных, так и для их получения от Web-сервиса.

Указание типов, определяемых системой

Чтобы в Web-сервисе воспользоваться типами, определяемыми системой 1С:Предприятие» (например, в параметрах и возвращаемом значении операций), нужно в конфигурации определить пакеты XDTO и для каждого пакета указать в его списке импортируемых пакетов (свойство Директивы импорта) набор пакетов платформы, в которые эти типы входят. URI пространства имен для указания типа содержится в статье синтакс-помощника по объекту данного типа.

Публикация Web-сервисов

Задача публикации сводится к размещению файла публикации в соответствующем каталоге. Для того, чтобы выполнить публикацию, следует выполнить команду меню “Администрирование – Публикация на веб-сервере… “.

В результате выполнения этой команды будет открыто окно, в котором осуществляется публикация информационной базы на локальном компьютере.

Внимание! Выполнение операции требует наличия прав администратора (для ОС Windows) или прав суперпользователя (для ОС Linux) на компьютере, на котором выполняется публикация

Основные настройки публикации

На закладке “Основные ” отображаются данные, необходимые для выполнения публикации.

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

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

Имя публикации должно соответствовать правилам URL (стандарт RFC 1738).
Если выбран веб-сервер Apache 2.2 или Apache 2.4, то для имени каталога следует использовать US ASCII символы.

Примечание. При использовании веб-сервера Apache в диалоге настройки доступны для выбора обе версии веб-сервера. Следует учитывать, что настройки публикации для Apache 2.2 и Apache 2.4 несовместимы между собой. Поэтому необходимо правильно выбрать версию веб-сервера в диалоге.

Укажите необходимость публикации тонкого клиента и веб-клиента, а также Web- и HTTP-сервисов.

Если флажок “Публиковать стандартный интерфейс ODATA ” установлен, будет опубликован сервис ODATA, который позволяет считывать и изменять данные информационной базы с помощью HTTP-запросов.

На закладке “Web-сервисы ” установите флажок “Публиковать Web-сервисы ” и в таблице сформируйте список путем установки проставления флажков для тех Web-сервисов, которые нужно опубликовать.

Если флажок “Публиковать Web-сервисы по умолчанию” установлен, то при обновлении публикации выбранные web-сервисы будут опубликованы автоматически. В противном случае, web-сервисы будут отмечены как не публикуемые.

Если флажок “Публиковать Web-сервисы расширений по умолчанию” установлен, то при обновлении публикации web-сервисы, добавленные расширениями, будут опубликованы автоматически.

Итак. Код метода каждой ws-операции находится в модуле веб-сервиса, к которому принадлежит эта ws-операция.Модуль веб-сервиса исполняется только на Сервере.

Замечание 1 : нет смысла писать директивы компиляции &НаСервере, &НаКлиенте и другие.

На каждый вызов веб-операции создается отдельный сеанс с информационной базой, поэтому при каждом вызове веб-операции происходит инициализация параметров сеанса. Инициализация параметров сеанса происходит в модуле сеанса в процедуре "УстановкаПараметровСеанса".

Замечание 2 : не нагружайте эту процедуру лишними действиями.

Лично я в данное процедуре при первом вызове делаю инициализацию только самых часто используемых параметров сеанса. И только если нужны другие параметры сеанса, при повторном вызове, обрабатываю указанные параметры.

Процедура УстановкаПараметровСеанса(ИменаПараметровСеанса)

//суть изменений - получить сразу только важные параметры, а если нужны еще параметры воспользоваться подсистемой БСП

Если ИменаПараметровСеанса=Неопределено Тогда

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ ПЕРВЫЕ 1

|ИЗ

|Справочник.Пользователи КАК Пользователи

|ГДЕ

|Пользователи.ИдентификаторПользователяИБ = &ИдентификаторПользователяИБ";

ИдентификаторПользователяИБ = ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор;

Запрос.Параметры.Вставить("ИдентификаторПользователяИБ ", ИдентификаторПользователяИБ);

РезультатПользователи = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

ПараметрыСеанса.ТекущийПользователь = ВыборкаДетальныеЗаписи.Ссылка;

КонецЦикла;

ПараметрыСеанса.ТекущийКонтрагент = ПараметрыСеанса.ТекущийПользователь.Контрагент;

Иначе

СтандартныеПодсистемыСервер.УстановкаПараметровСеанса(ИменаПараметровСеанса);

КонецЕсли;

КонецПроцедуры


Если вы читали статью 1С:Предприятие 8. Веб-сервисы. Реализация собственного веб-сервиса , то заметили что в дереве метаданных параметр ws-операции называется "Param", а в реализующем его методе называется "Параметр". Дело в том что наименование операндом в методе ws-операции не имеет значение, 1С подставляет операнды в том порядке в котором они указаны в дереве метаданных ws-операции. Например у нас есть операция Example1, в конфигураторе мы указали что операция имеет два параметра "param1" и "param2" и создали процедуру которая выводит "param2".

Если мы вызовем ws-операцию Example1 и передадим в качестве параметров param1=1, param2=2, то в результат получим 2.

Но если мы поменяем порядок операндов в конфигураторе:

То тот же самый вызов вернет 1.

Замечание 3 : после смены порядка параметров ws-операции, не забудьте поменять их порядок в заголовке функции, реализующей эту операцию.

Замечание 4 : в качестве операндов ws-операции можете использовать отличные от заданных в конфигураторе имена.

Если у части параметров ws-операции установлена галочка "Возможно пустое значение", то данный параметр может быть не указан при вызове, но тут есть несколько нюансов. При использовании клиента, например SoapClient вы не можете при передачи параметра просто взять и не указать параметр совсем. Например:

$a=$client->Plus2();


Эта строка вызовет ошибку " Неизвестная ошибка. Недостаточно параметров операции". То есть сам параметр надо передать, указав значение null:

$zz=array("Param"=>null);

$a=$client-> Plus2 ($zz);

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

Функция Plus2(Параметр=0)

Возврат Параметр+2;

КонецФункции

То есть указать значение операнда в случае его отсутствия.

Теперь надо вызвать наш веб-операцию с пустым. Приведу пример xml сообщения soap с передачей значение null.


xsi:nil="true" - указывает, что данный параметр не имеет значение. Для того что бы можно было указать null дополнительно надо связать префикс xsi с пространством имен: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" .


Но если он сделает вызов такой ws-операции с пустым значением то получит сообщение об ошибке:

Soap:Client

Неизвестная ошибка.

по причине:

{WebСервис.WebService.Модуль(2)}: Преобразование значения к типу Число не может быть выполнено

по причине:

{WebСервис.WebService.Модуль(2)}: Преобразование значения к типу Число не может быть выполнено


Все потому, что переданное значение null преобразуется в значение 1с - "Неопределено". В этом можно убедиться если переписать процедуру так.

Функция Plus2(Параметр=0)

Если Параметр = Неопределено Тогда

Результат = 1;

Иначе

Результат = 2;

КонецЕсли;

Возврат Результат;

КонецФункции


Результатом будет - 1.

Замечание 5: нет смысла писать значение операнда ws-операции по умолчанию(Функция Plus2(Параметр=0) ). Для операндов, которые могут принимать пустое значение надо добавить проверку на равенство "Неопределено".


Замечание 6: При передачи в веб-операцию параметра строкового типа, строка из одного или нескольких пробелов обрезается до пустой строки.

Замечание 7: При передаче в веб-операцию параметра типа дата (datetime) с использованием формата с указанием на часовой пояс, время приводится к часовому поясу в котором находится платформа 1с. Например если операция имеет параметр "Дата" типа datetime, ПК на котором располагается 1с находится в часовом поясе +6, то при передаче в этот параметр значения "2012-09-14T00:00:00.000+02:00" в коде веб-операции данный параметр будет иметь значение "14.09.2012 4:00:00". Следовательно "+02:00" указывает на то, в каком поясе находится отправитель. Это позволит вам не задумываться о переводе времени при работе в нескольких часовых поясах.

Еще немного провеб-сервисы, их реализацию, тестирование и прочее можно прочесть тут.

Сегодня WEB сервисы используются практически повсеместно – именно они предоставляют нам информацию о рейсах самолетов и поездов, курсах валют и погоде. Неудивительно, что и 1С обладает возможностью создания собственных WEB сервисов, позволяющих выступать как в роли поставщика, так и потребителя. Данный механизм встроен в платформу «1С:Предприятие 8.3» и разработчики могут добавлять даже в типовую конфигурацию собственные объекты типа «WEB-сервисы». Их архитектура построена на наборе сервисов, позволяющих обмениваться информацией с другим программным обеспечением.

Создание веб-сервиса 1С

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

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

Чтобы определенная функция системы 1С стала доступна внешнему ПО, необходимо выполнить следующий алгоритм действий:

  1. Зайти в конфигурацию и в определенной ветке дерева добавить объект WEB-сервис;
  2. Описать все операции, которые сможет выполнять наш функционал. Описание функций производиться в модуле на встроенном в 1С языке;
  3. Добавить описание параметров функций веб-сервиса. Учтите, что типы данных описываются с учетом существующих типов механизма XDTO, появившегося в платформе версии 8.1;
  4. Опубликовать созданный WEB-сервис на сервере. Механизм, встроенный в платформу 1С, поддерживает следующие стандарты:
  • SSL/TLS
  • WS-I BP

Пример создания простого WEB-сервиса

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

Открываем конфигуратор, находим в дереве ветку «WEB-сервисы» и добавляем новый сервис «wa_LengthString». Также необходимо на вкладке «Операции» добавить новую операцию. Назовем ее «CalcLengthString», в свойствах укажем тип возвращаемого значения – int или integer и создадим внутри нее параметр «InputString». Тип значения оставляем string.

Теперь необходимо прописать действие функции CalcLengthString в модуле WEB-сервиса. Для этого открываем свойства созданной функции и нажимаем кнопку в виде лупы справа, у поля ввода «Имя процедуры». 1С автоматически создаст функцию в модуле нашего WEB-сервиса и откроет его для того, чтобы мы описали действие CalcLengthString. Воспользуемся этим и напишем действие функции – определение длины вводимой строки.


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

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


Теперь настало время публиковать созданный нами WEB-сервис на сервере. Эта возможность появилась в версии платформы 8.3 и многие компании уже поняли всю пользу этого функционала. Для того чтобы приступить к публикации, необходимо в конфигураторе открыть форму «Администрирование/Публикация на веб-сервере…».


В открывшемся окне нам необходима настройка Web сервисов 1С и заполнение определенных полей:

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

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


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

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

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

Понравилась статья? Поделитесь ей