Интеграция 1С с ECM-системой: тиражируемое расширение для вендора с обменом через HTTP и OData
Сделал для вендора ECM-системы тиражируемое расширение 1С с двусторонним обменом, настраиваемым маппингом и многопоточностью.
- 7 мес.
- от требований до сдачи расширения

Задача
Вендору ECM-платформы нужна была не разовая интеграция под одного клиента, а коробочное расширение для 1С, которое можно ставить в каждом проекте внедрения. Собственной глубокой экспертизы в 1С у вендора не было.
Как было до проекта
- Интеграцию с 1С приходилось делать заново в каждом проекте внедрения.
- Внутри компании не было разработчиков с глубоким знанием 1С.
- У разных клиентов разные конфигурации 1С и разные требования к сопоставлению полей.
Что я сделал
- 1
Требования вместе с вендором
На старте вместе с аналитиками заказчика зафиксировал функциональные и нефункциональные требования: что передаётся, в какую сторону и как это настраивается без программиста.
- 2
Расширение без изменения типовой
Всё решение сделал расширением конфигурации, типовая 1С не меняется. Реализовал обмен контрагентами, договорами и связанной информацией, а также открытие карточки объекта одной системы прямо из другой.
- 3
HTTP, OData и настраиваемый маппинг
Взаимодействие построил на HTTP-запросах и OData. Сопоставление реквизитов и правила обработки до и после операций настраиваются пользователем, а новые справочники и объекты подключаются без переработки ядра.
- 4
Многопоточность
Добавил многопоточную обработку с настраиваемым числом потоков, чтобы решение выдерживало большие объёмы у крупных клиентов.
- 5
Рефакторинг и приёмка по тест-кейсам
Когда уточнились требования к механизму настройки, переработал часть архитектуры, и решение стало гибче. Приёмка шла строго по тест-кейсам заказчика, поэтому ввели правило: разработчики изучают тест-кейсы до реализации, и доработок на приёмке стало меньше.
Результат
- Вендор получил тиражируемый коннектор с двусторонним обменом между 1С и ECM-платформой.
- Расширение адаптируется под разные конфигурации 1С за счёт настраиваемого маппинга и правил.
- Трудозатраты и сроки интеграций в проектах конечных клиентов сократились.
- Проект сдан в согласованные сроки и бюджет, решение входит в продуктовую линейку вендора.
Если интеграцию с 1С предстоит повторять у многих клиентов, вкладывайтесь в настраиваемый маппинг и расширение без изменения типовой. И читайте тест-кейсы до того, как писать код, а не после.
Вопросы по теме
Как интегрировать 1С с ECM-системой без доработки типовой конфигурации?+
Через расширение конфигурации: в нём размещают обмен, HTTP-сервисы и настройки маппинга. Типовая база остаётся на поддержке и обновляется без конфликтов.
Чем OData удобен для интеграции с 1С?+
Стандартный интерфейс OData публикуется платформой и даёт внешней системе доступ к объектам 1С по REST без написания отдельного сервиса под каждый объект.
Можно ли сделать одну интеграцию 1С для разных клиентов?+
Да, если вынести сопоставление полей и правила обработки в пользовательские настройки. Тогда коннектор адаптируется под конкретную конфигурацию без программирования.


