Предыдущие и будущие статьи:
- Часть 1. RabbitMQ
- Часть 2. Docker
- Часть 3. Журнал регистрации в ElasticSearch
- Часть 4. NoSQL (MongoDB, Redis)
- Часть 5. Обмен с 1С через HTTP-сервисы
- Часть 6. Докеризация, Начальная оркестрами, CD\CI
Итак имеем Платформу 8.3.17.1549, Веб-сервер IIS. Как и раньше используем шаблонный справочник(логический) Клиенты с полями (Идентификатор, Имя, Тип, Майл).
Создаем HTTP-сервис для обмена.
Создаем простенький справочник для хранения клиентов
Публикуем HTTP-сервис (не буду расписывать как это все поставить, тут очень много хороший статей описывающий этот процесс)
Данный HTTP-сервис позволяет удалять\добавлять\изменять данные из прослойки, код тоже стандартный JSON и методы GET, POST, DELETE
В прослойке добавил режим для 1С, а также адрес HTTP-сервиса
Получаем список из 1С
Помеченные не берем, можно записи удалить, изменить, добавить
Все изменения отражаются в 1С.
Теперь сделаем интеграцию с очередью RabbitMQ более правильной (Это статья №1 этого цикла) теперь RabbitMQ будет сама отправлять входящие сообщения направляя их в HTTP-сервис платформы.
Создаем для этого отдельный HTTP-сервис
Основную роль играет метод POST, метод GET просто для проверки, что сервис корректно создан.
Суть реализации аналогичная, получаем сообщение из RabbitMQ с JSON записью Клиента, дальше его записываем в справочник Клиенты.
Можем из любой конфигурации отправить данные в RabbitMQ и получить в тестовой базе
Получаем это в тестовой базе, это отладка внутри HTTP-сервиса.
Записали в 1С
В прослойке тоже можем видеть эту запись, благодаря первому HTTP-сервису.
Я не стал заостряться на коде 1С он достаточно тривиальный, конфигурацию выложим на GitHub.
Относительно прослойки на Golang тоже ничего сверхзаумного, использовал стандартный пакет "net/http", функции http.Post() и http.Get() для метода DELETE и POST использовал функции http.NewRequest() т.к нужно было передавать параметры (Идентификатор клиента)
Например, кстати вижу тут очень неоптимальный код, кто заметит молодец!
Адрес исходников GitHub https://github.com/dmitry-msk777/Connector_1C_Enterprise
ОБНОВЛЕНИЕ 06.10.2020
Добавлен шаблон получения данных справочника клиента по oData в слайз структур.