Блог компании "Внедренцы и прогеры"

Сложная интеграция 1С и iSales: как мы настроили обмен данными для компании-дистрибьютора

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

Контекст, цели и задачи: с чем предстояло работать

Клиент — дистрибьютор безалкогольных напитков в Ульяновской области, работающий с крупным производителем.

Производитель делит клиентов на 3PL (крупные ритейл-сети с собственной логистикой) и 3PD (торговые точки без собственной логистики). Первая категория клиентов работает с производителем напрямую, вторая — через дистрибьютора.

Информация по остаткам 3PL хранится в SAP — основной информационной системе производителя. Информация об остатках 3PD — в «1С:Управление торговлей и алкогольной продукцией», информационной системе дистрибьютора.

Торговые представители дистрибьютора работают в разъездах по торговым точкам, используя КПК с приложением для поддержки продаж iSales. Прибывая на точку, они определяют потребность в товарах и через приложение сверяются с актуальными данными из 1С, которые, в свою очередь, уже актуализированы на основании данных SAP. После этого сотрудники вводят заказ в iSales.

Чтобы всё работало без сбоев, цены и остатки с учётом резервов 3PL и 3PD нужно передавать в iSales, а заказы клиентов — из iSales в 1С.

Ранее этот процесс был реализован на базе «1С:Предприятие 7». Однако старая конфигурация перестала соответствовать актуальным требованиям законодательства (ЕГАИС, маркировка), что потребовало перехода на 1С:УТАП на платформе «1С:Предприятие 8».

Перед командой стояла задача выстроить надёжный и точный обмен большим объёмом разноформатных данных между 1С:УТАП и iSales — двумя системами с различной архитектурой и бизнес-логикой. Требовалась полная синхронизация данных по номенклатуре, остаткам, ценам, заказам, документам и задолженностям с учётом различий в форматах хранения, правилах классификации и ограничениях.

Цель — обеспечить оперативное обновление данных, чтобы торговые представители в любой момент имели доступ к актуальной информации о товарных остатках и ценах, могли эффективно работать с клиентами и оперативно передавать заказы в 1С для их дальнейшей обработки и реализации.

От идеи до реализации: как выстроили обмен

Вместе с заказчиком мы последовательно прошли все стадии проекта:

  • провели обследование текущих бизнес-процессов;
  • смоделировали целевую логику процессов с учётом требований к интеграции;
  • согласовали техническое задание на разработку;
  • определили архитектуру решения с учётом рекомендаций вендора;
  • реализовали интеграционные потоки между системами;
  • провели тестирование и отладку решения;
  • продемонстрировали готовую систему заказчику.

В результате мы создали обработку, позволяющую пользователю выбирать интерфейс для загрузки или выгрузки данных, и реализовали ручную загрузку для каждого интерфейса: «Загрузить номенклатуру», «Выгрузить прайс-листы», «Загрузить поступления», «Загрузить заказы клиентов», «Выгрузить поступления / реализацию / возвраты клиентов», «Выгрузить остатки», «Выгрузить долги».

Кроме того, в обработке предусмотрена возможность настройки регламентных заданий — например, можно настроить автоматическую загрузку остатков каждый час, а прайс-листов — раз в день.

Обмен осуществляется через точку доступа веб-сервиса с двухсторонней передачей данных.
Что загружается в 1С:

  • Номенклатура. Особенность заключается в том, что в 1С каждой номенклатуре присвоен уникальный код, в то время как в iSales и SAP некоторые товары могут иметь один код. Для iSales они должны выгружаться в свёрнутом виде в разрезе основного кода SAP. Для этого мы реализовали сложный механизм синхронизации с автоматической группировкой товаров в соответствии с классификацией другой системы.
  • Поступления на склад. Реализована опосредованная интеграция с SAP. Сначала из iSales в 1С загружается черновик поступления, устанавливается соответствие между системами. Затем в 1С подгружается содержательная табличная часть из SAP через файлы документов. После этого выполняется обмен статусами между 1С и iSales, а проведённый документ уходит обратно в iSales.
  • Заказы. Торговые представители вводят потребности торговых точек в мобильные устройства, после чего данные передаются в 1С через настроенные регламентные задания и интерфейсы обмена. В 1С на основании загруженных заказов формируются реализации. Важно: не все товары подлежат выкупу, так как у производителя может не быть всего ассортимента в нужном количестве. Поэтому в iSales используется алгоритм приоритизации: сначала обработке подлежат заказы от точек с приоритетным статусом, затем — от точек с меньшими скидками и так далее.

Что выгружается из 1С:

  • Остатки. Реализовано несколько стратегий выгрузки: доступные остатки, остатки с учётом резервов из подтверждённых заказов, остатки с учётом резервов из всех загруженных заказов. Также настроена выгрузка сверочных данных из 1С и iSales по остаткам и обороту, что позволяет сотрудникам быстро актуализировать информацию.
  • Прайс-листы. Заказчик использует множество прайс-листов: базовые, а также индивидуальные, сформированные по соглашениям с торговыми точками (с уникальными ценами, скидками и пр.). При этом iSales накладывает ограничения на объём загружаемых прайс-листов. Чтобы обойти это ограничение, мы разработали логику группировки прайс-листов в укрупнённые блоки по товарам и клиентам.
  • Документы. Для обмена документами о поступлениях, реализациях и возвратах внедрена система подписок на события. В зависимости от событий, происходящих в 1С (проведение, отмена проведения и пр.), обновляются данные в iSales. Например, если документ отменён, он загружается в iSales со статусом «Отмена», а система подтверждает успешную обработку.
  • Задолженности. Настроена выгрузка задолженностей в iSales в разрезе каждой реализации, что позволяет оперативно отслеживать дебиторку.

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

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

Что изменилось — и что это дало бизнесу

Благодаря комплексному подходу заказчик получил современную автоматизированную систему обмена данными между 1С:УТАП и iSales, что позволило:

  • исключить ошибки ручного ввода и несвоевременное обновление данных, повысить точность и актуальность информации;
  • ускорить процесс оформления заказов торговыми представителями за счёт оперативного получения информации об остатках и ценах;
  • повысить эффективность взаимодействия с производителем за счёт соответствия требованиям по обмену данными.

Работаете с 1С и сталкиваетесь со сложной интеграцией и другими нестандартными задачами?

Мы умеем решать такие кейсы и готовы подключиться. Оставьте заявку на консультацию, чтобы обсудить вашу задачу и подобрать решение, оптимальное для вашей компании.
Кейсы
Обсудить ваш проект