Гид по интеграции с «1С» для заказчика, или почему мы отжимаем выгрузку еще на пресейле

Воу-воу. В проекте планируется интеграция с «1С». На вопрос о том, можно ли увидеть выгрузку, заказчик в 90% случаев отвечает — а давайте потом. Мы же пока выбираем из нескольких подрядчиков. Вот выберем, подпишем договоры, и будет вам тогда и выгрузка, и цыганочка с выходом. А пока отправьте КП на почту и покажите конкурентоспособную цену.
Цыганочка с выходом действительно начинается. Чуть позже, когда договор заключен и выясняется, что с выгрузкой есть проблемы. Чтобы предотвратить такие моменты, мы собрали в этой статье информацию по интеграции с «1С», которую полезно знать заказчику. Возможно, это сэкономит вам пару килограммов нервов.
В общих чертах все интеграции со складскими системами строятся плюс-минус по одному шаблону. Сайт получает файл, с которым должен что-то сделать. Здесь работает простой принцип: и сайт, и «1С» не могут быть равнозначными, что-то должно быть первичным.
Недосягаемо абстрактный уровень
Обычно, выгрузка строится на основе стандарта CommerceML. В рамках интеграции передаются файлы в формате XML. В файлах хранятся:
Товарная группа — ваши категории товаров. Грубо говоря, то, как товары раскиданы по папкам.
Свойства товара — например, набор цветов лежит отдельно, для каждого товара выбирается свой цвет.
Цены. Старая и новая.
Набор характеристик должен быть одинаковым у всех товаров. Если характеристики разные — это отдельная история. Смотрите пункт «Нештатная интеграция».
Возможные проблемы с выгрузкой
Структура каталога товаров в «1С» и его структура на сайте — принципиально разные. Например, на сайте есть стулья и кресла, которые в 1С хранятся как мебель. В таком случае нужно что-то придумывать, и делается это обычно на стороне хозяина «1С».
В «1С» не может быть нескольких значений свойства (да, невозможно, вот такие дела). А в «Битриксе» — вполне себе может. Если программирование начинается до того, как студия получила в руки выгрузку, программисты подрядчика могут сделать так, что в одном поле может быть несколько значений. Тадададам — двухцветный диван, красный и синий. Или материал: замша и кожа одновременно.
Фильтр выстраивается по характеристикам товаров. А в «1С» характеристики хранятся в поле «Свойства». Там есть такие цвета, как «зиленый», «зеленый», «зел».
Типы интеграции
Штатная
Интеграция с «1С» может быть штатной и нештатной. Штатная работает в случае, если конфигурация системы стандартна, одинэсник ничего не менял.
В рамках штатного протокола можно:
Обмениваться товарами — выгружать их на сайт.
Выгружать заказы с сайта в систему.
Синхронизировать статусы заказов.
Нештатная
Давайте учтем, что три четверти попыток провести штатную интеграцию заканчиваются неудачей. Да, функция интеграции есть в «Битриксе», но это только каркас, который требует доработки.
Есть вещи, которые штатный протокол CommerceML делать не способен: например, выгружать номера дисконтных карт.
Нештатная история всегда начинается со сбора требований и технического задания. Рекомендуем почитать эту статью. Трудозатраты на нештатную интеграцию, а, значит, и ее стоимость, выше штатной.
Что делать, чтобы избежать факапа
Запросить у программиста выгрузку из системы заранее. Показать аккаунт-менеджеру студии, чтобы он с ней разобрался. Или переадресовал тем, кто с ней разберется.
Специалист говорит, что выгрузку сделать сложно, это займет весь его день и даже немножечко вечер? Сначала бейте его палкой, потом кидайте ему ссылку.
Программист сопротивляется и не хочет делать выгрузку? Организуйте колл между подрядчиком и программистом — обычно студии умеют разговаривать этих суровых ребят.
И напоследок — наша анкета по интеграции с «1С». Если заполните ее заранее, это снимет часть вопросов и на этапе оценки, и после заключения договора.
Удачных проектов!