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).
- Откуда взять: Это значение из настроек RabbitMQ, созданное на шаге "Queues and Streams" (например,
-
Vhost (Виртуальный хост): имя виртуального хоста, внутри которого созданы обменник и очередь.
- Откуда взять: Это значение из настроек RabbitMQ, созданное на шаге "Virtual Host"(например,
/1c_integration). Важно: Указать именно имя, например,1c_integration, а не полный путь/1c_integration.
- Откуда взять: Это значение из настроек RabbitMQ, созданное на шаге "Virtual Host"(например,
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 <токен>).
- Как использовать: Обычно этот токен передается в заголовке HTTP-запроса (например,