Чек-лист из 18 вопросов. Ответьте на них до того, как подрядчик начнёт работу, — и обмен не придётся переделывать через полгода.
Зачем это нужно
Интеграцию редко переделывают из-за плохого кода. Её переделывают из-за того, что на старте не договорились, кто главный по каждому справочнику и что делать в спорных ситуациях. Эти решения стоят дёшево на бумаге и дорого — после запуска, когда в системе уже лежат боевые данные.
Пройдите список сами, потом — вместе с подрядчиком. Разночтения вылезут сразу.
Блок 1. Что вообще синхронизируем
1. Какие сущности ходят между системами? Товары, остатки, цены, контрагенты, заказы, отгрузки, оплаты, взаиморасчёты. Отметьте нужные. Каждая лишняя сущность — это срок и деньги, а также ещё одно место, где может разойтись.
2. В какую сторону идёт каждая сущность? Ответ «в обе» почти всегда неверный. Обычно товары и остатки идут из 1С, заказы — с сайта в 1С, статусы оплаты — обратно. Нарисуйте стрелки на бумаге.
3. Что считается главным источником для каждого поля? Классический конфликт: менеджер поправил телефон клиента в CRM, а следующая выгрузка из 1С затёрла правку. Для каждого спорного поля должно быть решено, чьё значение побеждает.
4. Какая конфигурация 1С и какой релиз? УТ, УНФ, Бухгалтерия, ERP, самописная — это принципиально разные истории. Уточните и версию: на старых релизах часть механизмов обмена просто отсутствует.
5. Конфигурация типовая или дописанная? Если 1С дорабатывали, спросите у своего 1С-ника, сохранена ли поддержка. Обмен с сильно переписанной конфигурацией — отдельный проект, а не настройка.
Блок 2. Товары и цены
6. Что является идентификатором товара? Артикул, код, штрихкод, внутренний идентификатор 1С. Ответ «название» — гарантированные дубли: названия правят, и связь рвётся.
7. Сколько типов цен и кто какую видит? Розница, опт, персональные скидки, цены по договорам. Определите, какие типы уходят на сайт и как считается цена для конкретного клиента.
8. Как передаются остатки и по каким складам? Один общий остаток или по складам? Показываем ли реальное число или «в наличии / под заказ»? Учитываем ли резерв?
9. Что делать с товаром, который пропал из выгрузки? Скрыть, удалить, оставить с нулевым остатком? Удаление — почти всегда плохая идея: ломаются ссылки и история заказов.
10. Как часто идёт обмен и что грузим — всё или изменения? Полная выгрузка большого каталога кладёт сервер и занимает часы. При каталоге от нескольких тысяч позиций нужны дельта-загрузки — передавать только изменившееся.
Блок 3. Клиенты и заказы
11. Как определяем, что это тот же клиент? По телефону, почте, ИНН? Для юрлиц обычно ИНН, для физлиц — телефон. Без правила получите два контакта на одного человека.
12. Что происходит с дублями, которые уже есть? Их надо вычистить до запуска обмена. Иначе они размножатся: каждый дубль обзаведётся парой на той стороне.
13. Какие статусы заказа существуют и как они соответствуют друг другу? Составьте таблицу соответствия: стадия в CRM ↔ статус в 1С. Именно здесь чаще всего обнаруживается, что статусы в двух системах описывают разные вещи.
14. Кто может менять заказ после передачи в 1С? Если менеджер правит заказ в CRM, а бухгалтер — тот же документ в 1С, нужно решить, чьи правки выигрывают. Или запретить редактирование с одной стороны.
15. Что делаем с возвратами и частичными отгрузками? Вопрос, который забывают в 90% проектов и вспоминают на второй неделе после запуска.
Блок 4. Технические условия
16. Как системы будут друг друга видеть? 1С в локальной сети, у сайта нет к ней доступа — обычная ситуация. Нужен либо публикация веб-сервисов, либо VPN, либо промежуточный обменник. Решается до старта, вместе с вашим системным администратором.
17. Что происходит, когда обмен упал? Кто узнает об этом и как? Данные копятся и догрузятся или потеряются? Нужен журнал обмена и уведомление ответственному — иначе про сбой узнают от клиента.
18. Где тестируем? Отдельная копия 1С и тестовый портал. Обкатывать обмен на боевой базе — способ потерять данные. Заложите на тестовый контур время и деньги сразу.
Что должно быть на выходе
До начала работ у вас на руках:
- Схема со стрелками: что, куда и как часто.
- Таблица соответствия статусов.
- Список полей с указанием главного источника.
- Правило определения дублей.
- Договорённость по возвратам.
- Понимание, как системы соединяются технически.
Если подрядчик готов начать без этого — он будет принимать эти решения за вас. Иногда угадает.