Обработка битрикс – Описание одной интеграции 1С и Битрикс, и почему я не рекомендую своим клиентам использовать такую интеграцию

Содержание

1С-Битрикс — Функциональность интеграции

Публикация товарных предложений

Функциональные возможности:

1) Выгрузка на сайт списка номенклатуры товаров:
  • пользовательских каталогов товаров;
  • остатков в разрезе складов;
  • разделов и подразделов номенклатуры;
  • товарных позиций с привязкой к разделам;
  • ценовых предложений по товарным позициям;
  • суммарного остатка товаров на складах;
  • характеристик товаров
  • изображений товаров.

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

2) Выгрузка на сайт только измененных позиций с момента последней выгрузки.

3) Определение разделов сайта, в которые будут выгружены разные группы номенклатуры

4) Индикация в 1С процесса выгрузки, контроль ошибок.

5) Запуск сеансов выгрузки в указанное время по расписанию.

6) Real time: обмен данными с «1C» в режиме реального времени.

7) Выгрузка информации о контрагентах на сайт интернет-магазина из 1С.

  • Выгрузка офлайн-заказов из 1С
  • Возможность автоматического создания оплат в 1С, если заказ оплачен
9) Обмен отгрузками  *

* Скоро будет!


Модели применения интеграции:

1) Полное управление каталогом товаров в 1С

В «1С:Управление торговлей» вы полностью управляете:

  • Перечнем номенклатурных позиций
  • Типами цен и прайс-листом
  • Описательной составляющей: описания, изображения, свойства

Сайт при этом повторяет структуру справочника номенклатуры (выбранных разделов) и предоставляет посетителям данные в соответсвующем шаблоне дизайна.

2) Совмещенное управление каталогом товаров в 1С и на сайте

В «1С: Управление торговлей» осуществляется управление:

  • Перечнем номенклатурных позиций
  • Типами цен и прайс-листом

В «1С-Битрикс: управление сайтом»:

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

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

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

Обработка заказов

Функциональные возможности

  1. Передача с сайта в 1С полной информации о совершенных заказах в Интернет-магазине.
  2. Детальная настройка условий, по которым происходит передача заказов в 1С.
  3. Передача в 1С полной информации о заказе (контрагент, состав заказа, информация об оплате и доставке, статус и т.п.).
  4. Обратная передача на сайт информации о заказе в случае его изменения в 1С.
  5. Запуск сеансов обмена в указанное время по расписанию.

Модели обработки заказов:

Функционал интеграции поддерживает три основные бизнес-модели по обработке заказов интернет-магазина.
1) Обработка заказов на сайте интернет-магазина

Работа с заказом производится полностью в административном интерфейсе «1С-Битрикс: Управление сайтом»

. Состояние заказа отражается в его статусах, переход между которыми происходит по наступлению соответствующих событий (оплата, доставка и т.п.).

Управление заказами в интернет-магазине

После того, как заказ полностью отработан (переведен в некоторый финальный статус), происходит передача его в 1С.

2) Обработка заказов в 1С

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

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

3) Смешанный вариант обработки

Гибкая настройка параметров обмена заказами позволяет организовать различные комбинированные схемы, когда часть операций производится на сайте, а часть в 1С.

Можно выполнять частичную обработку заказов на сайте (например, прием заказа и его уточнение у покупателя), а когда заказ переходит в заданный статус передавать его в 1С.

Можно выполнять раздельную обработку заказов для различных вариантов оплаты. Например, заказы с оплатой с помощью платежных систем будут обрабатываться на сайте, а с оплатой безналичным расчетом – в 1С. Выполнение действий по доставке также может отражаться как на сайте, так и в 1С для различных условий заказа.

В результате интеграция позволяет автоматизировать практически любой бизнес-процесс обработки заказов интернет-магазина!


Описание одной интеграции 1С и Битрикс, и почему я не рекомендую своим клиентам использовать такую интеграцию

Сроду такого не было, и опять то же самое.

В.С. Черномырдин.

Я уже говорил об обмене данными между программными продуктами семейства 1С и Битрикс-сайтами в статье Интеграция программного обеспечения. Описание процесса от бизнес консультанта. Но тогда я рассказал исключительно об общих принципах работы. В другой статье я написал о проблемах 1С и Битрикса.

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

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

Именно с такой проблемой ко мне обратился не так давно клиент, представитель веб-студии. Вот так выглядело его предложение о сотрудничестве:

Здравствуйте! Нужно срочно доделать синхронизацию сайта и 1С, точнее – выполнить выгрузку товаров, цен и фото из 1С 8.3 (последняя версия) на сайт. Помощь нужна срочно, если вы свободны, напишите мне, как с вами связаться, чтобы рассказать о проблеме подробнее. Заранее благодарен

Как и многие коллеги, я также зарегистрирован на фриланс-биржах, а потому подобные запросы меня не удивляют. Время у меня было свободное. И хотя пришел этот запрос далеко за полночь, я все же решил взяться за эту задачу.

Как я и предполагал, сайт оказался на Битрикс. Заказчик предоставил мне удаленный доступ, обрисовал суть проблемы и я приступил к работе.

Итак, исходные данные следующие:

  1. Имеется 1С Управления торговли. По словам клиента – последняя версия
  2. Перестала работать интеграция. Сразу после обновлений.
  3. Клиент утверждал, что обновился полностью.
  4. Битрикс последней версии
  5. Что делать?! Все пропало
Шаг первый. Версия конфигурации

Первое, что я делаю всегда, это проверяю информацию, которую мне предоставляет клиент. А в случае с 1С – обязательно самостоятельно проверяю текущую версию.

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

Естественно, что я сообщил об этой ошибке клиенту, после чего самостоятельно установил обновления. Конфигурация обновилась. Интеграция так и не заработала.

При работе с 1С всегда перепроверяйте версию платформы и конфигурации! Это очень важно!
Напомню, что в Управлении Торговлей 11 заявлен стандартный модуль обмена данными между УТ.11 и Битрикс. Это стандартный встроенный модуль, который должен работать без каких-то дополнительных настроек. Но в моем случае после обновлений он так и не заработал. При запуске обмена просто не происходило ничего.

Шаг второй. Проверка платформы

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

Проверяйте актуальность всех релизов самостоятельно!

В моем случае с платформой было все в порядке, релиз оказался последним, номер 8.3.5.1248, который вышел 31.10.14. (кстати пока я писал эту статью вышло еще одно обновление платформы ).

Итак, версии платформы и конфигурации в порядке, но обмен не работает.

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

Шаг третий. Проверяем целостность базы данных

Так, первым делом я отправился на сайт Битрикс. Я перешел на следующую страницу:

http://1c.1c-bitrix.ru/ecommerce/download.php

Из таблицы, которая там представлена, я сделал вывод, что моя конфигурация точно соответствует версии модуля обмена.

Как и многие коллеги в подобной ситуации, я обратился за помощью к Интернету. На одном из форумов (mista.ru) я нашел информацию о том, что если не идет какой-то из видов обмена, обязательно нужно исключить из перечня возможных проблем нарушение целостности структуры базы данных. Для того чтобы выполнить это действие, в 1С существует встроенный инструмент: тестирование и исправление базы данных.

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

Шаг четвертый. Специальный модуль: поможет ли альтернативное решение?

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

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

Мой файл после скачивания назывался так:

4.0.5.1_ UT_11.1.2(3).zip

Таким образом, оказывается, я как минимум четвертый человек, который пытался решить эту проблему и скачивал этот модуль.

Далее я все же установил этот модуль. В архиве к нему идет небольшая брошюра, что оказалось очень кстати. Но самая версия файла мне не давала покоя. И я решил спросить у клиента, какой я по счету? В ответ услышал, что я уже 5 или 6 специалист, который пытается решить эту проблему.

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

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

Первое, что я увидел, это явные отличия модуля от стандартного варианта обмена от 1С, который должен работать. Очень неудобно было работать с непривычным интерфейсом.

Кроме того, все эти действия не принесли никакой пользы.

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

После попыток установить дополнительный модуль, я обратил внимание на такую надпись вверху экрана:

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

Кроме того, очень внимательно нужно следить за выбором модуля. Лично я поначалу запутался в этих модулях для России:

В общем, что я получил в итоге всех действий и проверок:

  • Есть обмен стандартный, который выходит в 1С. Он не работает.
  • Есть модуль обмена данных «Для России». Он также не заработал.
  • Внизу есть еще один модуль обмена. Но и он не работает.

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

Что меня еще сбило с толку. Если вы нажмете кнопку «Требования 1С», то увидите такую таблицу:

1c.1c-bitrix.ru/ecommerce/require_1C.php

Здесь также приходится угадывать, что и как скачивать.

