Пример 1. Настройка обмена данными между базой на платформе «1С:Предприятие» и интернет-сайтом
В данном примере используется демонстрационная база «1С:Предприятие 8». Ее можно скачать по ссылке.
«1С:Шина» поддерживает обмен данными между системами посредством HTTP-протокола, это дает возможность использовать обмен при помощи HTTP-сервисов, например, в соответствии с имеющимся REST API.
В примере выполняется синхронизация изменений по товарным позициям между информационной базой «1С:Предприятие» и сайтом, т. е. при создании или изменении товара в базе эти изменения автоматически отражаются на сайте.
Для того чтобы настроить синхронизацию между базой «1С:Предприятие» и сайтом при помощи «1С:Шины», необходимо, чтобы сайт работал по протоколу безопасного соединения HТТPS.
В ходе этого примера вы:
- В среде разработки «1С:Шины»:
- создадите проект и настроите в нем процесс интеграции;
- опубликуете проект на сервере и создадите приложение;
- проверите работоспособность приложения.
- В панели управления сайтом:
- сгенерируете ключи API;
- определите метод для создания элемента на сайте.
- На сервере «1С:Шины»:
- заполните параметры для подключения к сайту;
- создадите информационную систему;
- включите ее в состав процесса интеграции;
- запустите процесс интеграции.
- Создадите демонстрационную базу «1С:Предприятия»:
- создадите план обмена;
- добавите сервис интеграции;
- загрузите в него информацию о доступных каналах;
- напишете код обмена сообщениями;
- добавите регламентное задание для обмена сообщениями с «1С:Шиной»;
- настроите подключение к серверу;
- проверите обмен сообщениями.
Создание приложения и процесса интеграции
На этом этапе вы создадите в среде разработки «1С:Шины» приложение и добавите в него процесс интеграции.
- Создайте новое приложение с файловой СУБД и откройте его в режиме разработки.
- Добавьте новый элемент проекта — процесс интеграции. Назовите его ОбменССайтом.
«1С:Шина» создаст в проекте новый процесс интеграции и откроет редактор для создания его схемы.
Редактирование схемы процесса интеграции
На этом этапе вы создадите схему процесса интеграции, которая описывает взаимодействие информационных систем. Вы можете выполнить все действия самостоятельно или воспользоваться готовым примером из YAML-файла ниже и перейти к публикации приложения.
Пример YAML-файла процесса интеграции
ВидЭлемента: ПроцессИнтеграции
ОбластьВидимости: ВПодсистеме
Ид: 048d1db5-59eb-4063-a44d-54b7833f221e
Имя: ОбменССайтом
СправочникУчастников: e1c::Пример1::Основной::ИнформационныеСистемы
Схема:
ГруппыУчастников:
-
Ид: d20ac359-c313-4d80-a016-a929493d0c1b
Имя: Офис
X: 99
Y: 190
Высота: 60
Ширина: 138
Маршруты:
-
Ид: 75a3ec01-0a90-414a-8cb4-fa7e0a47a165
В: ОбменССайтом
Из: ИзОфиса
Точки:
-
X: 168
Y: 392
-
X: 165
Y: 392
-
X: 165
Y: 386
-
X: 168
Y: 386
Параметры:
-
Имя: URL
Тип: Строка
-
Имя: API
Тип: Строка
-
Имя: Login
Тип: Строка
-
Имя: Password
Тип: Строка
Связи:
-
Ид: 9130b692-56d6-4ffc-aa1d-e639ccc6988f
Группа: Офис
НаправлениеСвязи: ИзГруппыВУзел
Узел: ИзОфиса
Точки:
-
X: 168
Y: 276
-
X: 168
Y: 276
Узлы:
-
Вид: Канал1СИсточник
Ид: 45a84794-69a3-4eea-899b-286d88641366
Имя: ИзОфиса
X: 99
Y: 300
Высота: 62
Ширина: 139
-
Вид: Http
Ид: 8a3d2307-ae27-485c-b8b3-c46236aa8c2f
Имя: ОбменССайтом
Url: ="%{Параметры.URL}%{Парамет ры.API}"
X: 91
Y: 417
Высота: 63
ИмяПользователя: ="%{Параметры.Login}"
Метод: POST
Пароль: ="%{Параметры.Password}"
Ширина: 154
-
Добавьте в схему группу участников. Для этого прокрутите палитру узлов, выберите ГруппаУчастников и кликните в верхней части схемы, чтобы разместить там группу. Щелкните по ней два раза и задайте имя — Офис:

