Интеграция сайта с 1С: детали и подробности

Мой рассказ тесно связан со статьями нашего руководителя Степана Овчинникова про особенности каталога товаров на сайте:
Советую с ними ознакомиться — это база, для тех, кто не хочет потерять время и деньги при создании интернет-магазина.

Что такое интеграция каждый понимал по-своему

Для начала давайте разберемся что подразумевает слово «Интеграция». Это некое взаимодействие, но вот какое? Разработчики и заказчики частенько забывают обсуждать объем интеграции заранее и в результате наживают себе проблемы. В типовом случае это взаимодействие на основе обмена товарами и/или заказами. Также может возникнуть необходимость периодически делать не полный обмен (загрузить на сайт 30 000 товаров - это около 1 часа времени и огромный расход ресурсов), а инкрементальный (частичный).
  • Первый и самый простой вариант интеграции — выгрузка товаров из 1С на сайт.
  • За ним следует вариант чуть посложнее — выгрузка товаров из 1С на сайт и загрузка в заказов с сайта в 1С.
  • И заключительным кругом ада является выгрузка товаров и двусторонний обмен заказами . Этот вариант наиболее сложен и дорог в разработке , т.к. требует глубокой проработки всех возможных коллизий (как быть, если статус заказа изменен и на сайте и в учетной системе одновременно?).

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

Дальше я расскажу о разных вариантах развития событий по увеличению сложности и соответственно цены.

Типовая интеграция

Если есть модуль для обмена 1С с Вашей учетной системой и его возможности Вас полностью устраивают - Вы счастливчик. Такой вариант интеграции разработчики часто называют "Типовой" и стоит он сравнительно недорого. Осталось только настроить взаимодействие и наслаждаться жизнью. 

Для интеграции 1С-Битрикс редакции "Малый бизнес" есть модуль для обмена с 1С следующих редакций и версий:

  • Управление Торговлей 11.X.X.X
  • Управление Торговлей 10.3.18.3
  • Управление Торговлей 10.3.16.1
  • Управление Торговлей 10.3.14.5
  • Управление Торговлей 10.3.13.2
  • Управление Торговлей 10.3.12.13 

Для всех версий кроме 11 необходимо  скачать  этот модуль и установить в 1С.
Однако, если Ваша 1С дорабатывалась под Вашу специфику такая установка может в принципе не пройти. Тут сценарий действий тот же, что в пункте  "Нетиповая интеграция - когда есть модуль обмена для другой версии учетной системы"

Нетиповая интеграция - когда не хватает обычного обмена

Модуль есть, но его возможностей не хватает? Не хватать совершенно разных возможностей. Единого рецепта нет и к каждой "хотелке" нужен свой подход. Решение большинства таких требований зависит от программиста Вашей учетной системы (или того, кто оказывает Вам техническую поддержку по ней). Ниже несколько примеров таких дополнительных возможностей, которые нам приходилось делать совместно с программистами 1С.

Пример 1. Разные структуры каталогов на сайте и в учетной системе?
Решается данная проблема заведением справочника "Каталог на сайте". У товаров создается свойство "Группа на сайте", которое для всех товаров нужно проставить (конечно если эти товары будут выгружаться на сайт).
После этого остается единственный шаг: доработать модуль обмена таким образом, чтобы вместо структуры каталога номенклатуры модуль обмена выгружал структуру из справочника "Каталог на сайте". А дальше будет работать все тот же типовой процесс обмена.
Должен оговориться, что существуют примеры когда можно решить эту проблему на стороне сайта, но это потребует периодически заходить в панель управления сайтом и выполнять сопоставления групп 1С и сайта, а учиться как это делать желающих нет.

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

Пример 3. Хочется, чтобы на сайте товары имели осмысленные названия, а не те, что в учетной системе?
Обычно при этом всегда выдвигается требование "не трогать существующие названия", т.к. бухгалтера к ним привыкли. Я с этим требованием не согласен (исходя из опыта), но куда деваться. Решается заведением у товаров характеристики "Название на сайте" и доработкой модуля обмена на стороне 1С.

Нетиповая интеграция - когда есть модуль обмена для другой версии учетной системы

Модуль есть, но он для другой версии 1С либо Ваша 1С дорабатывалась? 

При установке модуля обмена для 1С другой версии либо установке в доработанную 1С гарантированно возникнут проблемы. Если у Вашей 1С занимается грамотный специалист - он устранит эти проблемы, а если нет - то советуем искать другого. Каким бы ни было решение, результат один - несколько дней на установку модуля и вылавливание ошибок.

В качестве крайней меры можно посоветовать следующее решение: рядом с Вашей 1С установить ближайшую по версии 1С, для которой есть модуль обмена. В эту "чистую" 1С модуль обмена установится без проблем. Однако есть и темная сторона: Вашему 1С специалисту потребуется написать программу (они называют их "обработками"), которая будет копировать товары из Вашей 1С в "чистую". При такой схеме обмена на обмене заказами можно ставить крест, но это хоть что-то.


Нетиповая интеграция - когда модуля обмена нет

Модуля обмена для Вашей учетной системы нет. Этот вариант включает в себя и интеграцию с 1С любой редакции кроме "Управлени Торговлей" и другие учетные системы, такие как Axapta, и прочие самописные системы.

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

Обмен происходит на основе специальных текстовых файлов формата CSV (таблицы, хранимые в текстовом виде). Разработчик сайта говорит какие данные быть в этих файлах, программист учетной системы делает подпрограмму ("обработку" в терминах 1С) которая генерирует такой файл. После этого файл закачивается на сайт и сайт его импортирует.


Итого

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

В зависимости от конкретной ситуации и потребностей выбирается тот или иной вариант. Я описал лишь основные, а могут быть еще и гибридные. 

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




Комментарии (0)