mirror of
https://github.com/rdv-team/mi.git
synced 2025-11-23 21:31:02 +02:00
80 lines
7.4 KiB
Markdown
80 lines
7.4 KiB
Markdown
|
|
### Настройка подключений в 1С (Справочник "ВнешниеСистемы")
|
||
|
|
|
||
|
|
Для представления механизма транспорта используется объект Справочник.ВнешниеСистемы. Он отвечает за настройку параметров интеграции.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Подключение типа RabbitMQ
|
||
|
|
|
||
|
|
### 1. Создание элемента справочника
|
||
|
|
|
||
|
|
- **Наименование:** Должно отражать суть подключения (например, `RabbitMQ_основной`, `Очередь_логов`).
|
||
|
|
- **Тип:** `RabbitMQ`.
|
||
|
|
|
||
|
|
### 2. Вкладка "Подключение"
|
||
|
|
|
||
|
|
- **Сервер:** IP-адрес или доменное имя сервера, на котором развернут RabbitMQ (например, `rabbit.example.com` или `192.168.1.50`).
|
||
|
|
|
||
|
|
- **Пользователь:** Логин пользователя RabbitMQ. **Рекомендация:** для каждого сервиса или участника обмена создавать отдельного пользователя с минимально необходимыми правами.
|
||
|
|
|
||
|
|
- **Пароль:** Пароль указанного пользователя.
|
||
|
|
|
||
|
|
- **Порт:** Порт для подключения. По умолчанию для RabbitMQ:
|
||
|
|
- `5672` — стандартный порт для незащищенного соединения (AMQP).
|
||
|
|
- `5671` — порт для защищенного соединения (AMQPS).
|
||
|
|
|
||
|
|
- **Защищенное соединение:** использование шифрованного соединения по протоколу TLS/SSL. Если трафик между 1С и RabbitMQ проходит по публичным или ненадежным сетям. Для внутренних сетей часто отключают.
|
||
|
|
|
||
|
|
|
||
|
|
### 3. Вкладка "Дополнительные настройки"
|
||
|
|
|
||
|
|
- **Таймаут получения:** время (в миллисекундах), в течение которого консьюмер 1С будет ожидать новое сообщение в очереди перед тем, как разорвать соединение (и затем переподключиться).
|
||
|
|
- **Рекомендация:**`10000-60000` (10-60 секунд). Слишком низкий таймаут (например, 1000 мс) приведет к частым переподключениям и лишней нагрузке, так как сообщение может просто не успеть дойти.
|
||
|
|
- **Очередь обмена:** имя очереди (Queue), из которой 1С (как консьюмер) будет читать сообщения.
|
||
|
|
- **Откуда взять:** Это значение из настроек RabbitMQ, созданное на шаге **"Queues and Streams"** (например, `ib1_logs`).
|
||
|
|
|
||
|
|
- **Vhost (Виртуальный хост):** имя виртуального хоста, внутри которого созданы обменник и очередь.
|
||
|
|
- **Откуда взять:** Это значение из настроек RabbitMQ, созданное на шаге **"Virtual Host"**(например, `/1c_integration`). **Важно:** Указать именно имя, например, `1c_integration`, а не полный путь `/1c_integration`.
|
||
|
|
### 4. Вкладка "Расписание"
|
||
|
|
|
||
|
|
- **Задание на отправку:** Имя регламентного задания в 1С, которое отвечает за отправку сообщений в RabbitMQ.
|
||
|
|
|
||
|
|
- **Задание на получение:** Имя регламентного задания в 1С, которое отвечает за опрос очереди и получение сообщений.
|
||
|
|
|
||
|
|
- **Расписание:** График запуска этих регламентных заданий (например, каждые 10 секунд или постоянно для обработки в реальном времени).
|
||
|
|
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Подключение HTTP сервис
|
||
|
|
|
||
|
|
### 1. Создание элемента справочника
|
||
|
|
|
||
|
|
- **Наименование:** Должно отражать суть внешнего сервиса (например, `REST_API_Битрикс24`, `Веб-сервис_Бухгалтерия`).
|
||
|
|
|
||
|
|
- **Тип:** `HTTP сервис`.
|
||
|
|
### 2. Вкладка "Подключение"
|
||
|
|
|
||
|
|
- **Сервер:** Базовый URL-адрес сервера или HTTP-сервиса (например, `api.example.com` или `myservice.com/api/v1`).
|
||
|
|
- **Пользователь:** Логин для базовой HTTP-аутентификации (Basic Auth), если она требуется сервисом. Имя пользователя в 1с с достаточным набором прав для работы сервиса.
|
||
|
|
- **Пароль:** Пароль для базовой HTTP-аутентификации.
|
||
|
|
- **Порт:** Порт HTTP-сервиса. **По умолчанию:**
|
||
|
|
- `80` — для HTTP.
|
||
|
|
- `443` — для HTTPS.
|
||
|
|
- **Защищенное соединение:** использование протокола HTTPS вместо HTTP. **Включается, если в адресе сервера указан `https://`.**
|
||
|
|
|
||
|
|
### 3. Вкладка "Дополнительные настройки"
|
||
|
|
|
||
|
|
- **Таймаут:** общее максимальное время (в миллисекундах) на установку соединения, отправку запроса и получение ответа от внешнего HTTP-сервиса.
|
||
|
|
- **Рекомендация:** `30000` (30 секунд). Защищает от "зависания" интеграции, если внешний сервис медленно отвечает или недоступен.
|
||
|
|
|
||
|
|
- **Писать заголовки:** флаг, при установке которого входящие и исходящие HTTP-заголовки будут записываться в журнал регистрации или контекст выполнения для отладки.
|
||
|
|
|
||
|
|
- **HTTP метод:** метод HTTP-запроса, используемый для вызова.
|
||
|
|
- **Выбор:** `GET` (для получения данных), `POST` (для создания и сложных операций, отправки данных в теле запроса).
|
||
|
|
|
||
|
|
- **Адрес сервиса:** конечная точка (endpoint) или URI, который добавляется к базовому адресу Сервера.
|
||
|
|
- **Пример:** Если **Сервер** = `https://api.company.com`, а **Адрес сервиса** = `/hs/rdv_integration/exchange`, то полный URL запроса будет `https://api.company.com/hs/rdv_integration/rdv_integration`.
|
||
|
|
|
||
|
|
- **Токен авторизации:** метод аутентификации вместо логина/пароля (например, JWT, OAuth 2.0 token, API-key).
|
||
|
|
- **Как использовать:** Обычно этот токен передается в заголовке HTTP-запроса (например, `Authorization: Bearer <токен>`).
|