Новый модуль обмена: особенности установки

Итак, я все же скачал новый модуль обмена и внедрил его в Управление Торговли. Естественно, при этом я снял конфигурацию с поддержки. Как ни странно, но факт:

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

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

Не забывайте делать Backup!

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

Итак, я внедрил новый модуль, все проверил, все сделал аккуратно и точно. В результате – обмен не работает.

Появляется следующая ошибка:

Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка СУБД:
Ошибка SQL: Несовместимые типы в выражении
по причине:
Ошибка SQL: Несовместимые типы в выражении

Что это значит? О чем говорит данная информация? Мне было не понятно.

Для начала я решил просмотреть отладчик. На поиск этой ошибки я потратил около получаса и не нашел вообще ничего. Честно говоря, тогда у меня закрались сомнения, что я вообще справлюсь с поставленной задачей.
Я пошел искать больше информации по теме.

И нашел форум, на котором наткнулся на такую ветку:

http://dev.1c-bitrix.ru/community/forums/forum26/topic19114/?PAGEN_1=65

Информацию об ошибке я благополучно нашел на 65 странице темы.

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

Конечно, я перешел по ссылке от модераторов, и там уже узнал, что проблема заключается в платформе.

Разработчик об этом писал следующее:

Наш модуль обмена сейчас несовместим с платформой 8.3.5.1248. В этой платформе, похоже, изменили что-то нехорошее. Для того, чтобы модуль заработал — нужно заменить строчки кода:
|КОГДА ВариантыКомплектацииНоменклатурыТовары.Характеристика ЕСТЬ NULL
|ТОГДА «»»»

На
|КОГДА ВариантыКомплектацииНоменклатурыТовары.Характеристика ЕСТЬ NULL
|ТОГДА НЕОПРЕДЕЛЕНО
В следующей версии модуля будут внесены соответствующие изменения.

Что это значит?

Администратор сайта 1С Битрикс практически признал, что ошибка находится в платформе 1С.

После того, как я нашел эту информацию, ошибка была исправлена и обмен, в общем, заработал. Но конкретно все — нет.

При выгрузке мы обнаружили, что фото и номенклатура передаются, а цены – нет. К счастью, что делать с этой проблемой, я уже знал. На стороне Битрикс, хоть он, казалось бы, и не работает при обмене, надо провести одно изменение, а именно – в справочнике с ценами поставить галочку «Доступен внешним пользователям».

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

Что получилось в итоге?

Задача была решена успешно. Мы с клиентом все настроили, обмен данными начал работать так, как и должен. Мы отработали со стороны 1С, специалист по Битрикс настроил работу с данными со своей стороны. В результате потребовалось 3 часа напряженной работы.
На что было потрачено это время?

Каждое действие требует определенных временных затрат. Обновления занимают от 10 до 15 минут, индексация и исправление базы данных – 40 минут, каждая попытка обмена – от 15 до 18 минут (если запускать полный обмен).
В результате мы потратили очень много времени для того, чтобы заново настроить то, что прекрасно работало перед обновлением конфигурации и платформы 1С.
Выводы

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

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

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

Что получается в итоге:

Нам нужно выгружать доработанные нашими силами справочники и данные в типовом виде.
Таким образом, имеем явное противоречие. Конечно, проблему мы обязательно решим и в этот раз, и в другой. Здесь важно понимать, что подобные накладки и противоречия – постоянные спутники каждого, кто занимается интеграцией 1С и Битрикс.

Если вы решились применять типовой обмен

Первое, что вам нужно понимать, что обмен, который вам предлагают, универсален, а потому сам модуль очень сложен. Кроме того, даже на этой странице v8.1c.ru/edi/edi_stnd/90/92.htm вы увидите, что имеется несколько версий этого обмена, причем, они регулярно меняются. А для полноценной настройки работы подобного обмена и, тем более, для доработки его под ваши потребности, вам придется очень четко понимать, как он работает.

Для примера:

Формат выгружаемых данных из УТ 11.1.9.56

Формат выгружаемых данных из УТ 11.1.9.56 с помощью модуля от Битрикс:

То есть имеем несогласованность форматов выгрузки от 1С и Битрикса для одной и той же версии платформы и конфигурации.

Взаимодействие продуктов 1С и 1С-Битрикс реализуется на базе процедур двунаправленного обмена данными. Обмен данными выполняется с использованием основанного на XML открытого Стандарта обмена коммерческой информацией – CommerceML 2.0.

