admin / 19.07.2018

Выгрузка из 1с в битрикс

Выгрузка данных из 1С в Битрикс24

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

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

Скачать 1С-трекер по ссылке http://1c.1c-bitrix.ru/intranet/download.php

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

Команды раздела:

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

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

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

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

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

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

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

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

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

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

И находим ключ:

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

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

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

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

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

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

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

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

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

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

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

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

Особенности:

  • поддерживается полная выгрузка (все документы), начиная с заданной даты
  • поддерживается выгрузка только новых/измененных документов — выгрузка односторонняя (из 1С в Б24)
  • выгружается только очень ограниченный набор свойств документа (хоз. операция (вид документа), номер, дата и сумма документа, привязка к контрагенту, веб-ссылка на документ в 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, только не содержат ничего кроме описаний. В таком случае заголовочные файлы обрабатываются только в самом начале обмена.

Информация о заказах передается на сайт в следующих файлах

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

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

В папку /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С товары хранятся не так, как они будут выводиться на сайте, поэтому можно на стороне 1С настроить виртуальный каталог для выгрузи на сайт: создать нужную структуру разделов и разложить по ним товары. 

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

Виды выгрузок из 1С

Полная выгрузка

Происходит при выгрузке данных на сайт в первый раз, или при ручном запуске.

  • Выгружаются все товары.
  • Картинки выгружаются только у новых или измененных товаров.

Краткая выгрузка

Происходит часто, между полными, содержит только изменения по ценам и остаткам.

Полная принудительная выгрузка

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

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

С чего начать интеграцию c 1C

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

Вот, что это даст:

  • Будет создан тип иблока;
  • Будет создан иблок;
  • Будут созданы св-ва и справочники;
  • Будут созданы разделы каталога;
  • Будут созданы элементы каталога;
  • Будут созданы торговые предложения.

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

Как завершить интеграцию

Сопоставить структуры данных на сайте со структурой в 1С — вот главная цель интеграции.

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

  • В существующий инфоблок;
  • В существующие св-ва;
  • В существующие разделы инфоблока;
  • В существующие товары и торговые предложения;
  • В существующие типы цен.

Все эти задачи решаются путем настройки одинаковых идентификаторов (XML_ID), то есть у вас должны совпадать все внешние коды на сайте с внешними кодами из 1С.

Таким образом, если вы сначала сделали сайт, а потом решили прикрутить к нему обмен с 1С, то нужно будет получить все XML_ID из 1С и обновить их на сайте (написать служебный скрипт для этих целей).

Так как на стороне 1С часто нет возможности поменять эти коды (по опыту общения с программистами 1С). Толковый 1сник может сформировать csv файл со списком разделов и кодами в 1С, далее надо обновить эти коды на сайте.

Подведем итоги

Начинать разработку сайта с настройки обмена с 1С по разным причинам не имеет смысла.

Однако, если вы заранее знаете, что вам предстоит делать интеграцию — начните с изучения файлов выгрузки и тестовой выгрузки на сайт «как есть».

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

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

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

Официальная информация

Видеоролики

Полезные статьи

  • 0

    Собственно задание в теме. В системе для некоторых клиентов имеются свои индивидуальные скидки. Товаров около 5000.

    Инструкции

    Требуется как то настроить выгрузку этих скидок в Битрикс. Как я понима…  Подробнее>>

  • 0

    Что сейчас в 1С реализоано по скидкам/ценам?

  • 0

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

  • 0

    Здравствуйте,

    1) Что сейчас в 1С реализоано по скидкам/ценам?

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

    Тестируем связку на демо версии Битрикс.

    2) нужно в bitrix реализовать работу со скидками. у вас же клиенты работают через битрикс?

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

    Вот о чем я говорю:
    1) Расширение для 1С 10.3 дает выгружать скидки от кол-ва, остальные скидки как-то выгружаются, но для их использования нужна доработка Битрикс https://1c.1c-bitrix.ru/ecommerce/v2.php#discounts

    Цитата оттуда:
    "Кроме этого, модуль на стороне 1С выгружает в CommerceML и другие типы скидок, но их автоматический импорт в 1С-Битрикс предлагается реализовать разработчикам интернет-магазина, поскольку их применение очень сильно зависит от особенностей ценообразования для каждого конкретного случая. "

    2) Ссылка на форуме с ответом специалиста по 1С битрикс http://1c.1c-bitrix.ru/support/forum/forum26/topic51070/

  • 0

    1. "В том то и дело, что вся работа ведется в 1С, просто сейчас планируем выйти в интернет, но почитав в обсуждениях, как я понял, это не стандартный функционал."

    у вас клиенты работают в 1с?

    2. "Ссылка на форуме с ответом специалиста по 1С битрикс"

    как и говорил ранее, что нужно битрикс дорабатывать под ваши нужды.
    клиентам добавить связанный каталог "скидки" и написать модуль
    расчета скидки для показа товара с рассчитанными ценами клиенту,
    доработать скрипт обмена 1c_exchange.php в битрикс (раз говорят что не сделано),
    для заполнения этих "настроено более 50 различных скидок" в каталоге "скидки"

  • Часть 6: Выгрузка номенклатуры товаров из 1С в Битрикс

    .

    FILED UNDER : IT

    Submit a Comment

    Must be required * marked fields.

    :*
    :*