Нетривиальная интеграция 1С с сайтом на Битрикс на примере проекта “Группа Товарищей”

Андрей П.
Нетривиальная интеграция 1С с сайтом на Битрикс — это все что не укладывается в стандартный обмен данными.

Сперва давайте разберемся, что такое стандартный обмен. В Битриксе есть встроенный функционал для обмена с 1С, благодаря чему любой обмен должен настраиваться в пару кликов :)

Что умеет штатный механизм обмена

Штатный механизм обмена
  • Импорт каталога товаров из 1С на сайт;
  • Экспорт каталога товаров с сайта в 1С;
  • Экспорт заказов / контрагентов с сайта в 1С;
  • Импорт заказов / контрагентов из 1С на сайт;
  • Импорт справочников из 1С на сайт.
Есть одно маленькое условие для корректной работы механизма обмена — ваша 1С должна быть типовой (а по возможности и сайт), то есть не модифированной. Но даже это не является гарантией успешного обмена.

Признаки нетривиальной интеграции с 1С с сайтом на Битрикс

Признаки нетривиальной интеграции
  • Доработанная под логику бизнеса 1С;
  • Нужные данные не выгружаются на сайт;
  • Нужные данные выгружаются, но не туда;
  • При выгрузке есть ошибки.
Будьте готовы, что доработки потребуется либо со стороны 1С, либо со стороны сайта, а то и в двух системах.

Кейсы по интеграции 1С с сайтом на Битрикс на примере проекта “Группа товарищей”

«ГТ» - это крупный поставщик канцелярских товаров российского рынка, ведущий оптовый оператор и трижды обладатель престижной канцелярской премии «Золотая Скрепка» в номинации «Лучшая национальная торговая компания».

С «ГТ» работают более 3500 компаний в 80 регионах России: оптовые покупатели, корпоративные клиенты, специализированные магазины и крупные торговые сети. Масштаб впечатляет.

Для оптимизации работы с организациями (юридические лица и индивидуальные предприниматели) было принято решение о создании корпоративного интернет-магазина.

Оптовый интернет магазин имеет свои особенности, что отличает его от розничного:
  • Персональные цены;
  • Упрощенная навигация и быстрый поиск;
  • Товары без картинок и подробных описаний;
  • Табличная форма заказа;
  • Оптовые единицы измерения;
  • Заказ по списку;
  • Личный кабинет с платежным балансом счета;
  • “Поговорить с вашим менеджером”;
  • Счета-фактуры, товарно-транспортные накладные, договоры, акты;
  • Интеграция с учетной системой и логистикой.
Эти нюансы обязательно надо учитывать при проектировании.

Кейс 1: Обмен партнерами и контрагентами

Обмен партнерами и контрагентами
Задача:

Что есть в 1С:

Партнеры -> У каждого партнера есть несколько контрагентов -> У каждого контрагента есть несколько договоров, расчетных счетов и адресов доставок, а также информация по остатку и персональному менеджеру.

Что требуется от сайта:

Партнеры из 1С должны формировать пользователей в рамках сайта. При этом регистрация в рамках ресурса должна отсутствовать. У каждого пользователя должна быть возможность переключения между своими контрагентами. При этом у каждого контрагента должна быть своя корзина, свой личный кабинет и свои персональные цены (о ценах в кейсе 2). Договора, р/с и адреса должны использоваться при оформлении заказа, остаток и персональный менеджер должен отображаться в личном кабинете.

Решение:

На стороне 1С:

Потребовалось сформировать соответствующие справочники, которые можно выгрузить штатным механизмом.

На стороне сайта:
  • Программирование формирование пользователей;
  • Программирование переключения между контрагентами и отображения соответствующих им данных;
  • Доработка оформления заказа на основании данных контрагента;
  • Доработка отображения данных контрагента в личном кабинете.
С какой проблемой столкнулись и как решили:

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

Вывод:

Нетиповой интеграции 1С с сайтом на Битрикс требуется дорабатывать обе функционирующие системы. Могут встретиться различные сложности. Главное, чтобы хватило компетенции определить источник проблемы и исправить. Имея большой опыт в разработке и интеграции различных систем, мы делаем это успешно.

Кейс 2: Индивидуальные цены

Индивидуальные цены
Задача:

Что есть в 1С:

У контрагентов есть типовые и индивидуальные соглашения, в которых определены индивидуальные типы цен и скидки.

Что требуется от сайта:

Цены должны соответствовать условиям из соглашений в 1С.

Решение:

На стороне 1С:

Потребовалось сформировать соответствующие справочники, которые можно выгрузить штатным механизмом.

На стороне сайта:

Было придумано решение, которое позволило использовать штатные возможности отображения скидок Битрикса, но их расчет осуществлять с использованием справочников из 1С. Когда вы заходите на страницу с товаром, то его стоимость с учетом скидки неизвестна. Расчет происходит “на лету” из справочника скидок контрагентов и подставляется в нужном месте по технологии Ajax. Это сделано для ускорения отображения страницы за счет возможности создания ее кэша (готовых страниц).