-
Добавьте на схему узел Канал1СИсточник и задайте имя — ИзОфиса:

-
Свяжите группу участников Офис с узлом ИзОфиса. Для этого прокрутите палитру узлов, выберите Связь, а затем кликните последовательно на группу участников Офис и на узел ИзОфиса:

-
Теперь добавьте на схему узел Http. Щелкните по нему два раза и задайте имя — ОбменССайтом:

-
Свяжите узел ОбменССайтом маршрутом с узлом ИзОфиса. Для этого выберите в панели Маршрут, а затем кликните последовательно на узел ИзОфиса и на узел ОбменССайтом:

-
В подсистеме Основной нажмите на значок плюса рядом с процессом интеграции ОбменССайтом и добавьте Параметр:

-
Назовите параметр URL. Затем нажмите Ввод:

-
По аналогии создайте еще три параметра: API, Login, Password. Созданные параметры отобразятся слева на панели:

-
Кликните на узел ОбменССайтом. В панели Свойства заполните параметр Url. Откройте список параметров и выберите URL:

-
Далее таким же образом добавьте к параметру URL еще один параметр — API:

-
Аналогично заполните остальные параметры. В качестве имени пользователя и пароля укажите параметры Login и Password. В поле Метод выберите значение POST:

Публикация и открытие приложения
Чтобы опубликовать и открыть приложение, выполните следующие действия:
-
Нажмите Ctrl+F5. Сервер запросит имя пользователя и пароль. Для аутентификации используйте учетную запись администратора и пароль, который вы создали при установке сервера.
-
После успешной авторизации вы увидите приложение, а в нем — список существующих процессов интеграции. В примере это будет единственный процесс интеграции ОбменССайтом:

Настройки на стороне сайта
В данном примере используется сайт на базе WordPress, созданный при помощи кроссплатформенной сборки локального веб-сервера XAMPP (https://www.apachefriends.org/ru/index.html). В качестве шаблона сайта был использован плагин WooCommerce (https://woocommerce.com/). Самоподписанный сертификат SSL был выпущен с помощью библиотеки OpenSSL (https://github.com/openssl/openssl).
Для взаимодействия с сайтом мы будем использовать имеющийся у плагина WooCommerce собственный REST API.
-
В панели управления сайтом перейдите в WooCommerce ⟶ Настройки ⟶ Дополнительно ⟶ REST API ⟶ Создать ключ API:

-
Сгенерируйте и сохраните ключ от сайта. Для этого введите описание ключа в поле Описание (1). В поле Права кликните на выпадающий список (2) и выберите Чтение/Запись. Затем нажмите Генерировать ключ API:

-
Скопируйте и сохраните Пользовательский ключ и Секретный код пользователя:

-
В документации к WooCommerce найдем метод, создающий новый продукт на сайте:

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

-
Заполните параметры следующим образом:
- URL:
https://имя-вашего-сервера/имя-вашего-сайта(в примере: https://localhost/testsite); - API:
/wp-json/wc/v3/products; - в полях Login и Password укажите пользовательский ключ и секретный код пользователя, полученные при генерации ключа на сайте.
Нажмите Применить:

- URL:
-
Теперь можно запустить созданный процесс интеграции. Для этого нажмите Запустить в правом верхнем углу:

Следующим шагом мы создадим и настроим информационную базу «1С:Предприятия».