1c http сервисы

Задача: Написать простой обмен между конфигурациями, используя http-сервис.

Исходные данные: В базе управленческого учета (далее “fin“) пользователи заводят банковские счета (далее БС). Необходимо при записи их передавать в бухгалтерскую базу (далее “upp“) и создавать его там при отсутствии.

Решение: Нижеописанный метод реализован на http-сервисе под управлением “IIS”. Так же его можно и реализовать на веб-сервере “Apache”.

Внимание! Подразумевается что ISS (или Apache) уже настроен на сервере и функционирует. При отсутствии настроенного ISS, крайне рекомендую установить веб-сервер Apache, так как он намного проще и понятнее.

Приступаем! В базе приемники “upp” создаем http-сервис “exchange_buh”:

http-сервис
http-сервис

Особое внимание стоит обратить на свойство “Корневой URL” – это по сути идентификатор http-сервиса (ссылка на веб-сервис).

Далее добавляем шаблон URL:

Шаблон URL
Добавление Шаблона URL
Шаблона URL.

Здесь внимание уделяем свойству “Шаблон” – в нашем случае укажем идентификатор “data_fin” (произвольное), через который будет происходить обращение к нашему сервису, и переменную “{InfoType}”, значение который мы будем передавать и обрабатывать в базе “upp“. Внимание: “{InfoType}” – это не основные наши передаваемые данные. Это просто вспомогательные данные для обработки.

И осталось добавить только основной метод нашего сервиса:

Добавляем основной метод сервиса типа “POST”.
Метод “POST_data_fin”.

Здесь указываем в свойстве “HTTP-метод” значение “POST”. Метод запроса POST – это метод, при котором веб-сервер принимает данные, заключенные в тело сообщения.

Теперь наступает самый ответственный момент – публикация веб-сервиса. Для этой операции запускаем “конфигуратор” под администратором системы (зажимаем клавишу “SHIFT” и в контекстном меню выбираем пункт “Запуск от имени администратора”):

Запуск конфигуратора 1с под администратором системы.
Запуск конфигуратора 1с под администратором системы.

В “конфигураторе” через меню “Администрирование/Публикация на веб-сервере…” открываем настройки публикации и публикуем:

Настройки публикации на веб-сервере ISS.

В результате такой публикации через “ISS” сервер у нас образуется каталог с файлами:

Каталог веб-сервиса.

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

Теперь приступаем к самому интересному – программированию.

В конфигурации “fin”, откуда мы передаем данные, каждый раз, при записи БС, вызываем нашу процедуру передачи данных “барк_httpСервисы.ОтправитьБанковскийСчетВБухглатерию

Ну и соответственно наша главная процедура обмена:

Все просто – основные комментарии указаны в вышеприведенном коде. Вниманием уделяем строке подключения к сервису:

Адрес ресурса.
Адрес ресурса.

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

Внимание! Хранение логинов и паролей в коде не приемлемо! Используйте Безопасное хранилище данных 1с.

И наконец-то код на стороне приема данных “upp”:

Обработчик веб-сервиса.
Обработчик веб-сервиса.

В результате вызова метода сервиса мы получим наши параметры: “ДополнительныйПараметр” и “ОсновныеДанные”:

Получаем и обрабатываем наши данные в базе приемнике.
Получаем и обрабатываем наши данные в базе приемнике.

И сама процедура создания БС по переданным параметрам:

В этом примере в качестве основного параметра передаем ‘Структуру‘, но можем отправлять и другие значения: к примеру ‘Массив Структур‘, так же преобразованную в формат JSON.

С помощью метода “HTTPОтвет = Новый HTTPСервисОтвет()” формируем возвращаемое значение:

HTTPОтвет = Новый HTTPСервисОтвет().
HTTPОтвет = Новый HTTPСервисОтвет().

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

Ссылка на конфигурацию с “htpp-сервисом” и программными модулями.

P.S. Практический материал (алгоритмы, htpp-сервис) предоставлен пользователем FANTASISTO.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *