Автоматизация · 12 мин
Интеграция 1С:Предприятие: как выбрать и настроить обмен данными
Какая интеграция 1С:Предприятие подойдёт вашей компании: обмен через файлы, веб-сервисы, HTTP, шину данных и готовые коннекторы. Выбор, настройка, ошибки.
Интеграция 1С:Предприятие — это организация обмена данными между конфигурацией 1С и внешними системами: сайтом, CRM, складской программой, банком, маркетплейсом или другой базой 1С. Задача возникает почти в каждой компании, где 1С не является единственной информационной системой: заказы с сайта должны попадать в учёт, остатки — выгружаться на витрину, а платежи из банка — разноситься по документам автоматически.
Единого «лучшего» способа интеграции не существует. Платформа 1С поддерживает несколько механизмов обмена — от простой выгрузки файлов до полноценных веб-сервисов и брокеров сообщений, и выбор зависит от объёма данных, требований к скорости, наличия разработчика и возможностей второй системы. Ошибка на этапе выбора оборачивается месяцами доработок: например, файловый обмен не справляется с тысячами заказов в час, а полноценная шина данных избыточна для обмена справочником контрагентов раз в сутки.
Ниже разобраны основные способы интеграции, критерии выбора, порядок настройки типового обмена и типичные ошибки, которые приводят к потере или рассинхронизации данных.
Какие задачи решает интеграция 1С
Чаще всего интеграцию внедряют для четырёх сценариев. Первый — обмен с интернет-магазином: выгрузка номенклатуры, цен и остатков на сайт, загрузка заказов и оплат обратно в 1С. Второй — синхронизация с CRM, чтобы менеджеры видели отгрузки и задолженность, а бухгалтерия получала данные о сделках без ручного ввода. Третий — обмен между базами 1С, например между «Управлением торговлей» и «Бухгалтерией предприятия». Четвёртый — подключение внешних сервисов: банков (клиент-банк, ДБО), маркетплейсов, служб доставки, ЭДО-операторов.
Отдельный класс задач — интеграция с оборудованием: кассами, терминалами сбора данных, весами, эквайринговыми терминалами. Здесь используются драйверы и стандарты, отличные от обмена между программными системами, и подход к настройке другой.
Перед выбором механизма сформулируйте требования: какие объекты синхронизируются (справочники, документы, остатки), в какую сторону идёт обмен, допустимая задержка (секунды, минуты, сутки), объём за один сеанс и что должно происходить при конфликте — какая система считается «главной» для каждого типа данных.
Основные способы интеграции: сравнение вариантов
Платформа предлагает несколько встроенных механизмов, и большинство проектов закрывается их комбинацией. Файловый обмен — самый простой: 1С формирует файл (XML, CSV, JSON) в каталог или на FTP, вторая система забирает его по расписанию. Подходит для нетребовательных к скорости задач, но не даёт гарантий доставки и плохо масштабируется.
HTTP- и веб-сервисы позволяют обмениваться данными в реальном времени: внешняя система вызывает опубликованный в 1С сервис (или наоборот, 1С обращается к API внешней системы) и получает ответ немедленно. Это основной способ для интеграции с сайтами, мобильными приложениями и CRM. Планы обмена — штатный механизм платформы для синхронизации между базами 1С с регистрацией изменений и разрешением коллизий. Для сложных ландшафтов с несколькими системами применяют брокеры сообщений (RabbitMQ, Kafka) или фирменную 1С:Шину.
Сравнение вариантов
Подходит для разовых и редких выгрузок без разработчика. Ограничение: нет гарантии доставки, задержки, сложно отследить ошибки.
Штатная синхронизация между базами 1С с регистрацией изменений. Ограничение: работает в основном внутри экосистемы 1С.
Онлайн-обмен с любыми системами, поддерживающими API. Ограничение: нужна публикация базы на веб-сервере и разработка.
Надёжный обмен для нескольких систем и больших объёмов. Ограничение: высокая стоимость внедрения и сопровождения.
Универсальный формат EnterpriseData и типовые обмены
Для обмена между конфигурациями 1С и с сайтами фирма «1С» разработала универсальный формат EnterpriseData на основе XML. Он описывает типовые объекты учёта — контрагентов, номенклатуру, заказы, счета, отгрузки — и поддерживается большинством актуальных конфигураций «из коробки». Если обе системы понимают этот формат, интеграция настраивается без программирования: достаточно включить синхронизацию данных и указать канал связи.
Типовой обмен настраивается в разделе «Администрирование» → «Синхронизация данных». Типичный сценарий — обмен «Управление торговлей» ↔ «Бухгалтерия предприятия»: в УТ ведутся продажи и склад, в БП передаются документы для учёта. Для обмена с сайтом на CMS вроде «1С-Битрикс» используется CommerceML — формат выгрузки каталога и загрузки заказов, который поддерживается типовым модулем обмена.
- 1Сделайте резервные копии обеих баз до начала настройки.
- 2Включите синхронизацию данных: Администрирование → Синхронизация данных, установите префикс базы.
- 3Создайте новую настройку синхронизации и выберите вторую систему (другая конфигурация 1С, сайт, файл).
- 4Укажите канал связи: прямое подключение, каталог, FTP или веб-сервис.
- 5Настройте правила: какие объекты передаются, отборы, дату начала обмена.
- 6Выполните первое сопоставление объектов вручную — проверьте, что контрагенты и номенклатура сопоставились корректно.
- 7Запустите обмен и проверьте результат по контрольным документам, затем настройте расписание автоматического обмена.
Критический этап — первичное сопоставление. Если в двух базах один и тот же контрагент заведён с разным написанием наименования, система может создать дубли. Перед запуском регулярного обмена просмотрите список несопоставленных объектов и свяжите их вручную.
Онлайн-интеграция через HTTP- и веб-сервисы
Когда данные нужны немедленно — например, сайт должен показать актуальный остаток в момент оформления заказа — применяют сервисы. В 1С можно опубликовать два вида: HTTP-сервисы (произвольные запросы, обычно с обменом в JSON) и веб-сервисы по протоколу SOAP. Для публикации потребуется веб-сервер (IIS или Apache), настройка публикации базы и разработка на встроенном языке 1С.
Обратное направление тоже возможно: 1С вызывает внешний API через объект HTTPСоединение. Так реализуют загрузку курсов валют, статусов доставки, отправку данных в CRM. Важно предусмотреть обработку ошибок сети: внешний сервис может быть недоступен, и обмен не должен «падать» с потерей данных — неотправленные пакеты ставят в очередь повторной отправки.
// Пример вызова внешнего API из 1С
Соединение = Новый HTTPСоединение("api.example.ru", 443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
Запрос = Новый HTTPЗапрос("/v1/stocks");
Запрос.Заголовки.Вставить("Authorization", "Bearer " + Токен);
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
Данные = Ответ.ПолучитьТелоКакСтроку();
КонецЕсли;Планы обмена и синхронизация между базами 1С
План обмена — объект конфигурации, который фиксирует, какие узлы участвуют в обмене и какие данные для них регистрируются. При изменении объекта платформа записывает его в регистрацию изменений, и при очередном сеансе обмена передаются только изменённые данные, а не вся база. Это существенно снижает нагрузку при больших объёмах.
Планы обмена лежат в основе распределённых информационных баз (головной офис и филиалы) и типовых синхронизаций между конфигурациями. Механизм умеет разрешать коллизии: если объект изменён в обеих базах, применяется заданное правило — например, приоритет главного узла. Проверить состояние обмена можно по номерам отправленных и принятых сообщений в настройке синхронизации: расхождение номеров указывает на прерванный обмен.
Интеграция через брокеры сообщений и 1С:Шину
Когда в обмене участвуют три и более системы — например, 1С, CRM, сайт и WMS — прямые связи «каждый с каждым» быстро становятся неуправляемыми. Архитектурное решение — промежуточный слой: брокер сообщений (RabbitMQ, Apache Kafka) или продукт 1С:Шина. Системы не обращаются друг к другу напрямую, а публикуют сообщения в очереди и подписываются на нужные потоки.
Такой подход даёт гарантированную доставку (сообщение хранится, пока получатель его не обработает), буферизацию пиковых нагрузок и простое подключение новых систем. Цена вопроса — необходимость развёртывания и сопровождения дополнительной инфраструктуры, поэтому для обмена двух систем шина обычно избыточна.
Как выбрать действие
Проверка результата и типичные ошибки
После запуска обмена результат проверяют не по отсутствию ошибок в журнале, а по данным. Выберите несколько контрольных объектов — документ, контрагента, позицию номенклатуры — и сверьте их в обеих системах: реквизиты, суммы, остатки. Для регулярных обменов настройте контроль: отчёт по несопоставленным объектам, мониторинг неотправленных сообщений, уведомления об ошибках.
Как проверить результат
Номер последнего отправленного совпадает с принятым на другой стороне
Номера расходятся — обмен прерван или сообщения теряются
Суммы, контрагент и даты совпадают в обеих системах
Документ не перенёсся, продублировался или перенёсся с другими реквизитами
Пуст или содержит только осознанные исключения
Растёт число дублей контрагентов и номенклатуры
Ошибки обмена отсутствуют или обработаны
Повторяющиеся ошибки соединения, прав доступа, формата данных
Граница безопасной самостоятельной работы проходит по типовым механизмам: настройка синхронизации через EnterpriseData, обмен с сайтом типовым модулем, файловые выгрузки. Разработка HTTP-сервисов, доработка правил обмена в «Конвертации данных» и внедрение брокеров сообщений требуют квалификации разработчика 1С — ошибки в этих местах напрямую влияют на целостность учётных данных.
Что важно запомнить
Способ интеграции выбирают под задачу: файлы и типовые обмены — для простых сценариев, сервисы — для онлайн-обмена, шина — для сложных ландшафтов. Всегда начинайте с резервной копии, выполняйте ручное сопоставление при первом обмене и контролируйте результат по данным, а не только по журналу ошибок.
Частые вопросы
Можно ли настроить интеграцию 1С без программиста?
Да, если задача закрывается типовыми средствами: синхронизация между типовыми конфигурациями через EnterpriseData, обмен с сайтом штатным модулем, клиент-банк, простые файловые выгрузки. Для нестандартных форматов, внешних API и доработки правил обмена потребуется разработчик.
Что выбрать для обмена с интернет-магазином?
Для CMS, поддерживающих CommerceML (например, «1С-Битрикс»), используйте типовой модуль обмена с сайтом — он выгружает каталог и остатки и загружает заказы без программирования. Если магазин работает на собственной платформе, обычно разрабатывают обмен через HTTP-API с обеих сторон.
Как часто нужно запускать синхронизацию?
Ориентируйтесь на бизнес-требование к актуальности данных. Остатки для сайта обычно выгружают каждые 5–30 минут или по событию изменения, документы в бухгалтерию — раз в день или по расписанию ночью. Слишком частый полный обмен создаёт лишнюю нагрузку: используйте регистрацию изменений, чтобы передавать только дельту.
Что делать, если после обмена появились дубли контрагентов?
Остановите регулярный обмен, найдите дубли (поиск по ИНН/КПП или наименованию), выполните сопоставление вручную в настройке синхронизации и обработайте уже созданные дубли штатной обработкой поиска и замены дублей. Затем уточните правила поиска объектов при загрузке — чаще всего дубли возникают из-за поиска только по наименованию.
Чем 1С:Шина отличается от планов обмена?
Планы обмена — механизм платформы для синхронизации между базами 1С по принципу «точка-точка». 1С:Шина — отдельный программный продукт, промежуточный слой для обмена между любыми системами через очереди сообщений. Шину выбирают, когда систем несколько и требуется централизованное управление потоками данных.
Безопасно ли публиковать базу 1С для веб-сервисов?
Безопасно при соблюдении мер: аутентификация на каждый сервис, HTTPS с действующим сертификатом, отдельный пользователь с минимально необходимыми правами, ограничение доступа по IP там, где это возможно, и регулярный аудит журнала обращений. Публикация без этих мер создаёт риск утечки учётных данных.