
1С-коннектор интеграционной платформы данных RedMule: описание и принципы работы
Если в компании больше одной системы, 1С почти всегда оказывается в центре обмена данными. CRM, сайт, склад, платежи, BI - все рано или поздно начинают «разговаривать» с ней.
И дальше возникает типичная ситуация:
● у каждой системы своя интеграция с 1С,
● логика обмена распределена по разным обработкам,
● при ошибках сложно быстро определить источник,
● обновления 1С требуют учитывать интеграции.
Мы в RedMule решали эту проблему через вынос интеграций в отдельный слой. А для 1С сделали отдельный коннектор, который берет на себя всю работу с обменом.
Что такое 1С-коннектор RedMule
1С-коннектор - это готовый модуль для обмена данными между системой 1С и другими сервисами через интеграционную платформу RedMule.
Его основная задача - обеспечить надежный и управляемый обмен данными без доработок типовых конфигураций 1С и без необходимости настраивать прямые интеграции с каждой системой отдельно.
В классическом подходе 1С обычно интегрируется с каждым сервисом напрямую: с CRM, сайтом, складом, платежами.
В результате появляется множество отдельных связей, каждая со своей логикой и точками отказа.
В случае с коннектором вся интеграция выносится в отдельный слой - RedMule, а 1С взаимодействует только с ним.
Это дает несколько практических эффектов:
● сокращается количество точечных интеграций
● управление обменом переносится в единый центр
● появляется возможность контролировать доставку данных на каждом этапе
В итоге 1С остается источником и приемником данных, но сама логика интеграций выносится за ее пределы.
Общие принципы работы
В основе работы коннектора лежит модель обмена сообщениями. Любые изменения данных или запросы оформляются в виде сообщений, которые:
● отправляются из 1С в RedMule
● принимаются из RedMule в 1С
1С в этом процессе выступает как конечная точка:
● источник данных - когда информация отправляется
● приемник данных - когда информация поступает
Такой подход может выглядеть сложнее, чем прямые вызовы или обмен «по месту», но на практике он решает несколько важных задач.
Во-первых, он отделяет бизнес-логику 1С от логики интеграции. 1С не знает, куда именно уйдут данные и кто их будет обрабатывать — этим занимается платформа.
Во-вторых, появляется управляемость. Каждое действие фиксируется как отдельное сообщение, у которого есть статус, история и результат обработки.
В-третьих, снижается нагрузка на саму систему. Обмен происходит асинхронно, без необходимости держать соединение и ждать ответа от внешних сервисов.
Дополнительно в коннекторе реализовано управление доступом к объектам данных и операциям обмена. Права настраиваются через роли и позволяют разграничить:
● доступ к просмотру данных обмена
● возможность настройки коннектора
● выполнение операций отправки и обработки
Это важно в сценариях, где с интеграцией работают разные группы пользователей: разработчики, администраторы и операционные сотрудники.
Обмен данными: от изменения в 1С до обработки и обратно
Работа коннектора строится как единый процесс: от фиксации изменения в 1С до обработки данных и получения результата.
Коннектор автоматически отслеживает изменения данных и регистрирует их для отправки. Мониторинг выполняется для основных объектов метаданных:
● справочники
● документы
● планы видов характеристик
● регистры сведений
● регистры накопления
При изменении объекта фиксируется событие, после чего он попадает в очередь отправки. Далее объект преобразуется в сообщение. Этот процесс включает:
● подготовку структуры данных
● сериализацию в JSON
● добавление служебной информации
● запись в журнал сообщений
На этом этапе данные из 1С становятся независимым сообщением, готовым к передаче. После формирования сообщение отправляется в RedMule.
Если отправка проходит успешно - оно фиксируется как переданное.
Если возникает ошибка или не получен ответ, сообщение не теряется: оно остается в системе и будет отправлено повторно по заданным правилам.
Обратный поток работает аналогично, но в другую сторону. Коннектор принимает сообщения от RedMule через HTTP- и SOAP-сервисы. После получения сообщение сохраняется и передается в обработку.
Обработка включает:
● разбор структуры сообщения
● поиск соответствующего объекта в базе
● создание нового объекта или обновление существующего
Если объект найден - он обновляется. Если нет - создается новый. Если в процессе возникает ошибка (например, объект не может быть записан), сообщение не теряется и может быть отправлено на повторную обработку.
После завершения формируется ответ, который отправляется обратно в RedMule. Это позволяет зафиксировать результат выполнения и понимать, что произошло с данными.
Настройка и управление коннектором
После установки коннектор не требует доработки конфигурации 1С, его просто необходимо настроить под конкретный контур интеграции.
Вся настройка сводится к нескольким базовым вещам: определить, какие данные передавать, куда их отправлять и, как управлять процессом обмена.
Базовая настройка
На первом этапе включается функциональность коннектора и задаются параметры подключения к RedMule. В настройках указываются:
● адрес сервера
● порт
● учетные данные
● адреса ресурсов для взаимодействия
Также регистрируется конечная точка - по сути, это идентификатор конкретной базы 1С в RedMule. После регистрации платформа «видит» эту систему как отдельный узел обмена.
Какие данные участвуют в обмене
Коннектор не отправляет всё подряд - состав данных настраивается. Можно явно определить, какие объекты участвуют в обмене, и задать для них параметры:
● нужно ли отслеживать изменения
● с какой задержкой отправлять данные
● какие дополнительные реквизиты включать
Это позволяет управлять нагрузкой и не перегружать интеграцию лишними данными.
Например, одни объекты можно отправлять сразу при изменении, а другие - с задержкой или пакетно.
Как работает обмен без участия пользователя
Вся обработка обмена выполняется автоматически через регламентные задания 1С. Они отвечают за весь «фоновый» процесс:
● регистрацию изменений
● формирование и сериализацию сообщений
● отправку и повторную отправку
● прием входящих сообщений
● запрос статусов
● обработку данных
● очистку устаревших сообщений
По сути, это движок, который постоянно поддерживает обмен в рабочем состоянии без ручного запуска. Параметры заданий можно настраивать: частоту выполнения, объем обрабатываемых данных, интервалы повторных попыток.
Это дает возможность адаптировать поведение коннектора под нагрузку и требования системы.
Управление доступом
Доступ к функциям коннектора регулируется через роли. Базовая модель простая:
● администратор - полный доступ к настройкам и управлению
● пользователь - доступ к просмотру
Этого достаточно, чтобы разделить зоны ответственности: администраторы управляют интеграцией, а пользователи могут контролировать состояние обмена.
Управление из кода
Помимо интерфейса, коннектор предоставляет программный API. С его помощью можно:
● изменять настройки
● управлять соединением
● регистрировать объекты для отправки
● инициировать отправку сообщений
● выполнять запросы данных
Это используется, когда нужно встроить обмен в бизнес-логику или автоматизировать настройку.
Например, можно программно инициировать отправку данных при выполнении определенного сценария в системе.
Заключение
1С в большинстве компаний остается ключевой системой учета, но при этом именно вокруг нее чаще всего возникает самый сложный интеграционный контур.
Проблема обычно не в самой 1С, а в том, что она постепенно обрастает прямыми интеграциями, каждая из которых живет по своим правилам.
1С-коннектор RedMule решает эту задачу за счет простого, но принципиального изменения архитектуры: интеграции выносятся в отдельный слой, а сама 1С работает только с ним.
В результате:
● уменьшается количество связей между системами
● логика обмена перестает быть «размазана» по конфигурации
● появляется контроль над прохождением данных
● снижается влияние интеграций на обновления и поддержку 1С
При этом сам коннектор остается достаточно простым по своей роли - это не место для бизнес-логики, а управляемый транспорт с понятным жизненным циклом данных.
Такой подход хорошо масштабируется: по мере роста количества систем не усложняется сама 1С, а расширяется интеграционный слой.
И в какой-то момент это становится не просто удобством, а необходимым условием, чтобы интеграции не превращались в узкое место всей архитектуры.