Главная Интеграции
Направление

Интеграции между вашими системами

Связываем 1С, корпоративный портал, банк, документооборот, площадки и мессенджеры, чтобы данные ходили сами, а не переносились копированием в таблицу. Каждый обмен пишется в журнал целиком — видно, что, куда, когда и почему ушло.

Что именно делаем

Обмен, который переживает сбой и оставляет след

Написать обмен, который работает на счастливом сценарии, — несложно. Ценность появляется там, где внешняя система не ответила, ответила ошибкой, ответила «хорошо», но ничего не сделала, или прислала одно и то же событие дважды. Именно на этих случаях интеграции обычно и разваливаются — тихо, без единой записи в журнале.

Поэтому мы строим обмен так: очередь вместо прямого вызова (проведение документа не ждёт внешнюю систему), повтор при сбое, защита от повторной обработки одного события и журнал, в который пишется ответ внешней системы целиком, а не отметка «успех». Без последнего разобрать случай «портал ответил, что всё хорошо, а поле не изменилось» невозможно.

Что связываем чаще всего

  • 1С и корпоративный портал — сделка превращается в комплект документов в учёте, деньги и статусы возвращаются в карточку;
  • банк и учёт — выписки, остатки по счетам, платёжные поручения;
  • документооборот и учёт — договоры и дополнительные соглашения ходят между системами, а не заводятся дважды;
  • торговые площадки — результаты процедур и договоры попадают в учётный контур;
  • мессенджеры — уведомления и простые сценарии в Telegram, MAX и WhatsApp;
  • любая система с интерфейсом обмена — отраслевой софт, сервисы проверки контрагентов, государственные ресурсы.

Как обычно выбираем схему

Есть два способа связать системы: внешняя дёргает вашу учётную или ваша учётная сама опрашивает внешнюю. Второй вариант часто оказывается проще и безопаснее: публиковать 1С в интернете не требуется, хватает исходящего соединения. Мы предпочитаем его всюду, где это возможно, — меньше открытых дверей, меньше согласований со службой безопасности.

Отдельный слой — предохранители на время обкатки. Пока обмен не проверен, он работает по белому списку: обрабатываются только явно перечисленные объекты. Это позволяет включить интеграцию в боевой базе, ничего в ней не сломав.

Что считаем обязательным

Журнал с полным содержанием. На каждую операцию — что послужило основанием, куда ушёл запрос, каким было тело, что именно ответила внешняя система, за сколько миллисекунд, от чьего имени и автомат это был или человек.

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

Сторож. Обмен, который тихо перестал работать, опаснее обмена, который падает с ошибкой. Ставим проверку, что он живой, и оповещение при первом же молчании.

Пример

Сделка в CRM — комплект документов в 1С

Договоры долевого участия и счета эскроу

БылоДанные о сделке жили в CRM, а договоры долевого участия и счета эскроу заводили в учётную систему руками. Расхождения находились на закрытии месяца, когда исправлять уже дорого.
СделалиДвусторонний обмен: событие в сделке создаёт в 1С весь комплект — объекты недвижимости, контрагентов, договоры и документы; проведение поступления денег возвращает сумму в карточку сделки. Учётная система сама опрашивает портал, поэтому наружу её публиковать не понадобилось. На время обкатки — белый список сделок.
СталоРаботает в боевой базе. Одно событие вместо ручного ввода десятка объектов. По каждому обмену в журнале две записи: почему сработало и что именно ответил портал.
Группа девелоперских компаний

Чему научил этот проект

Половина работы оказалась не в коде, а в разборе данных: поле «продавец» в CRM было свободной строкой, и одно юридическое лицо писали пятью способами. Пока это не разобрано, обмен будет исправно переносить мусор.

Поэтому в интеграционных проектах мы всегда закладываем шаг «посмотреть, что реально лежит в полях» — до того, как писать перенос. Об этом же страница про дашборды: качество данных всплывает одинаково в обеих задачах.

Что нужно с вашей стороны

Три вещи

Тестовый контур

Копия учётной базы, на которой можно отлаживать. Если тестового контура нет — поможем его получить; отлаживать сразу в боевой мы не станем.

Сервисная учётная запись

Отдельная учётка с минимально необходимыми правами — не администратор. Так в журнале видно, что операцию сделал обмен, а не человек.

Ответственный со стороны учёта

Человек, который скажет, какой документ считается правильным и что делать со спорным случаем. Это решение бизнеса, а не разработчика.

Вопросы

То, что спрашивают до начала работы

У нас нестандартная конфигурация 1С. Это помеха?

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

Что будет, если внешняя система не ответила?

Обмен построен через очередь: документ не блокируется, неудачная попытка повторяется, а в журнале остаётся точный ответ внешней системы, а не отметка «успех». Именно это позволяет разобрать случай «портал ответил, что всё хорошо, а поле не изменилось».

Можно ли обойтись без открытия учётной системы наружу?

Часто да. Если инициатором обмена сделать саму учётную систему — она сама опрашивает внешнюю по расписанию, — публиковать её в интернете не требуется, хватает исходящего соединения. Это заметно проще с точки зрения безопасности.

Смотрите также

Соседние направления

Давайте посмотрим на ваши данные

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