Главная - Настройка роутера
В случае если функция реализующая операцию web. Решение проблемы длительных операций и интерактивного отображения статуса выполняемой операции в PHP

Итак. Код метода каждой 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" указывает на то, в каком поясе находится отправитель. Это позволит вам не задумываться о переводе времени при работе в нескольких часовых поясах.

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

Раздел 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. реализуется с помощью объекта конфигурации "Планы обмена"

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

1. только имя типа

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

3. имя типа и имя пакета XDTO

4. имя типа и имя фабрики XDTO

8.42 Менеджер WEB сервисов решает задачу:

1. управление пулом соединений с информационными базами

2. поддержка WSDL описания сервиса, реализация протокола SOAP

3. поддержка работы WEB приложения

4. верны ответы 1,2

5. верны ответы 2,3

6. верны ответы 1,2,3

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

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

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

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

1. организации динамического обращения к web-сервисам

2. организации обращения к web -сервисам но статической ссылке

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

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

4. элемент XML

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

6. верны ответы 1, 2, 3

8.46 При обращении к WEB сервису по статической ссылке последовательность действий следующая:

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

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

8.47 При обращении к WEB сервису по динамической ссылке последовательность действий следующая:

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

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

3. обращение к операции сервиса

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

4. элемент XML

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

6. верны ответы 1,2,3

8.49 Каким образом можно определить в каких планах обмена для конкретного прикладного объекта указана авторегистрация?

1. В окне редактирования объекта, раздел "Обмен данными"

2. Посредством вызова окна "Палитра свойств" для данного объекта

3. Посредством вызова окна "Дополнительно" для данного объекта (закладка "Планы обмена")

4. Верно все вышеперечисленное

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

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

1. объекты, при изменении которых в обмен должен попасть данный объект

2. объекты, которые должны попасть в обмен при изменении данного объекта

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

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

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

1. Встроенным в платформу редактором табличных документов

2. Встроенным в платформу редактором OLE-объектов

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

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

1. Имеют расширение XML

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

3. Могут иметь любое расширение

4. Не существуют. Все табличные документы встроены в Конфигурацию

8.53 Automation -сервер "1С:Предприятие 8"...

1. предоставляет доступ ко всем свойствам и методам своего глобального контекста

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

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

4. верны все указанные ответы

1. невозможно

2. реализуется полностью программным способом

3. реализуется с помощью объекта конфигурации "Планы обмена"

4. реализуется встроенным в платформу мастером обмена

9. Обслуживание прикладного решения

9.1 В каком порядке происходит установка платформы и конфигурации?

1. Необходимо сначала установить платформу, затем установить конфигурацию на основе шаблона

2. Необходимо сначала установить конфигурацию, а после платформу

3. Порядок установки не имеет значения

9.2 Обычная установка платформы "1С:Предприятие 8"...

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

2. предполагает отдельную установку на каждый пользовательский компьютер, дальнейшее обновление платформы возможно проводить только на каждом пользовательском компьютере

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

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

9.3 Что необходимо сделать для обновления технологической платформы при обычной установке 1С:Предприятия?

1. В режиме конфигуратора указать файл обновлений

2. Запустить программу установки, входящую в состав дистрибутива

3. В режиме конфигуратора указать файл поставки

9.4 Административная установка...

1. предполагает установку платформы на каждом отдельном пользовательском компьютере

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

3. предполагает установку конфигурации на сервер 1С:Предприятие, с определением пользователя с правами доступа Администратора

9.5 При обновлении технологической платформы при административной установке 1С:Предприятия...

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

2. администратор должен обновить платформу в месте административной установки и на всех компьютерах локальной сети, пользователи не имеют права на обновление

3. администратор должен обновить платформу только па компьютерах локальной сети, пользователи имеют ту же возможность

4. администратор должен обновить платформу только на компьютерах локальной сети, пользователи не имеют такой возможности

9.6 Допускается ли при обычной установке 1С:Предприятия в клиент-серверном варианте, работа клиентского и серверного приложений разных релизов технологической платформы?

1. Допускается

2. Не допускается, необходимо выполнять обновление, как серверного приложения, так и клиентских приложений

3. Допускается, необходимо выполнять обновление серверного приложения

9.7 Использование режима пакетного запуска...

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

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

3. позволяет выполнить синтаксический контроль и проверку конфигурации

4. правильный ответ I и 2

5. правильный ответ 1,2 и 3

9.8 Параметры запуска из командной строки 1С:Предприятие...

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

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

3. верпы ответы I и 2

4. пет правильного ответа

9.9 Что позволяет использование командной строки?

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. обращение к операции сервиса

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

Сегодня 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С смогут использовать сторонние приложения.



 


Читайте:



На время полета отключить мобильный телефон

На время полета отключить мобильный телефон

Ребята, мы вкладываем душу в сайт. Cпасибо за то,что открываете эту красоту. Спасибо за вдохновение и мурашки.Присоединяйтесь к нам в Facebook и...

Телефон службы поддержки киевстар или как позвонить оператору Дополнительная информация по обращению в справочную службу

Телефон службы поддержки киевстар или как позвонить оператору Дополнительная информация по обращению в справочную службу

Порой самостоятельно разобраться с вопросами, касающимися мобильной связи, достаточно проблематично. Например, выяснить, какие опции на номере...

Левитирующая колонка красная Будущее, в котором возможны такие технические новинки, уже наступило

Левитирующая колонка красная Будущее, в котором возможны такие технические новинки, уже наступило

Это устройство может использоваться в качестве динамика для любого источника аудио, будь то телефон или ноутбук. Но особенной колонку делает не...

Что такое майнинг криптовалюты простым языком

Что такое майнинг криптовалюты простым языком

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

feed-image RSS