С какой проблемой столкнулись и как решили:
  • Сортировка товаров по цене. Так как цены со скидкой “прилетают” после загрузки страницы, то корректная сортировка возможна только после их получения. В данному случае применимо решение с небольшой погрешностью. Товары можно отсортировать по стоимости без применения скидок, а в рамках страницы уже с учетом скидок после их получения. Погрешность будет наблюдаться именно на стыке страниц при постраничной навигации.
  • “Умный” фильтр. Использование “умного” фильтра в Битрикс основано и возможно по присвоенному контрагенту типу цены без скидок. Для учета скидок потребуется данный инструмент прилично доработать, что может быть неоправданно затратно.
Какие варианты для выгрузки индивидуальных цен были также рассмотрены:
  1. Рассчитывать цены на стороне 1С с учетом скидок. Выгружать их в виде типов цен для контрагента на сайте. Там предполагается 2000 - 3000 контрагентов, что равносильно 2000 - 3000 типам цен. Редактирование товара с таким количеством типов цен на стороне сайта становится невозможным, так как страница редактирования просто зависает или выдают ошибку о нехватке памяти. При этом открытие страницы с “лица” сайта со списком товаров осуществляется за 20 - 30 секунд, что также неприемлемо.
  2. Рассчитывать цены на стороне сайта с учетом скидок в специальную таблицу. Потом выводить цены уже исходя из нее. Расчет цен для одного контрагента для всех товаров на стороне сайта с использованием сервера заказчика составляет 20 секунд. Для 2000 - 3000 - это уже 11 ~ 17 часов. С учетом изменения и выгрузок скидок каждые 20 - 30 мин, получаем нерабочий вариант.
Вывод:

Индивидуальные цены на сайте - достаточно сложная задача. Учитывая ограниченность возможностей технических ресурсов и используемых трудозатрат, ее решение не будет идеальным. Мы решили данную задачу вышеописанным способом. Если у вас есть интересное решение, то можете поделиться им в комментарии.

Заключение

В проекте “Группа Товарищей” были достигнуты следующие бизнес-результаты:
  • Компания начала работать с клиентами быстрее, лучше, эффективнее и напрямую;
  • Автоматизированы рутинные операции (все заказы попадают напрямую в 1С).
Это стало возможным за счет наших интеграционных компетенций:
  • Проектирование крупных информационных систем;
  • Разработка на Битрикс;
  • Разработка высоконагруженных проектов;
  • Интеграция 1C с сайтом на Битрикс и другими системами;
  • Создание интернет-магазинов с адаптивным дизайном.
Если вы четко видите цель, оставьте заявку на обсуждение интеграционного проекта.

Вам может быть интересно:

Умный фильтр 1С-Битрикс
Оцените статью
25.10.2017
Понравилась статья?
Поделитесь ссылкой с друзьями и коллегами!

Статьи по теме

07.03.2023
Дорожная карта внедрения платформы автоматизации оптовых продаж Про построение эффективных отделов продаж написано много крутых статей. Одни эксперты готовы сделать это за 10 шагов, другие предлагают многоэтапную эволюц...
16.02.2023
Как начать B2B-продажи онлайн - особенности и методы оптовой торговли После пандемии рынок e-commerce начал стремительно расти. Мы говорим не только о B2C, но и о B2B-сегменте. Многие крупные компании уже разглядели потенциал...
10.01.2023
Как битриксоиды в React уходили Приятно познакомиться, мы битриксоиды. Да-да, те самые которые: вообще не модные, пишут НЕ на Laravel и Symfony, ...
10.01.2023
Товарная дистрибуция 30 лет спустя. Как программисты изменили продажи крупного бизнеса «Я думал, что буду строить банк, а на самом деле построил ИТ-компанию» Олег Тиньков, безработный Есть такая штука — товарная дистри...
10.01.2023
Как мы решили выпускать собственный продукт через CustDev и у нас получилось Собственный продукт как фиксация компетенции  В развитии крупных компаний-аутсорсеров наступает момент, когда они уже обросли опытом и компетенциями ...
19.12.2022
Учимся настраивать свою почту, не наступая на чужие грабли: Postfix + msmtp + сайт Привет, меня зовут Никита, я backend-разработчик в компании ИНТЕРВОЛГА. Работаю в компании уже 3 года, и за этот срок достаточно часто мне приходилось вози...

Мы работаем по одному из двух форматов:

  • аренда команды (от 2 человек, не менее 3 месяцев);
  • итерации с фиксированной ценой (1-3 месяца длительностью).

ИНТЕРВОЛГА предоставляет:

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

Для доработок и развития мы предлагаем формат 100 часов в месяц. Что можно сделать за это время:

  • новые нетиповые страницы или раздел;
  • 2 отчета с индивидуальными настройками;
  • 3-5 веб-сервисов интеграции;
  • замудренный калькулятор и т.п.

Поддержка «чтобы все работало как часы» стоит 45 тысяч рублей в месяц и описана тут.

Хочешь получать лучшие статьи от INTERVOLGA раз в месяц?
Подпишись на рассылку — спамить не будем