Если вы почитаете, что представляет собой CommerceML 2.0, вы так же, как и я, поразитесь тому, насколько этот стандарт сложен по сравнению с другими. Даже просто описание, т.е. сам файл схемы описаний в формате txt занимает 107 килобайт!

И любая ваша ошибка, скорей всего, окончится тем, что обмен вообще перестанет работать.

При использовании типового обмена вы вынуждены «подсаживать» и себя и клиента на постоянный мониторинг изменений, которые происходят как на стороне 1С, так и на стороне Битрикс. При каждом обновлении вы рискуете потерять все изменения, которые вносили в обмен. В итоге, вы получите сложный, очень «глючный» и работающий практически независимо от вас механизм. А если к этому добавить еще и постоянные обновления 1С и Битрикс, то вместо работающего обмена вас ожидает постоянная «головная боль».

Как делать интеграцию?

Я уже давал этот совет и дам еще раз: обмен нужно писать самому. Кроме интеграционных механизмов, у вас может возникнуть и другая проблема: сам модуль опирается на определенным образом заполненные данные. И эти правила также могут меняться и регулярно меняются.

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

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

Если вы хотите все-таки использовать типовой модуль, последовательность ваших действий должна быть такой:

  1. Проверили версию платформу
  2. Проверили версию конфигурации
  3. Проверили версию модуля.
  4. Проверили все базы данных, убедились, что данные подхватываются.
  5. Проверили соответствие версий 1С Битрикс и программного продукта 1С.
  6. Проверили целостность баз данных, если они файловые.

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

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

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

Предприятие и почему она стала массовой. Часть 3 / 1С-Битрикс corporate blog / Habr

В завершающей части рассказа о нашей реализации интеграции интернет-магазина 1С: Битрикс с системой 1С: Управление торговлей, хотелось бы рассказать о решении бизнес-задачи по обмену данными по заказам покупателей.



Напомню суть предыдущих топиков на эту тему:

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

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

Ну что же, теперь в нашем интернет-магазине мы имеем каталог товаров, выгруженный из 1С, и теперь товары нужно продать клиенту с точки зрения самого процесса обработки заказа.

Добавив товар в корзину, клиент перешел к форме оформления заказа для заполнения реквизитов.

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

Что делать теперь? Конечно, «обработать заказ». Но где его обработать — на сайте или в 1С? Ведь у нас интеграция. Необходимо выбрать бизнес-модель обработки заказов, а таких моделей в общем случае три:

Обработка заказов непосредственно на сайте

Используются возможности административной части CMS по управлению заказами. Объективно говоря, такие возможности в системе 1С-Битрикс: Управление сайтом очень широкие и достаточны для большинства магазинов:
— поиск заказов по фильтру
— просмотр данных по заказу,
— редактирование заказа (контактных данных, состава заказа, ),
— неограниченное число статусов заказов и различные полномочия пользователей по работе с каждым из статусов
— печать документов и многое другое

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

Если есть 1С, то когда заказ уже обработан, деньги получены, заказ доставлен — заказ хотят выгрузить в 1С, для отчетности.

Обработка заказов в 1С

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

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

В этом случае вся обработка ведется в единой системе, в которой хранится номенклатура, складские остатки, резервы и так далее. Это, безусловно, также очень удобно.

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

Смешанная модель

Иногда требуется организовать различные комбинированные схемы, когда часть операций производится на сайте, а часть в 1С. Можно выполнять частичную обработку заказов на сайте (например, прием заказа и его уточнение у покупателя), а когда заказ переходит в заданный статус передавать его в 1С.
Реализация бизнес-моделей в интеграции 1С и 1С-Битрикс

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

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

Первая часть настроек интеграции по заказам находится в общих настройках интеграции с 1С, на вкладке «Заказы» (вкладку «Каталог» мы рассмотрели в предыдущей части, она касалась импорта товаров).

Здесь указываются:

  • Сайт, заказы с которого выгружаются в 1С. На одном движке может быть несколько магазинов и нужно уточнить, с которого именно отдавать заказы по запросу 1С
  • Группы пользователей, которым разрешена загрузка — права пользователя под которым 1С будет забирать заказы
  • Использовать zip-сжатие — как и в передаче товаров, позволяет уменьшить объем передаваемого трафика, хотя для списка заказов это дает не столь большую выгрузку
