Ws соединение 1с что это
1С на основании полученного описания автоматически создаст визуальную карту веб-сервиса. Можно увидеть название веб-сервиса, посмотреть какие у него доступны операции а так же используемые типы данных.
Конфигурирование на этом почти закончено, осталось сделать пару штрихов для того, чтобы наше приложение выглядело более эстетично. Кликнем правой кнопкой мыши по корню конфигурации и вызовем меню «Открыть командный интерфейс рабочего стола». В появившемся окне необходимо снять флаг «Видимость» напротив обработки «Загрузка курсов валют ЦБР». Нажмем кнопку Ок. Далее еще правый клик по корню конфигурации и вызовем меню «Открыть рабочую область рабочего стола», там сделаем настройку как на рисунке:
Эти настройки позволят нам отобразить форму обработки прямо на рабочем столе (имеется ввиду рабочий стол программы 1С) в режиме 1С Предприятие.
Программирование
Теперь осталось наполнить смыслом нашу обработку: заставить ее получать курсы валют и отображать в таблице на форме. В режиме редактирования формы необходимо добавить новую команду формы, назовем ее ЗагрузитьВалюты. Эту команду необходимо связать с кнопкой, расположенной на форме. Действие для команды заполним следующим кодом (прим. автора: ничего себе, на хабре есть подсветка кода 1С, правда она работает не корректно):
Если НЕ ЗначениеЗаполнено(ДатаЗагрузки) Тогда
Здесь сначала проверяется, заполнена ли дата (если не заполнена, то сообщаем об этом пользователю и больше ничего не делаем). Затем очищается таблица, расположенная на форме и вызывается процедура ЗагрузитьКурсыВалют(), в которую передается дата.
Код процедуры ЗагрузитьКурсыВалют(), пояснения данны в комментариях к коду:
//Создаем прокси для обращения к внешнему веб-сервису,
// передаем в функцию URI пространства имен, имя сервиса, имя порта.
"http://web.cbr.ru/", "DailyInfo", "DailyInfoSoap");
//Получаем тип параметра, который передается в метод GetCursOnDate.
//Создаем параметр на основе типа и заполняем значение параметра On_Date.
//Вызываем метод веб-сервиса, записываем результат в переменную КурсыВалют.
//Перебираем таблицу ValuteCursOnDate, каждое значение таблицы
// добавляем в таблицу на форме (колонки заполняем соответствующими значениями).
Для Каждого Элемент Из КурсыВалют.GetCursOnDateResult.diffgram.ValuteData.ValuteCursOnDate Цикл
Теперь можно обновлять конфигурацию БД (F7) и запускать 1С Предприятие (F5). Если все сделали верно, то должны увидеть окно как на рисунке ниже:
Чтобы проверить результат, нам нужно ввести дату, на которую хотим получить курсы валют и нажать на кнопку «Загрузить валюты». В случае успешного запроса, таблица на форме заполнится значениями курсов:
Напоследок хочу показать, как можно обратиться динамически к внешнему веб-сервису, то есть без добавления объекта WS-ссылка. Таким образом, мы можем использовать такие веб-сервисы из внешних обработок без привязки к конфигурации.
В процедуре ЗагрузитьКурсыВалют() строку
Прокси = WSСсылки.CBR_DailyInfoWebServ.СоздатьWSПрокси("http://web.cbr.ru/", "DailyInfo", "DailyInfoSoap");
необходимо заменить двумя следующими строками
Определения = Новый WSОпределения("http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL");
Прокси = Новый WSПрокси(Определения, "http://web.cbr.ru/", "DailyInfo", "DailyInfoSoap");
Сначала мы создаем так называемые определения для веб-сервиса из его WSDL. Затем так же создаем прокси для обращения к нему.
Как видно, использовать внешние веб-сервисы из 1С в целом довольно просто (хотя и есть некоторая сложность в понимании определения типов, у меня в том числе).
Если данная публикация найдет здесь отклик, то есть еще несколько тем, о которых можно рассказать.
В предыдущей статье мы рассмотрели общие понятия использования механизма «Web-сервисов». Освежим некоторые знания.
Web-сервисы применяются для обмена данными между сервером и клиентом; формат XML используется для «упаковывания» данных в целях взаимопонимания между обоими участниками общения.
РАЗДЕЛ I
ПРИМЕР РЕАЛИЗАЦИИ WEB-СЕРВИСА В СИСТЕМЕ «1С:ПРЕДПРИЯТИЕ»
ЗАДАЧА: Необходимо создать web-сервис, обращаясь к которому клиенты могут определить всю необходимую информацию по своим заявкам.
Задача является демонстрационной и служит только примером для понимания и обучения механизму web-сервисов.
РЕШЕНИЕ:
Шаг 1. Создадим новую информационную базу без конфигурации для разработки новой конфигурации.
Шаг 2. Добавим в конфигурацию несколько новых объектов
Шаг 3. Создадим новый XDTO-пакет.
Почему и для чего мы создаем XDTO-пакет? Подробнее об использовании механизма XDTO можно прочитать в «Глава 16. Руководство разработчика» и здесь.
Коротко отметим лишь только то, что механизм XDTO является универсальным способом представления данных для взаимодействия с различными внешними источниками данных и программными системами.
В нашем случае пакет XDTO создается для описания возвращаемого значения web-сервиса.
Наш пакет содержит два типа объектов XDTO:
1) Сustomer – для передачи данных элемента справочника «Клиенты».
Этот тип объекта XDTO будет содержать следующие свойства:
- Status - тип string из пространства имен
Шаг 4. Добавим в конфигурацию новый Web-сервис
Для Web-сервиса укажем следующими значения свойств:
- Имя - DocumentsData
- Имя файла публикации – request.1cws
Шаг 5. У созданного Web-сервиса определим операцию «GetData»
Значения свойств операции:
- Возможно пустое значение – Истина
- Имя процедуры – GetData.
Шаг 6. У операции GetData определим параметр Сustomer со следующими значениями свойств:
Направление передачи – входной.
Шаг 7. Откроем модуль созданного Web-сервиса и поместить в него функцию Получить(), которая будет выполняться при вызове данного Web-сервиса.
Шаг 8. Опубликуем созданный Web-сервис на веб-сервере.
Пункт меню Конфигуратор: «Администрирование» → «Публикация на Web-сервере».
На вкладке «Web-сервисы» устанавливаем признак «Публиковать Web-сервисы» и напротив нашего нового Web-сервиса также ставим «галочку».
РАЗДЕЛ II
ПРИМЕР ОБРАЩЕНИЯ К WEB-СЕРВИСУ СИСТЕМЫ «1С:ПРЕДПРИЯТИЕ» ИЗ СТОРОННЕГО ПРИЛОЖЕНИЯ
Основное назначение механизма Web-сервисов в системе «1С:Предприятие» - это передача необходимых данных сторонним приложениям.
Рассмотрим пример разработки приложения на Delphi обращения к нашему web-сервису из первого раздела данной статьи.
Шаг 1. Создадим новый проект и на форме разместим несколько элементов управления
- текстовое поле – используется для вывода полученной от web-сервиса информации;
- две кнопки – очистка текстового поля и обращение к web-сервису;
- поле ввода – передаваемый в web-сервис параметр.
Шаг 2. Выполняем импорт WSDL-файла
В результате мы получаем новый модуль request (такое наименование мы определили непосредственно в 1С). В данном модуле имеется все необходимая информация по web-сервису.
Шаг 3. Напишем обработчик вызова web-сервиса
Переменная DocumentDataPortType уже определена в модуле request
Шаг 4. Запустить приложение и выполнить проверку.
РАЗДЕЛ III
ПРИМЕР ОБРАЩЕНИЯ К WEB-СЕРВИСУ В СИСТЕМЕ «1С:ПРЕДПРИЯТИЕ»
Шаг 1. Создадим новую внешнюю обработку с именем «WEB_Service»
Шаг 2. Для обработки определим новую форму
Шаг 3. У формы укажем несколько реквизитов
Выведем реквизиты на форму.
Шаг 4. Добавим команду формы «ПолучитьДанные»
Укажем обработчик команды
Система «1С:Предприятие» может использовать веб-сервисы, предоставляемые другими поставщиками, двумя способами:
- с помощью статических ссылок, создаваемых в дереве конфигурации;
«плюс»: большая скорость работы;
«минус»: повторный импорт WSDL-описания средствами конфигуратора и сохранение измененной конфигурации.
- с помощью динамических ссылок, создаваемых средствами встроенного языка
(соответственно «минусы» статических для динамических – «плюсы»)
РАЗДЕЛ IV
ОТЛАДКА WEB-СЕРВИСОВ В СИСТЕМЕ «1С:ПРЕДПРИЯТИЕ»
Для локального web-сервиса необходимо:
Шаг 1. Положить на клиент, где запускается система 1С файлик webservicecfg.xml со следующим содержимом
Шаг 2. В файл default.vrd публикации конфигурации добавить строку
Шаг 3. В конфигураторе выбрать пункт меню
Шаг 4. Нажать на кнопку «OK»
Для серверного варианта надо еще сервер 1с запускать в режим отладки с ключом /debug
Подключается к 1с82 web-сервису, получает от него описание типа
Создает переменную этого типа, Создает файл (dbf обмена).
Помещает файл в переменную и отдает на web-сервис для обработки, получает от него результат обработки
Код 1C v 8.х
Автор: Абазин Антон
Разместил: E_Migachev Версии: | 8.x | 8.2 УП | Дата: 12.12.2012 Прочитано: 37316
Похожие FAQ
Еще в этой же категории
Обмен 1С c клиентом используя web сервисы 1С 17
Все чаще и чаще встречаются обмены, используя технологию Web-Сервисов. Это удобно, т.к для хостовой базы данных достаточно установить расширение Web-Сервиса и обработчик данных, а для клинтского решения подключиться к Web-Сервису. Технология является Использование Web-сервисов для синхронизации баз данных в режиме online 1с 8.х 11
Часто при ведении учета в различных конфигурациях 1с возникает необходимость выполнения обмена данных. Для решения этой задачи принято использовать Универсальный обмен данными XML или другие внешние обработки, общим у которых является использование Управляем 1С со стороны используя web-сервис 6
Передача команд 1С на выполнение через ссылки в письме. web-сервисы помогают интегрировать 1С с различными программами, делая ее более гибкой. Статей в интеренете достаточно можно, но в основном там описывается выгрузка из 1С, обмен между двумя 1 Мобильное приложение в 1С: Двусторонний обмен 6
Сделаем двусторонний обмен документами между мобильным приложением и центральной базой 1С: Автор: Кухар Богдан Обмен между базами через XML (создается ФабрикаXDTO) 5
В процедурах выгрузки/загрузки создается ФабрикаXDTO из схемы, которая хранится в макете как файл. Файл настроек схемы надо использовать один и тот же в обработках Загрузки/Выгрузки Из Фабрики создается объект, его заполняю выгружаемыми данными Фаб Посмотреть все в категории WEB-сервисы, WS-ссылки, XDTO-пакеты
Web-сервисы и WS-ссылки
Механизм Web-сервисов является средством поддержки SOA (Service-Oriented Architecture - сервисно-ориентированной архитектуры), которая является современным стандартом интеграции приложений и информационных систем.
Система 1С:Предприятие 8 может являться как поставщиком веб-сервисов, так и потребителем веб-сервисов, опубликованных другими поставщиками.
Для того чтобы система 1С:Предприятие 8 могла предоставлять свою функциональность через веб-сервисы, используется объект конфигурации Web-сервис. Для взаимодействия в веб-сервисами, опубликованными другими поставщиками, используются объекты конфигурации WS-ссылка, а также ряд объектов встроенного языка.
Web-сервис
Web-сервис описывается набором операций. Каждая операция может иметь некоторое количество параметров для передачи данных Web-сервису и получения возвращаемых значений.
Типы параметров и возвращаемых значений Web-сервисов описываются с помощью механизма XDTO.
Объект конфигурации Web-сервис содержит модуль, в котором располагаются процедуры, выполняемые при вызове тех или иных операций Web-сервиса:
Для того, чтобы Web-сервис был доступен другим потребителям, выполняется публикация Web-сервиса. Web-сервис может быть опубликован на веб-сервере MS IIS или Apache2 через файловую систему или по протоколу FTP.
WS-ссылка
WS-ссылка представляет собой WSDL описание веб-сервиса, импортированное из указанного источника. WS-ссылка недоступна для редактирования, однако можно просмотреть ее структуру и структуру типов данных, которые используются для описания параметров и возвращаемых значений:
Читайте также: