Интеграция личного кабинета с 1С: как это работает
Почему кабинет нельзя наполнять руками
Соблазн понятен: сделать кабинет быстро, а данные вносить силами менеджеров. Через месяц это превращается во вторую базу, которая расходится с первой.
Дальше происходит предсказуемое: клиент видит в кабинете одно, менеджер по телефону называет другое, доверие к кабинету исчезает, им перестают пользоваться. Деньги потрачены, рутина с менеджеров не снята.
Поэтому первое решение в проекте кабинета — не дизайн, а источник данных.
Способы обмена и когда какой уместен
Веб-сервисы 1С. Самый управляемый вариант: на стороне 1С публикуется набор методов, кабинет запрашивает ровно то, что нужно. Требует доработки конфигурации.
OData. Стандартный интерфейс, доступный без доработок. Удобен для чтения справочников и остатков. Важная деталь: при постраничной выдаче обязательно указывать сортировку, иначе часть записей теряется или дублируется.
Обмен через файлы или очередь. Подходит там, где 1С недоступна снаружи по политике безопасности: база сама отдаёт пакеты во внешнее хранилище.
Выбор зависит не от моды, а от того, как у вас развёрнута 1С и кто администрирует сервер.
Отказные сценарии: то, что забывают спроектировать
1С недоступна. Кабинет должен показывать последние известные данные с отметкой времени, а не пустой экран или ошибку.
Документ удалён или помечен на удаление. Он обязан исчезнуть из кабинета, а не висеть вечно.
Один и тот же заказ пришёл дважды. Обмен должен быть идемпотентным: повторная обработка не создаёт дубль.
Сбой на середине пакета. Либо применяется всё, либо ничего; половина обновлённых заказов хуже, чем ни одного.
Именно эти четыре сценария занимают заметную часть времени интеграции — и именно их вырезают, когда хотят «сделать подешевле».
Частые вопросы
Нужно ли дорабатывать 1С для кабинета?
Зависит от способа обмена. Через OData часто можно обойтись без доработок; веб-сервисы требуют изменений в конфигурации.
Что видит клиент, если 1С выключена?
Последние загруженные данные с отметкой актуальности. Пустой экран — признак непродуманного обмена.
Как часто обновляются данные в кабинете?
От нескольких минут до реального времени — зависит от способа обмена и нагрузки на базу. Задаётся при проектировании.
А если у нас не 1С, а CRM?
Принцип тот же: кабинет читает из системы, где живут заказы. Меняется только интерфейс обмена.