К интеграции сайта с «1С» чаще всего прибегают владельцы интернет-магазинов. «Подружив» эти системы, они упрощают жизнь и менеджерам, и себе. Как это происходит, кому еще нужна интеграция, и зачем вообще ею пользоваться, рассказываем в статье.
Маленькое уточнение: в этом материале мы разбираем взаимодействие «1С» только с теми сайтами, которые созданы на «Битриксе». Ресурсы на WordPress и некоторых других платформах тоже можно интегрировать с бухгалтерскими системами, вот только делать это трудозатратнее, а потому дороже и дольше. Если вам интересно прочитать об этом подробнее, дайте нам знать в комментариях. А пока вернемся к связке «Битрикс»-«1С».
Что подразумевается под интеграцией?
Когда мы говорим о взаимодействии сайта с «1С», мы подразумеваем двустороннюю передачу данных. Что это значит? Что информация о заказах с сайта и сами товары в одностороннем порядке передаются от стороны «1С». Сайт товары не отдает, а вот заказы, их статусы и складской учет запросто. Происходит это в режиме реального времени.
1С-#Битрикс Ускорение работы сайта на 1С-Битрикс: редакция Бизнес
Стоит менеджеру внести изменения в данные о наличии товара или его цене, как они тут же отобразятся на сайте. Стоит клиенту купить у вас несколько товаров, как информация об остатках тут же появится и на сайте, и в «1С». Никаких лишних движений специалистам делать не придется. В этом и заключается удобство интеграции: менеджеры не тратят время на выгрузку и сверку данных, а владелец компании минимизирует ошибки, вызванные человеческим фактором. Сотрудники не будут говорить, что забыли поменять цены на сайте или выгрузить новые товары, интеграция сайта с «1С» избавит вас от этого.
Процесс передачи данных между системами может быть и односторонним. Например, каталог (а с ним и группы номенклатуры, номенклатура со всеми характеристиками, свойствами и изображениями, остатки и цены) выгружаются с «1С» на сайт. При первой выгрузке каталог сайта автоматически наполняется новыми данными, а потом регулярно синхронизируется с «1С». Аналогично может происходить односторонняя интеграция (назовем ее так для простоты понимания процесса) и в обратную сторону: каталог с сайта можно выгружать в «1С».
Еще один вариант синхронизации — обмен заказами. Когда пользователь оформляет заказ на сайте, в «1С» заводится контрагент и новый заказ, менеджер обрабатывает его, после чего информация об оплате заказа фиксируется на сайте. Как видите, при таком варианте информация импортируется на сайт частично.
Зачем нужна интеграция?
- менеджеры будут видеть информацию о продажах и на сайте, и в «1С»
Если вы пользуетесь «Битрикс» и «1С», не интегрируя их, чтобы узнать оплачен заказ/покупка или нет, придется отслеживать эти данные в «1С», а потом вручную заносить на сайт. Когда у компании не больше десятка продаж в день, работы по переносу информации займут считанные минуты. А как быть крупным корпорациям, которые ежедневно совершают сотни сделок? Спасаться интеграцией.
К слову, маленьким компаниям мы тоже рекомендуем интегрировать программы. Потому что это позволяет освободить менеджеров от лишней бессмысленной работы и минимизирует человеческий фактор.
Обзор CMS Bitrix: Админка, файловая структура, создание страниц и разделов
- менеджеры получают больше актуальной информации
Во время разговора с клиентом специалист тратит ценные секунды, а иногда и минуты на поиск цен, скидок и данных о товаре в «1С». Чем больше требуется узнать, тем больше времени отнимает поиск. Интеграция позволяет ускорить этот процесс. Благодаря ей менеджеры могут увидеть всю информацию о товаре на одной странице «Битрикса».
- руководители могут посмотреть отчеты о доходе, трудозатратах и клиентах прямо на сайте
«1С» позволяет ознакамливаться с отчетами, связанными с финансами и товаром, а интеграция сайта с «1С» — делать это на сайте. Все, что нужно руководителю, просто открыть страницу с интересующими данными и изучить их.
- покупатели смогут отслеживать, что происходит с их заказами
Когда к сайту подключена «1С», клиенты могут в реальном времени посмотреть, поступил ли их заказ в магазин, отправили ли его на доставку, прошла ли оплата. При этом все данные выгружаются на сайт автоматически.
Типовая и нестандартная интеграция
Чем хороши сайты на «Битрикс», так это тем, что настраивать обмен данными с «1С» на них в разы проще, чем на другие. Система разработана с учетом применения такой интеграции, а потому не требует дополнительных «костылей». Для реализации задачи используют стандарт CommerceML, легкочитаемый серверами. Благодаря тому что «Битрикс» заточен под различные интеграции этот процесс занимает немного времени и обходится заказчику вполне бюджетно.
Однако далеко не всегда типовая интеграция удовлетворяет все потребности заказчика или подходит по техническим причинам. Нестандартная интеграция требуется в нескольких случаях:
1. Структура на сайте должна отличаться от представленной в «1С»
2. Между товарами выстроено много сложных связей, которые не отображены на сайте (или, наоборот, в «1С»)
3. Нужен расширенный функционал (например, полная синхронизация контрагентов)
4. Товары размещены нестандартно.
Как осуществляется интеграция «1С» и «Битрикс»?
Первый этап настройки проводят на стороне сайта. Вам необходимо зайти в административную панель «Битрикса», найти вкладку «Магазин», затем выбрать раздел «Настройки», а потом подраздел «Интеграция с 1С». Далее вам откроется окно со следующей информацией:
В него нужно внести изменения в соответствии с вашими потребностями. После завершения настройки необходимо перейти в «1С» и выполнить несколько действий там.
Для начала установить модуль, делающий возможной интеграцию. Найти его можно на официальном сайте «Битрикса». После завершения установки зайдите в «1С», найдите категорию «Администрирование», подкатегорию «Синхронизация данных», а затем вкладку «Узлы обмена с сайтами». Чтобы провести интеграцию, нужно создать новые узлы обмена. Через них системы и будут отправлять данные.
Обязательно дайте узлам названия. Варианты в духе «Узел 1» или «Интеграция» использовать нежелательно. Хотя бы потому что пользоваться узлами с такими названиями будет неудобно. Поэтому обдумывайте названия.
Далее в окне настройки параметров обмена введите путь выгрузки. Он должен выглядеть следующим образом: https:[домен вашего сайта]/bitrix/1c/1c_exchange.php. Если бы Студии ЯЛ понадобилась интеграция «1С» и «Битрикс», мы бы использовали путь /bitrix/1c/1c_exchange.php. После указания пути система потребует от вас ввода имени пользователями и пароля. Когда введете их, проверьте соединение сайта и «1С».
Сделать это можно с помощью кнопки, которая располагается в этой же строке. Затем перейдите во вкладку «Режим обмена данных» и укажите, будете ли вы выгружать товары и данных о них, справочники, заказы, документы, контрагентов, либо только измененные объекты.
Далее отметьте, с какой периодичностью будут обновляться данные в системах. Для удобства рекомендуем выбрать автоматическую выгрузку и прописать время и ее периодичность в разделе «Расписание».
После этого вы можете вернуться во вкладку «Выгрузка товаров» и отметить, что именно вам нужно выгружать и где хранить данные. Следующий шаг — настройка выгрузки каталога. Здесь вам нужно решить, что и как будет выгружаться. Если хотите сделать на сайте структуру товаров отличающуюся от «1С», используйте инструмент под названием «Настройка дерева групп».
После завершения этой кропотливой работы можно проверить ее правильность, воспользовавшись кнопкой «Выполнить обмен данными», размещенной в блоке «Синхронизация данных». При корректной настройке система выдаст нужную вам структуру.
Интеграция сайта с «1С» также включает в себя передачу заказов из одной системы в другую. Настройки по передачи заказов нужно производить на стороне сайта. Для этого требуется снова зайти в административную панель «Битрикса», найти блок «Интеграция», а в нем пункт «Заказы».
Далее у вас есть 3 пути передачи данных (расположили их по мере сложности выполнения):
- Отправлять все заказы в «1С», чтобы их мог обработать менеджер по продажам.
- Выгружать заказы, находящиеся в определенном статусе (его вы можете выбрать сами). Имеет смысл воспользоваться этим вариантом, если на сайте можно оплатить заказ. Тогда к менеджеру будут попадать только оплаченные заказы.
- Создать свой статус заказов (например «Подтвержденный») и отправлять в «1С» только те, которым он присвоен. Сделать это можно в CMS.
В настройке нуждается и выгрузка контрагентов. Выполняется она на стороне «1С» во вкладке «Профили обмена». Нужно определить, какие поля, заполненными покупателями на сайте, будут соответствовать полям, заполненным в платформе.
Последний этап интеграции сайта с «1С» — настройка обмена документами.
Распространенные ошибки при настройке и их решения
Проблема | Ответ сервера | Решение |
обмен не выполнен | ошибка импорта метаданных | переименуйте свойства так, чтобы первым знаком было не число |
при обмене не работает авторизация | — | PHP работает в режиме GGI из-за чего возникают проблемы с передачей данных. Стоит обратиться к системному администратору для активации поддержки mod_rewrite и обработки .htaccess |
медленный импорт данных из «1С» | — | в настройках инфоблока сайта отключите индексацию разделов и элементов, также отключите смену идентификаторов сессии и хранение сессии в базе MySQL |
поле объекта не обнаружено | — | убедитесь, что в настройках интеграции установлены соответствия полей заказа |
ошибка на стороне сервера | неизвестный статус импорта | расширьте память в настройках PHP. Отключите выгрузку картинок во вкладке «Выгрузка товаров» |
Возникла ошибка, не упомянутая в этой таблице? Обратитесь за помощью специалистов в Студию ЯЛ. Мы оперативно решим любую проблему с импортом данных из одной системы в другую и поделимся лайфхаками работы с ними.
Интеграция «Битрикс24» с CRM
Первым делом вам нужно зайти в административную панель сайта и найти в ней раздел CRM. Когда он откроется, вы увидите кнопку «Настроить интеграцию с CRM».
После открытия нового окна потребуется ввести адрес сайта, логин и пароль, используемые администратором. Если данные введены без ошибок, появится следующее сообщение:
Нажимаете на зеленую кнопку с надписью «Настроить параметры и импортировать данные», и для вас открывается окно мастера настройки. Данные в него уже внесены автоматически, поэтому вам остается только проверить их и нажать кнопку «Далее». Затем система предложит вам настроить срок, за который вам необходимы данные, вероятность сделок и их доступность. Как только вы определитесь с выбором, «Битрикс» выполнит первое импортирование данных, он сообщит об этом:
Остается последний шаг — выставить частоту синхронизации данных. И да начнется интеграция!
Разве я не смогу сделать это сам?
Конечно сможете, если речь идет об интеграции не требующей ничего, кроме выбора предлагаемых системой вариантов. А что если после импортирования информации вы понимаете: с полученным неудобно работать? Или вовсе не можете синхронизировать системы без внесения изменений в одну из них? Вот тут-то и понадобятся специалисты. Они не только выполнят интеграцию, но и при необходимости подготовят систему и устранят ошибки в ее работе после импортирования данных.
Как специалисты узнают, что я хочу получить?
Чтобы программисты Студии ЯЛ смогли воплотить в реальность картинку, сложившуюся в вашей голове, опишите ее максимально подробно в брифе. Этот документ помогает избежать недопониманий и потери важной для вас информации, касающейся интеграции «1С» и «Битрикса». Чем подробнее вы описываете свои пожелания в брифе, тем лучше их понимают и выполняют программисты. Что обязательно нужно указать в этом документе?
- версию и редакцию «1С»,
- должна ли структура на сайте соответствовать структуре в «1С»,
- какие параметры нужно синхронизировать и как часто,
- выполнялись ли доработки в «1С».
А что если у вас полно идей, но еще даже сайта нет? Не беда, наш отдел разработки может создать для вас сайт с авторским дизайном (только посмотрите, что творят наши специалисты), интегрировать его с «1С» и другими системами, а также обеспечить непрерывную техническую поддержку. Просто мы умеем!
Если для вас написанное выше не стало открытием, и вы сами вполне себе специалист, то мы с радостью ждем вас в нашей команде: прямо сейчас мы ищем аккаунт-менеджера по разработке сайтов.
Источник: www.yalstudio.ru
Обмен сайта на Битриксе и 1С: настройка выгрузки
В сегодняшней статье затронем очень интересную тему обмен сайта на Битриксе с 1С. Всем понятно, что в настоящее время наличие сайта с номенклатурой изделий – это всего лишь верхушка айсберга в сложной структуре обмена между базой, находящейся внутри предприятия и конечными картинками, которые мы видим на сайте.
Битрикс и интеграция с 1С
[краткий ликбез для начинающих]
Вы разработали интернет-магазин на битриксе. Во время разработки вы создали все нужные свойства и заполнили каталог демо-товарами.
Осталось только загрузить реальный каталог из 1С — это означает, что впереди еще много работы. Придется добиться, чтобы все нужные данные выгружались вообще и выгружались в нужное место. Иначе придется подгонять проект под структуру данных из 1С.
Вопрос интеграции поднимается на каждом более-менее крупном интернет-магазине. Часто разработчикам, не только начинающим, трудно понять, как работает механизм обмена. Полезная информация разбросана по интернету, будет удобно собрать её в одном месте.
Цели статьи
- Коротко изложить основные возможности обмена и его алгоритм работы;
- Дать ссылки на официальные и прочие полезные источники;
- Ответить на частые вопросы;
- Прояснить, с чего начать интеграцию и как ее успешно завершить.
Стандартный обмен между 1С-Битрикс и 1С
В битриксе есть встроенный функционал для обмена с 1С, благодаря чему любой обмен должен настраиваться в пару кликов.
Однако, для этого 1С должна быть “чистой” типовой конфигурации. На деле каждая первая 1С “нетиповая”, то есть модифицирована так или иначе.
Как таковой обмен и правда настраивается быстро и несложно, только часто (почти всегда) на этом дело не заканчивается, так как из 1С выгружаются не все данные или выгружаются не туда (в том числе из-за модификаций в 1С).
Что умеет штатный механизм обмена
- Импорт каталога товаров из 1С на сайт;
- Экспорт каталога товаров с сайта в 1С;
- Экспорт заказов с сайта в 1С;
- Импорт заказов из 1С на сайт;
- Импорт справочников (highload-инфоблоков) из 1С на сайт.
Полезные ссылки
Алгоритм выгрузки данных на сайт
Инициатором обмена всегда выступает 1С, по соображениям безопасности — даже если сайт взломают, атаковать 1C будет невозможно, так как сайт не умеет обращаться к 1С и вообще ничего не знает про нее.
Обмен работает посредством последовательных http GET/POST запросов от 1С к сайту, к скрипту /bitrix/admin/1c_exchange.php.
Обмен состоит из нескольких ключевых этапов
- Авторизация 1с на сайте;
- Загрузка файлов из 1с на сайт;
- Чтение xml файлов во временную таблицу;
- Обработка данных.
Этапы загрузки, чтения и обработки — делаются за множество шагов. Время длительности каждого шага задается в настройках обмена на стороне сайта. На стороне 1С ограничение на длительность шага должно совпадать.
Процесс выгрузки данных из 1С на сайт можно представить в виде следующей схемы
Полезные ссылки
Формат данных для обмена с 1С
1C загружает на сайт xml файлы, и картинки при импорте товаров.
Если включено zip-сжатие в настройках обмена на стороне сайта (по-умолчанию включено), то 1C загружает один архив, иначе все файлы по отдельности.
Формат xml файлов
Информация в файлах структурирована в соответствии со стандартом обмена коммерческой информацией CommerceML2.
Информация о товарах передается на сайт в следующих файлах
- import.xml — товары, группы (разделы инфоблока), типы цен, склады, свойства товаров и единицах измерения;
- offers.xml — торговые предложения (ТП) товаров и их свойствах;
- prices.xml — цены ТП;
- rests.xml — остатки ТП;
- references.xml — пользовательские справочники (HL-инфоблоки).
Файлы import.xml и offers.xml содержат описания свойств, типов цен, и прочую информацию, которая относится в равной степени ко всем товарам/ТП.
Если каталог большой, в целях оптимизации, описания выгружаются в отдельных “заголовочных” файлах. Это такие же файлы import.xml и offers.xml, только не содержат ничего кроме описаний. В таком случае заголовочные файлы обрабатываются только в самом начале обмена.
Информация о заказах передается на сайт в следующих файлах
- documents.xml — документы (заказы);
- contragents.xml — контрагенты (пользователи-покупатели).
Полезные ссылки
Куда на сайт загружаются файлы выгрузки
В папку /upload/1c_catalog/. Перед каждым обменом эта папка очищается. То есть в этой папке всегда находятся файлы последнего обмена.
Можно включить «режим отладки” обмена — отключить перезапись файлов в папке 1c_catalog. Таким образом можно отключить удаление файлов выгрузки после завершения обмена.
Для этого нужно объявить константу в файле dbconn.php:
// Включает «режим отладки” для обмена с 1С, // отключает перезапись файлов в папке 1c_catalog // Что бы сохранялись все файлы после выгрузки. define(«BX_CATALOG_IMPORT_1C_PRESERVE», true);
Теперь вместо удаления папка будет переименовываться, к ней будет добавляться числовой идентификатор.
Чем больше число у папки, тем новее эта папка.
Однако, самая новая папка всегда будет без чисел, и только со следующим обменом она будет переименована.
Важно помнить, что с включенным режимом отладки очень быстро идет расход места на диске. Поэтому после отладки следует отключить лог и удалить все лишние папки обмена.
Что нужно для обмена на стороне сайта
- редакция битрикса “Малый бизнес” или “Бизнес”
- настроить параметры обмена
- создать пользователя и группу “Обмен с 1С” для обмена, настроить права
- разрешить группе выполнять выгрузку товаров/заказов (в настройках параметров)
- разрешить группе доступ на чтение папки /bitrix/admin/
Что нужно для обмена на стороне 1С
- установить модуль для обмена (зависит от версии 1С)
- настроить адрес сайта и пользователя сайта из группы “Обмен с 1С”
- настроить параметры выгрузки на стороне 1С (зависят от версии УТ)
- Интеграция с 1С:УТ» ред. 10.3
- Интеграция с «1С:УТ» ред. 11.1, ред. 11.2
Полезные ссылки
Структура каталога в 1С и на сайте
Что делать если структура каталога в 1С не совпадает со структурой на сайте?
В 1С можно задать какие товары и разделы выгружать.
Часто в 1С товары хранятся не так, как они будут выводиться на сайте, поэтому можно на стороне 1С настроить виртуальный каталог для выгрузи на сайт: создать нужную структуру разделов и разложить по ним товары.
Так же можно задать условия отбора товара (не все товары нужны на сайте) для выгрузки на сайт и свойства (в 1С много св-в, не все нужны на сайте).
Виды выгрузок из 1С
Полная выгрузка
Происходит при выгрузке данных на сайт в первый раз, или при ручном запуске.
- Выгружаются все товары.
- Картинки выгружаются только у новых или измененных товаров.
Краткая выгрузка
Происходит часто, между полными, содержит только изменения по ценам и остаткам.
Полная принудительная выгрузка
Тоже самое, что и полная выгрузка, только выгружаются картинки абсолютно всех товаров, в обязательном порядке.
Обычно используется только при отладке обмена.
С чего начать интеграцию c 1C
Если вы делаете новый сайт и планируете интеграцию с 1С в дальнейшем, то первым следует установить битрикс и сделать тестовый обмен. Вот, что это даст:
- Будет создан тип иблока;
- Будет создан иблок;
- Будут созданы св-ва и справочники;
- Будут созданы разделы каталога;
- Будут созданы элементы каталога;
- Будут созданы торговые предложения.
Все это вместе поможет понять, какие данные у вас уже есть и где их искать. Сразу будет понятно, чего не хватает, а что выгрузилось совсем не так, как хотелось бы.
Как завершить интеграцию
Сопоставить структуры данных на сайте со структурой в 1С — вот главная цель интеграции.
Чтобы успешно завершить интеграцию, когда у вас уже есть полностью работающий проект, с актуальными данными, то нужно добиться, чтобы выгрузка из 1С проиcходила:
- В существующий инфоблок;
- В существующие св-ва;
- В существующие разделы инфоблока;
- В существующие товары и торговые предложения;
- В существующие типы цен.
Все эти задачи решаются путем настройки одинаковых идентификаторов (XML_ID), то есть у вас должны совпадать все внешние коды на сайте с внешними кодами из 1С.
Таким образом, если вы сначала сделали сайт, а потом решили прикрутить к нему обмен с 1С, то нужно будет получить все XML_ID из 1С и обновить их на сайте (написать служебный скрипт для этих целей).
Так как на стороне 1С часто нет возможности поменять эти коды (по опыту общения с программистами 1С). Толковый 1сник может сформировать csv файл со списком разделов и кодами в 1С, далее надо обновить эти коды на сайте.
Подведем итоги
Начинать разработку сайта с настройки обмена с 1С по разным причинам не имеет смысла.
Однако, если вы заранее знаете, что вам предстоит делать интеграцию — начните с изучения файлов выгрузки и тестовой выгрузки на сайт «как есть».
Чем раньше вы поймете, что предстоит дорабатывать в обмене, чтобы все работало как надо, тем лучше.
Скоро я планирую подготовить статьи по отладке выгрузки и кастомизации. Не переключайтесь.
Официальная информация
- Интеграция продуктов 1С и 1С-Битрикс
- Учебный курс Интеграция с 1С — очень много всего полезного “из первых рук”
- Взаимодействие учетной системы с сайтом
- Протокол обмена между системой 1С:Предприятие» и сайтом
- Типичные ошибки и проблемы при интеграции
- Форум «Интеграция с 1С»
Видеоролики
Полезные статьи
- Интеграция сайта с 1С риски и немного реальности
- Интеграция Битрикса с лысым чертом
- Интеграция с 1C — готовьте напильник
Источник: dermanov.ru