Разные системы, разные правила, один дистрибьютор — и десятки точек продаж, зависящих от актуальных данных. Вот как мы справились с задачей интеграции 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С для их дальнейшей обработки и реализации.
Производитель делит клиентов на 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С:
Основная сложность заключалась в сборе и формализации требований заказчика. С одной стороны, существовали рекомендации по разработке и архитектуре от производителя, с другой — особенности бизнес-процессов дистрибьютора. При этом единой точки информации внутри компании не было. Для уточнения алгоритмов, концепции выгрузки данных и других ключевых аспектов нам нужно было тесно взаимодействовать с различными заинтересованными лицами.
Дополнительные технические сложности были связаны с тем, что обработка работает на специфическом технологическом стеке, требующем нестандартной конфигурации окружения. Для обеспечения стабильной работы мы настроили отдельный сервер, организовали туннель для обмена данными и обеспечили доступ к необходимым библиотекам.
- Номенклатура. Особенность заключается в том, что в 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С и сталкиваетесь со сложной интеграцией и другими нестандартными задачами?
Мы умеем решать такие кейсы и готовы подключиться. Оставьте заявку на консультацию, чтобы обсудить вашу задачу и подобрать решение, оптимальное для вашей компании.
- исключить ошибки ручного ввода и несвоевременное обновление данных, повысить точность и актуальность информации;
- ускорить процесс оформления заказов торговыми представителями за счёт оперативного получения информации об остатках и ценах;
- повысить эффективность взаимодействия с производителем за счёт соответствия требованиям по обмену данными.
Работаете с 1С и сталкиваетесь со сложной интеграцией и другими нестандартными задачами?
Мы умеем решать такие кейсы и готовы подключиться. Оставьте заявку на консультацию, чтобы обсудить вашу задачу и подобрать решение, оптимальное для вашей компании.