Fortech
  • Аутстаффинг
  • Аутсорс
  • Веб-разработка
  • Мобильная разработка
  • ИИ-решения
  • UI/UX-дизайн
  • Техническая поддержка
КейсыКонтактыО насБлогКарьера
Связаться
  • Аутстаффинг
  • Аутсорс
  • Веб-разработка
  • Мобильная разработка
  • ИИ-решения
  • UI/UX-дизайн
  • Техническая поддержка
КейсыКонтактыО насБлогКарьера
Связаться
Fortech
Юридический адрес
344011, Ростовская область, г. Ростов-на-Дону, Лермонтовская ул, д. 22, офис 6, 7, 8
ИНН / КПП
6154162274 / 616401001
ОГРН
1226100005922
ОКВЭД
62.01 Разработка компьютерного программного обеспечения
Код вида деятельности в области IT
1.01, 1.04, 1.05, 1.06

Услуги

  • Аутстаф
  • Аутсорс
  • Веб-разработка
  • Мобильная разработка
  • ИИ-решения
  • UI/UX-дизайн
  • Техническая поддержка

Компания

  • Кейсы
  • Контакты
  • О нас
  • Блог

Соцсети

  • ВКонтакте
  • MAX
  • Telegram
  • Workspace
  • YouTube

Аккредитованная IT-компания
Запись №25727 от 13.04.2022

Минцифры России

Позвать нас в тендер

  • bidzaar
  • B2B-Center
Контент © fortech.dev • 2026Политика конфиденциальностиПолитика обработки персональных данных
  1. Главная/
  2. Кейсы/
  3. Интеграция ELMA365 с 1С и системой документооборота нефтегазовой компании

Интеграция ELMA365 с 1С и системой документооборота нефтегазовой компании

Как мы связали CRM с корпоративными системами через TypeScript-скрипты, которые аналитики собирают в бизнес-процессы без программирования

О проекте

Крупная нефтегазовая компания внедряла CRM на ELMA365, и CRM нужно было связать с корпоративными системами: 1С и системой электронного документооборота КИС КЭД. Проект вёл системный интегратор. Штатных специалистов по ELMA365 для кастомной разработки ему не хватало, и в июне 2023 года он подключил бэкенд-разработчиков Фортех.

Интеграции пишутся как скрипты на TypeScript. Они работают с API систем и с бизнес-процессами ELMA365, а потом не-программисты собирают из них блок-схемы обмена данными.

Команда интеграций: три бэкенд-разработчика и тимлид, который одновременно вёл проект как менеджер. Вокруг работали аналитики, архитекторы, QA-инженеры, DevOps-инженер и лоукодеры. Работа длилась шесть месяцев, до декабря 2023 года.

Задача

  • Связать CRM ELMA365 с системой документооборота КИС КЭД.
  • Связать CRM ELMA365 с 1С.
  • Выгружать данные из CRM в Excel.
  • Спроектировать архитектуру запросов между системами.
  • Развернуть интеграции во внутреннем контуре компании и проверить совместимость систем.
  • Сделать low-code компоненты в среде ELMA365.

Реализация

Ограничения задачи

Требование заказчика: минимальная нагрузка на сеть. Между системами передаётся только разница в данных, а не полный набор.

С разницей сложно работать, когда у сущности есть связь «один ко многим». Обычно в таком случае набор связанных сущностей отправляют целиком, даже если поменялась одна, потому что так проще и меньше риск ошибиться. Здесь так делать было нельзя.

Интеграции разворачиваются во внутреннем контуре компании. Доступ к серверу идёт через удалённый рабочий стол по шифрованному каналу, а отладка возможна только по логам.

Требования к каждой интеграции согласуются с разработчиками других систем. Если в ТЗ находится ошибка, её исправляют вместе с архитекторами и аналитиками всех сторон.

Решение

Как шла работа. Аналитики и архитекторы встречались с разработчиками смежных систем и описывали требования: структуру входящих и исходящих данных, поток через корпоративную шину, где XML превращается в JSON, и текстовое описание логики. На ежедневных созвонах команда разбирала ТЗ, искала в нём неточности, расставляла приоритеты и сверялась с трекером: что готово, что заблокировано, что отменено.

