Как из 1с выгрузить в битрикс 1с
Перейти к содержимому

Как из 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С на сайт

Полезные ссылки

Формат данных для обмена с 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 — готовьте напильник

      Инструкции

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

      1С-трекер предназначен для выгрузки из 1С в Битрикс24 следующих данных:

      1.jpg

      После установки модуля выгрузки справа появляется раздел 1С-Битрикс

      1.jpg

      • Команда «Настройка выгрузки на портал» осуществляет переход на форму со списком настроек выгрузок с порталами.
      • Команда «Коннекторы» осуществляет переход на форму, где можно увидеть все коннекторы портала, обменивающиеся с 1С. Настройки подключения к порталу берутся из первой настройки.
      • Команда «Версия модуля/обновить» проверяет актуальность установленного модуля, и при необходимости, рекомендует выполнить обновление.

      Настройки выгрузки на портал

      Настройки выгрузки на портал можно посмотреть в плане обмена «Настройки выгрузки на портал». Зайти в настройки можно следующим способом:
      Раздел «1С-Битрикс» -> Настройки выгрузки на портал

      2.jpg

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

      При нажатии на кнопку «Выполнить выгрузку» будет выполнена выгрузка данных на портал в выбранной настройке.

      При нажатии на кнопку «Показать зарегистрированные изменения» будет открыта форма, на которой можно посмотреть все зарегистрированные изменения узла.

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

      3.jpg

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

      При нажатии на кнопку «Выгрузить организации» происходит выгрузка всех организаций на портал, по указанным настройкам.

      В поле «Ключ» указывается ключ, который берется из приложения «1С + CRM Битрикс24» на портале. Для этого нужно в вашем портале перейти на раздел Приложения-Битрикс24+1С

      4.jpg

      5.jpg

      Копируем его и вставляем в поле в узле обмена:

      6.jpg

      Если установлен флаг «Выгрузка документов», то будут выгружены документы.

      Если установлен флаг «Выгрузка контрагентов», то будут выгружены контрагенты и контакты.

      Нажимаем кнопку «настроить выгрузку» и переходим к настройкам:

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

      7.jpg

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

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

      8.jpg

      Настройка обмена со стороны портала Битрикс24

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

      9.jpg10.jpg

      Установив все необходимые настройки, запускаем обмен.

      11.jpg

      В результате данные попадут в соответствующие сущности CRM:

      • Контакты:12.jpg
      • Компании:13.jpg
      • Мои дела:

      14.jpg

      15.jpg

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

      Где в «1с битрикс управление сайтом» лежат файлы выгрузки товаров из 1с

      Часто во время выгрузки товаров из 1С в битрикс «Управление сайтом» не выгружается какая-то часть данных. Для того, чтобы разобраться на какой стороне проблема возникает необходимость просмотреть какой набор информации передает 1С.

      Куда на сайт загружаются файлы выгрузки

      Файлы выгрузки из 1с попадают в папку сайта /upload/1c_catalog/, но обычном рабочем режиме эта папка очищается после очередной выгрузки из 1с.

      Для отладки можно включить сохранение старых файлов обмена, тогда при новом обмене старые данные будут сохраняться в отдельные папки. Для этого нужно объявить константу в файле dbconn.php:

      define("BX_CATALOG_IMPORT_1C_PRESERVE", true);

      Теперь файлы обмена будут сохраняться в папках с индексом, как на рисунке.

      1c_exchange_dir.jpg

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

      Важно! Не забудьте отключить директиву «BX_CATALOG_IMPORT_1C_PRESERVE», т.к. при включенном режиме отладки место на вашем сервере будет расходоваться и количество папок с файлами импорта 1С будет расти.

      Для отключения директивы можно использовать false вместо true:

      define("BX_CATALOG_IMPORT_1C_PRESERVE", false);

      Настройка выгрузки цен в интернет-магазин 1С-Битрикс для 1С УТ 11

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

      2. Разрешить доступ внешним пользователям
      НСИ и администрирование — Администрирование — Настройки пользователей и прав — Внешние пользователи
      включаем опция Разрешить доступ внешним пользователям

      3. Создать типовое соглашение
      CRM и маркетинг — НСИ продаж — Типовые соглашения с клиентами
      Необходимо создать типовое соглашение для каждой цены, которую хотите выгружать на сайт.
      Обязательные поля: Вид цены и галка на вкладке Прочие условия — Доступно внешним пользователям для обмена с сайтом

      4. Настройка обмена
      1С-Битрикс — Настройки обмена с сайтами — Настройки обмена с интернет магазином.
      Выгрузка информации о номенклатуре — кнопка Настроить
      Вкладка Цены — ставим опцию
      Вкладка Общие настройки — кнопка Настроить отбор.
      В таблице видим строку Соглашение. Меняем условие (с равно, на в списке) — и выбираем все типовые соглашения с видами цен, по которым вы хотите на сайт выгрузить цены.

      для выгрузки заказов включить обязательно
      Настройка НСИ и Разделов-Продажи-Оптовые продажи-Заказы клиентов

      06.07.2020 09:27 06.07.2020 09:27:46

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

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