Перейти к содержимому
CRMАвтоматизацияРуководство

Интеграция 1С с сайтом, интернет-магазином и CRM: способы обмена, синхронизация и распределение ролей

Как связать 1С с сайтом, интернет-магазином и CRM: что синхронизировать и как часто, способы обмена, общие идентификаторы, сверка и кто за что отвечает.

BITS Technology· Команда разработки10 мин чтения
Иллюстрация обмена данными между 1С, интернет-магазином и CRM

Когда учёт ведётся в 1С, а продажи идут через сайт, интернет-магазин или CRM, данные между системами рано или поздно начинают переносить вручную. Менеджер перепечатывает заказ, бухгалтер сверяет оплаты по выписке, а на сайте продаётся товар, которого на складе нет уже неделю. Интеграция 1С с сайтом, интернет-магазином и CRM убирает эту рутину, но только если заранее решить, какие данные передавать, в какую сторону, как часто и кто отвечает за каждую часть. Разбираем, что синхронизировать, какими способами можно настроить обмен 1С с сайтом и CRM, как избежать дублей и расхождений, как распределить работу между программистом 1С и веб-разработчиком и как проверить интеграцию перед запуском. Отдельно остановимся на том, что важно для компаний в Ташкенте и по всему Узбекистану: локализованных конфигурациях 1С и ИКПУ в фискальных чеках.

Зачем нужна интеграция 1С с сайтом, интернет-магазином и CRM

  • Заказы больше не перепечатывают. Заказ с сайта или сделка из CRM превращается в документ 1С без ручного ввода и опечаток.
  • На сайте реальные остатки и цены, а не прайс-лист прошлого месяца.
  • Отдел продаж видит расчёты с клиентом. Менеджер прямо в CRM видит задолженность клиента и статус оплаты, без звонка в бухгалтерию.
  • Меньше ошибок. Каждый ручной перенос данных — это возможность перепутать артикул, количество или сумму. Интеграция убирает такие операции из ежедневной работы.

В Узбекистане 1С нередко остаётся главной учётной системой компании, причём часто это не типовая российская конфигурация, а редакция, локализованная местными разработчиками, или конфигурация, доработанная под конкретный бизнес. Например, в 2021 году местный разработчик представил редакцию «1С:Бухгалтерии» 3.0, связанную с Didox, Dibank, Mehnat.uz и my.soliq.uz. От того, какая у вас конфигурация и насколько она изменена, зависит, какие способы обмена доступны и сколько работы потребуется внутри самой 1С.

Если CRM вы ещё только выбираете, закладывайте интеграцию с 1С в бюджет с самого начала; из чего складывается стоимость CRM, мы разбирали в отдельной статье.

Что синхронизировать, в какую сторону и как часто

Начинать стоит не с технологии, а со списка потоков данных. Для каждого потока нужно решить, что передаётся, откуда куда и с какой частотой:

  • Каталог товаров — из 1С на сайт, по расписанию: несколько раз в день или раз в сутки.
  • Цены — из 1С на сайт и в CRM, по расписанию или при изменении прайс-листа.
  • Остатки — из 1С на сайт, чаще остальных: от этого зависит, не продадите ли вы то, чего уже нет.
  • Заказы — с сайта в 1С по событию, сразу после оформления; обратно идут статусы: собран, отгружен, отменён.
  • Клиенты и контрагенты — с сайта или из CRM в 1С при первом заказе, с проверкой на дубли.
  • Оплаты — онлайн-платежи с сайта в 1С, статус оплаты по счёту из 1С в CRM.
  • Документы — счета и накладные формируются в 1С, а в CRM передаются номер, статус или файл.

Часто начинают с синхронизации остатков и цен 1С с сайтом, а заказы и оплаты подключают на следующем этапе.

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

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

Способы обмена 1С с сайтом и CRM: сравнение

Прикладные решения на платформе 1С:Предприятие могут предоставлять собственные HTTP- и веб-сервисы и обращаться к сторонним, обмениваться файлами в XML и JSON и работать со стандартными форматами обмена. Какие варианты доступны именно у вас, зависит от конфигурации и её версии, в том числе если это редакция, локализованная для Узбекистана: то, что есть в типовой российской конфигурации, в вашей может отсутствовать или работать иначе. Уточните это у своего программиста 1С до выбора способа.