далее параметры, влияющие на бизнес-процесс:
  • Выгружать только оплаченные заказы
  • Выгружать только заказы с разрешенной отгрузкой
  • Выгружать заказы начиная со статуса
По сути тремя этим параметрами клиент выбирает модель работы магазина. Или заказы, сразу с первого статуса попадают в 1С, и тогда вся их обработка производится именно в 1С. Или вся обработка производится в магазине, а выгрузка происходит на финальном статусе. Или выбирается какой то смешанный вариант.
Выгрузка только оплаченных или только заказов с разрешенной отгрузкой — жестко ограничивает выгрузку заказов по флагам «оплачен» и «к отгрузке», вне зависимости от статуса. Ведь статусы — вещь пользовательская, и они могут быть не связаны с этими флагами.
Настройки на стороне 1С

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

Процесс сохранения заказа включает несколько шагов:

  • Идентификация контрагента (поиск среди существующих или создание нового)
  • Идентификация заказанных позиций (поиск в справочнике номенклатуры или создание новых)
  • Создание и проведения документа «Заказ клиента»
  • Идентификация статуса заказа и установка статуса документа «Заказ клиента»
Для того, чтобы включить интеграцию по заказам, необходимо поставить галочку на вкладке «Основные настройки» и появится специализированная вкладка настроек.

Напомню, что на вкладке «Основные настройки» можно настроить интервал обращения 1С к сайту. Например, заказы можно забирать каждые 5 минут.

На вкладке обмен заказами настраиваются:

1) Способ идентификации контрагентов.

Данная настройка управляет алгоритмом поиска контрагента с сайта среди уже существующих контрагентов в 1С. Сегодня на выбор дается 2 способа идентификации — по наименованию (обычно для физ.лиц) и по комбинации ИНН+КПП для юрлиц. В ближайшем времени планируем добавить еще один вариант идентификации — по ID пользователя сайта (наименование для крупных магазинов все же может повторяться).
Если контрагента найти не удалось, создается новый.

2) Параметры создания новых элементов справочника «Номенклатура»

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

На вкладке «Дополнительно» указываются параметры проведения документов в 1С, включая отмену заказов, и важная настройка — «Соответствие статусов заказов»:

Как и на стороне сайта, 1С тоже может устанавливать статус документа «Заказ клиента» по данным статуса заказа на сайте. Например, если заказ на сайте подтвержден, то в 1С он автоматически получает статус «Согласован». Это удобно.

Экспорт заказов из 1С на сайт

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

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

Схема работы 1С такая. Если заказы, загруженные с сайта, были изменены, то в ближайший сеанс обмена 1С выгрузит эти изменения на сайт (также в формате CommerceML), а сайт примет их и обновит информацию по заказам.

Еще один случай изменения заказа в 1С — это изменение его статуса. Бухгалтер получил оплату и сформировал платежное поручение, заказ теперь стал оплаченным и на сайте нам также нужно изменить статус. В настройках модуля «интернет-магазин» на сайте есть еще 2 параметра:

то есть сайт автоматом изменит статус заказа при получении данных от 1С по оплате и(или) отгрузке. А на изменение статуса можно «повесить» обработчик, отправить сообщение клиенту (по email или sms).

Итого: интеграция задачу информирования покупателя, несмотря на то, что обработка заказа происходит вне сайта.

Дополнительные возможности интеграции

Все настройки интеграции с 1С со стороны сайта на 1С-Битрикс, которые мы рассмотрели — являются всего лишь дефолтными настройками по умолчанию, которые относятся к дефолтному скрипту интеграции http://<ваш_сайт>/bitrix/admin/1c_exchange.php.

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

Это компоненты «bitrix:catalog.import.1c» и «bitrix: sale.export.1c». Они доступны прямо в визуальном редакторе. Вы можете создать свой собственный скрипт интеграции с индивидуальными настройками. Делается все элементарно:

1) Создать страницу на сайте, можно прямо в визуальном редакторе (можно сделать единый URL и для товаров и для заказов, как в дефолтном интерфейсе, а можно и разные)
2) Разместить на странице компоненты обмена с 1С настроить необходимые параметры

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

Но и это еще не все.

Компоненты «catalog.import.1c» и «sale.export.1c» являются обычными компонентами 2.0 платформы 1С-Битрикс. Их можно кастомизировать типовыми приемами, либо вообще вынести в свое пространство имен и произвольно изменить их исходный код.

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