Передача только изменений. Синхронизацию связей «один ко многим» согласовали с архитекторами заказчика и 1С и сделали вручную. Изменения передаются тремя массивами: на создание, на изменение и на удаление. В каждом лежат идентификаторы или полные данные сущностей. Решение прошло тестирование и было развёрнуто в тестовом окружении для интеграции с остальными системами.

TypeScriptNode.jsPostgreSQL1C

Единый POST-запрос. Для всех операций спроектировали один формат запроса. Если в запросе стоит флаг удаления, сущность удаляется. Если нет, скрипт ищет сущность по идентификатору: нашёл, значит обновляет, не нашёл, значит создаёт. Если пришёл массив, включается пакетная обработка для первичной выгрузки данных.

Все функции обработки изначально написаны для массивов. Одиночный элемент просто упаковывается в массив из одного элемента, поэтому отдельный код для единичных операций не нужен. Заодно появился задел на пакетное обновление и удаление.

Выгрузка и отладка. Выгрузка из CRM в Excel сделана на SheetJS. Каждый шаг обработки пишется в лог, а логи доступны в веб-интерфейсе ELMA365 как обычные записи. Ошибки исправляются на тестовой среде и после тестирования переезжают во внутренний контур.

Результат

CRM ELMA365 получила обмен с 1С и системой документооборота, который передаёт только изменения и не нагружает сеть лишними данными.

Один формат запроса покрывает создание, изменение, удаление и первичную загрузку, а пакетное обновление и удаление можно добавить на той же основе.

Сотрудники без навыков программирования собирают обмен данными из готовых скриптов в блок-схемах ELMA365.

Весь пул задач и правки заказчика за шесть месяцев реализованы и протестированы, на этом работа завершилась.

Частые вопросы

Как синхронизировать данные между ELMA365 и 1С без лишней нагрузки на сеть?
Передавать только разницу. В этом проекте изменения уходили тремя массивами: на создание, изменение и удаление, в том числе для связей «один ко многим».

Можно ли обойтись одним запросом на все операции?
Да. Флаг удаления, поиск по идентификатору с обновлением или созданием и пакетная обработка массива укладываются в один формат POST-запроса.

Как отлаживать интеграции во внутреннем контуре заказчика?
Писать подробный лог каждого шага обработки и смотреть его в веб-интерфейсе ELMA365. Исправления проверяются на тестовой среде и только потом переносятся в контур.

Нужен похожий проект?

Расскажите о задаче — оценим сроки и стоимость за 2–3 рабочих дня.

Написать в Telegram →

Связанные услуги

  • Backend-разработка
  • Аутстаффинг специалистов

Другие кейсы

  • Обложка кейса Фортех: B2B-каталог сантехники

    Ускорение B2B-каталога и обмена с 1С для федерального поставщика сантехники

    Как мы искали узкие места в каталоге на Strapi, наладили синхронизацию характеристик с 1С и проверяли, откуда в категориях берутся чужие бренды

  • Обложка кейса Фортех: Система планирования бурения

    Формы программы бурения скважин для нефтегазовой компании

    Как фронтенд-разработчик Фортех сделал умное автозаполнение по справочнику и девять конфигурируемых форм для компоновки буровой колонны

  • Обложка кейса Фортех: Платформа автодилера

    Бэкенд микросервисной платформы для сети автосалонов

    Как бэкенд-разработчик Фортех 1 год и 3 месяца работал в одной из двадцати команд автодилера: интеграции, общий NPM-пакет, новая авторизация и наблюдаемость

  • Обложка кейса Фортех: Интернет-магазин для опта и розницы

    Интернет-магазин для опта и розницы с двусторонней интеграцией 1С

    Как мы за пять месяцев собрали ядро магазина на NestJS: гибкие цены для трёх типов клиентов, обмен с 1С без дублей и поиск с русской морфологией

Готовы начать?

Опишите задачу — пришлём оценку проекта за 2–3 рабочих дня или резюме специалистов за 1–2 рабочих дня.

  • partners@fortech.dev
  • +7 (989) 617-13-94
  • Телеграм: @fortech_sales