СпособКак работаетДоработка 1СГде применяетсяНа что обратить внимание
CommerceMLСтандарт обмена коммерческими данными: каталог, цены и остатки уходят на сайт, заказы возвращаются в 1СМожет не понадобиться, если стандарт поддерживают обе стороныИнтернет-магазин с поддержкой CommerceMLПоддержку в вашей конфигурации нужно проверить; нестандартные поля требуют доработки
EnterpriseDataБизнес-ориентированный XML-формат для обмена данными внутри компанииЗависит от конфигурацииОбмен между учётными системамиОриентирован на учётные данные, а не на витрину сайта; поддержку в вашей редакции нужно проверить
Собственные HTTP-сервисыТочки доступа в стиле REST, ответы которых программист пишет на встроенном языке 1СДаЗаказы, статусы, остатки по запросуЭто код в конфигурации: его нужно сопровождать и сохранять при обновлениях
Веб-сервисы SOAPСервисы с описанием WSDL; публикуются так же, как HTTP-сервисыДаСистемы, которые работают по SOAPТяжелее HTTP-сервисов; те же вопросы сопровождения
Стандартный интерфейс ODataREST-интерфейс ко всему приложению по OData 3 (Atom/XML и JSON), который платформа формирует автоматическиПрограммирование не нужно, но интерфейс публикуют на веб-серверЧтение справочников и документовСтруктура повторяет конфигурацию и меняется при обновлениях; нужен пользователь с ограниченными правами
Обмен файлами по расписаниюОдна сторона выгружает XML, JSON или CSV в общую папку или на сервер, другая забирает и загружаетОбычно настройка или доработка выгрузкиНет веб-сервера или сетевого доступа к 1СЗадержки, недописанные файлы, защита от повторной загрузки
Промежуточный слой, очередьОтдельный сервис принимает изменения, хранит их в очереди и доставляет адресатуНужна точка входа в 1С: сервисы, OData или файлыНесколько систем, нестабильная связьЕщё один компонент: его нужно разместить, отслеживать и документировать

Несколько уточнений к таблице. Первую версию CommerceML разработали 1С и Extra.RU в 2000 году, и обмен по нему возможен как по сети, так и файлами. В официальном перечне продуктов с поддержкой EnterpriseData 1С называет свои типовые конфигурации, например «Бухгалтерию предприятия» 3.0 и «Управление торговлей» 11; локализованные редакции в нём не упоминаются, поэтому поддержку в вашей редакции нужно проверять отдельно. Стандартный интерфейс OData публикуется на веб-сервер из Конфигуратора. Встречаются и старые схемы через COM-соединение: оно работает только в Windows, и для новых решений сама 1С его не рекомендует.

Мастер-данные, идентификаторы и конфликты

Многие проблемы интеграции связаны не с технологией, а со справочниками, то есть с нормативно-справочной информацией (НСИ), и решать их стоит до написания кода:

  • Один источник истины для каждой сущности, а иногда и для каждого поля. Например, 1С отвечает за цены, остатки и оплаты, CRM — за сделки, сайт — за описания и фотографии товаров.
  • Общие идентификаторы. Стабильный ключ записи хранится в обеих системах: идентификатор объекта 1С — в карточке товара на сайте, номер заказа сайта — в документе 1С. Сопоставлять по названию ненадёжно: названия меняют.
  • Сопоставление существующих записей. Телефоны записаны в разных форматах, с кодом страны и без. Названия встречаются на кириллице и на латинице: в 1С может быть ООО «Нур Савдо», а в CRM — «Nur Savdo» MChJ. Юрлица надёжнее сопоставлять по ИНН, если он заполнен в обеих системах. Нужны правила нормализации и ручная проверка спорных совпадений до первой загрузки.
  • Правила конфликтов и удалений. Решите заранее, что происходит, если запись изменили в обеих системах между обменами. В 1С объекты обычно сначала помечают на удаление; сайт должен скрыть такой товар, не теряя историю заказов.
  • Единицы измерения, НДС и ИКПУ. Они должны совпадать в 1С, на сайте и в данных для фискализации. С 1 января 2022 года в чеках онлайн-ККТ и виртуальных касс обязателен 17-значный ИКПУ из классификатора tasnif.soliq.uz, поэтому ИКПУ и код упаковки товара в 1С должны совпадать с кодами, которые сайт и платёжный сервис передают для чека. Подробнее — в статье о подключении Click, Payme и Uzum.

Надёжность: очереди, повторы и мониторинг

1С останавливают на обновление, сеть пропадает, сайт уходит на обслуживание. Интеграция должна переживать это без потери данных:

  • Очередь исходящих изменений. Если 1С недоступна, заказ ждёт в очереди и уходит, как только она снова доступна.
  • Безопасные повторы. Повторная отправка заказа не должна создавать в 1С второй документ: у каждого сообщения есть уникальный ключ, и принимающая сторона проверяет, не обработано ли оно уже. Это свойство называют идемпотентностью.
  • Журнал каждого запуска. В нём видно, что передано, сколько записей и какие были ошибки.
  • Оповещения о сбоях. Сообщение получает конкретный ответственный, например в рабочем Telegram-чате; что ещё умеют боты, мы рассказывали в статье о Telegram-ботах для бизнеса.
  • Ежедневная сверка. Отчёт сравнивает остатки, заказы и оплаты в обеих системах. Расхождение, найденное на следующий день, исправляют быстро; найденное при закрытии месяца превращается в расследование.

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