Одним словом, мы даем возможность не только создать свои настройки интерфейса, отличные от умолчательных, но и вообще изменить свой интерфейс.

Используя данную возможность, можно реализовать обмен и с другими продуктами 1С (естественно при наличии механизма интеграции на той стороне), или с продуктами других вендоров.

Общие выводы по интеграции:

Подведем итоги трех постов по этой теме.
  1. Реализован готовый механизм интеграции между 1С и интернет-магазином, который позволяет из коробки решить большое количество типовых задач клиентов по выгрузке каталога и обмену заказами
  2. Есть возможность гибкой настройки интеграции как со стороны 1С-Битрик: Управление сайтом, так и со стороны 1С: Управление торговлей, чтоб подстроиться по специфику бизнеса клиента
  3. Представляются возможности по кастомизации и доработке функционала интеграции
  4. Обмен данными производится с использованием открытого XML-стандарта CommerceML
  5. Протокол обмена данными максимально упрощен, использует HTTP(S) и учитывает типовые ограничения хостеров на работу скриптов сайта
  6. Архитектура интеграции максимально защищает 1С: Предприятие от угроз из Интернета, инициатором обмена всегда выступает 1С, а сайт всего лишь отвечает на запросы
В целом мы считаем, что мы достигли тех целей, которые стояли перед нами в самом начале.

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

Мы имеем очень сильную обратную связь с клиентами и партнерами. В составе службы поддержки есть тех.специалисты по продуктам 1С, что позволяет совместно с разработчиками 1С-Битрикс решать сложные вопросы, которые часто находятся на стыке систем. Все пожелания фиксируются и разумные предложения обязательно реализовываются.

Совместно с компанией 1С мы не создали какую-то закрытую архитектуру интеграции и обмена данными, а наоборот, постарались сделать ее удобной для использования, открытой для доработок и модификаций, а распространенность такой интеграции среди современных CMS для интернет-магазинов подтверждает то, эта цель была достигнута!

А чтобы читать следующие записи в своей ленте, нажмите «Мне нравится» в профиле компании, и проверьте свою настройку ленты.

1С-Битрикс Разработчикам — Документация по CMS «1С-Битрикс: Управление сайтом»

Документация — это раздел для тех, кто уже пришел к мысли о необходимости ее изучения. Не секрет, что осознание полезности чтения документации перед началом работы с продуктом приходит с опытом. Задавшись вопросом: «Как создать сайт на Битриксе?«, мы, как правило, сначала «тычем пальцем», а потом, когда не получается или когда все переломаем, беремся за документацию. Если вам уже надоели эксперименты с «1С-Битрикс» или если вы по опыту прошлой, «добитриксовой», жизни пришли к мысли «Сначала читаем — потом делаем», то добро пожаловать!

Мы предложим вам полный перечень документов по установке, настройке и интеграции продуктов «1С-Битрикс», а также инструкции по работе с отдельными модулями. Информация справочного характера представлена в API и Пользовательской документации. Информация сценарного характера (как работать с системой и как решить ту или иную задачу) представлена в учебных курсах. И учебные курсы и документация кроме он-лайн версии (постоянно обновляемой) представлена и в виде файлов формата .chm (Windows Help) для изучения в оффлайн.

Список обновлений документации отображается на странице «Что нового?» в режиме реального времени. Кроме этого в блоге отдела документации ежемесячно выводится сводные данные обо всех изменениях и обновлениях.

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

В учебных курсах и документации есть поля для добавления комментариев. С помощью этих полей вы можете сообщить о неточностях в документации.

Роберт Басыров, руководитель отдела документации ООО «1С-Битрикс»

Документация по продуктам:



1С-Битрикс — Модуль «Бизнес-процессы»

Знакомство

Возможности модуля

Модуль «Бизнес-процессы» позволяет работать практически с любым видом информации на сайте. «Бизнес-процессы» — это универсальный инструмент, который используется в самых разных элементах. Это простой, удобный механизм для управления бизнес-процессами, которые происходят в компании и контролируются на сайте.

Бизнес-процесс со статусами

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

Создание бизнес-процессов

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


Последовательный бизнес-процесс

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


Готовые шаблоны типовых бизнес-процессов

Коллективная работа

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

Модуль обладает принципиально новой архитектурой и содержит обширный и значимый функционал. Дизайнер бизнес-процессов включен только в «старшие» редакции «1С-Битрикс: Управление сайтом»: Бизнес и Веб-кластер .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *