1c/mi
1
0
mirror of https://github.com/rdv-team/mi.git synced 2025-11-23 21:31:02 +02:00
Files
mi/doc/admin/how_to_1c.md
2025-10-31 13:25:22 +03:00

7.4 KiB

Настройка подключений в 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 <токен>).