Кто отвечает за сторону 1С, а кто — за сайт и CRM

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

  • Программист 1С — изменения в конфигурации, публикация HTTP- или веб-сервисов либо OData на веб-сервере, настройка обменов, совместимость доработок с обновлениями конфигурации.
  • Веб- или CRM-разработчик — клиент API, сопоставление полей, очередь и повторы, журнал и страница в панели администратора с состоянием обмена.
  • Бухгалтер или владелец бизнеса — правила (кто хозяин цен, когда заказ считается оплаченным, что делать с возвратами) и порядок в справочниках.
  • Системный администратор или IT-отдел — веб-сервер, защищённый сетевой доступ к 1С и отдельные учётные записи для интеграции с минимальными правами.

Запишите эти границы в договор: кто за что отвечает, кто разбирается со сбоем на стыке и кто поддерживает поток после обновления 1С. Иначе однажды обмен остановится, а программист 1С и веб-разработчик будут уверены, что проблема на другой стороне.

Тестирование и запуск: чек-лист

  • Копия информационной базы для тестов, а не рабочая база.
  • Документ сопоставления полей: что откуда берётся, в каком формате, какая система хозяин.
  • Тестовые данные с неудобными случаями: товар без ИКПУ, клиент с двумя телефонами, заказ со скидкой, возврат.
  • Каждый поток проверен в обе стороны, если обмен двусторонний.
  • Реалистичные объёмы: весь каталог и заказы за самый загруженный день.
  • Сценарии сбоев: 1С недоступна, сообщение пришло дважды, товар удалён, обмен прервался на середине.
  • Отчёты сверки настроены, и их действительно кто-то просматривает.
  • Параллельный запуск: интеграция работает рядом с ручным процессом, результаты сравниваются.
  • План отката к ручному режиму.
  • Назначен ответственный, который следит за оповещениями после запуска.

Частые ошибки

  • Цены редактируют в двух системах, и следующий обмен молча перезаписывает правку.
  • Нет общих идентификаторов, и сопоставление ломается при первом переименовании.
  • Синхронизация всего каждую минуту нагружает 1С в рабочее время без всякой пользы.
  • Запись напрямую в базу данных 1С обходит её бизнес-логику: проведение документов, движения по регистрам, проверки. Данные в таблицах появляются, но учёт с ними не сходится.
  • Дубли на латинице и кириллице превращают одного клиента в двух, и задолженность делится между ними.
  • Нет оповещений, и сбой обнаруживают только при закрытии месяца.
  • Потоки не задокументированы, и после ухода автора интеграцию никто не решается трогать.

Чем может помочь BITS Technology

BITS Technology — IT-компания из Ташкента, основанная в 2020 году. Интеграция 1С с интернет-магазином, сайтом или CRM входит в наше направление системной интеграции. Типичная схема такая: товары, цены и остатки передаются из 1С в интернет-магазин, а заказы, клиенты и оплаты с сайта или из CRM — в 1С. Для каждой сущности определяем один источник истины. Способ обмена зависит от конфигурации и версии 1С: HTTP- или веб-сервисы, OData или обмен файлами по расписанию; доработки внутри 1С может сделать ваш программист 1С. Частоту обмена согласуем для каждого потока. Каждый запуск логируется, неудачные попытки повторяются автоматически, данные сверяются, а о сбоях приходят оповещения. Потоки документируем так, чтобы их могла поддерживать любая квалифицированная команда, а интеграцию запускаем параллельно с текущим процессом и переключаемся только после сверки.

Если интеграция — часть большего проекта, посмотрите также разработку CRM, разработку сайтов и автоматизацию бизнес-процессов; полный список направлений — на странице услуг. Расскажите о задаче: после вводного звонка мы пришлём предложение с объёмом работ, этапами и стоимостью.

Похожие статьи

Автоматизация10 мин чтения

Телеграм-бот для бизнеса в Узбекистане: что умеет, с чем интегрируется и как поставить задачу разработчику

Что умеет телеграм-бот для бизнеса в Узбекистане, когда нужен Mini App, как подключить оплату Click и Payme, связать бота с CRM и 1С и поставить задачу.

Веб11 мин чтения

Как открыть интернет-магазин в Узбекистане: маркетплейс или свой сайт, оплата, чеки, доставка и запуск

Как открыть интернет-магазин в Узбекистане: маркетплейс или свой сайт, требования законов, платформа, чеки с ИКПУ, доставка и чек-лист запуска.

Давайте создадим что-то по-настоящему стоящее

Расскажите о проекте — мы ответим в течение одного рабочего дня.