Обмен заказами битрикс 1с. Обмен информацией о заказах

Рассмотрим основные вопросы, возникающие при

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

Подписывайтесь на наш канал на YOUTUBE и получайте самые свежие видеоуроки:


Если вы не используете модуль обмена 4.х.х.х, то необходи

мо вручную включить обмен с сайтами в 1С : Администрирование > Настройки синхронизации данных , опция Обмен данными с:

Включите использование дополнительных реквизитов и сведений (для нового модуля включается автоматически): Администрирование > Настройка параметров системы > Общие настройки , опция Дополнительные реквизиты и сведения:

  • Включите использование заказов клиентов: Администрирование > Настройка параметров системы > , опция Заказы клиентов :

  • Создайте типовое соглашение для выгрузки цен (Маркетинг и планирование > Типовые соглашения с клиентами ). Статус соглашения должен быть Действует , с пустым сегментом партнеров, с актуальным периодом действия, соответствующим видом цен и доступно внешним пользователям:

Узлы обмена с сайтами

Чтобы перейти к настройкам обмена с сайтами, следует открыть список узлов обмена (Администрирование > Подсистема (или Битрикс) > ):

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

При нажатии на кнопку Синхронизация данных отобразится меню со следующими пунктами:

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

Кнопка Общие настройки включает в себя следующие действия:

  • Задать расписание для обмена в режиме реального времени - этот пункт меню активен только тогда, когда 1С работает в клиент-серверном варианте. При нажатии на этот пункт меню откроется окно настройки расписания регламентного задания, которое будет работать постоянно и принимать в режиме реального времени команды с сайта.
  • Импорт настроек обмена с сайтом из решения - произойдет импорт настроек . Использование данной возможности целесообразно в начале использования модуля обмена для переноса настроек. Поиск ведется по наименованию.
  • Редактировать коды Битрикс у объектов 1С - откроется окно, на котором можно посмотреть и, при необходимости, отредактировать коды загруженных с сайта данных. Кроме того, для еще незагруженных элементов можно указать коды сайта, чтобы при загрузке данных модуль обмена не создавал новые объекты, а находил их по коду сайта.

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

Форма создания/редактирования узла обмена имеет следующий вид:

Примечание: перечень параметров формы зависит от версии установленного модуля обмена.

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

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

Режим обмена данными:

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

Важно!

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

Контроль изменений:

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


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

Назначение:

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

§ Адрес сайта – адрес вашего сайта, содержащий путь до файла /bitrix/admin/1c_exchange.php (либо путь к странице с собственными настройками интеграции, см. урок Собственные настройки интеграции).

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

§ Пароль – пароль пользователя.

При нажатии на кнопку Проверить , происходит проверка подключения к сайту.

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

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

Действия с неудачно отправленными пакетами:

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

Настройка автообмена:

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

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


Обмен данными

Выгрузка товаров

Для выгрузки товаров на сайт в форме настроек обмена должна быть отмечена опция Выгрузка товаров и настроены основные настройки. Затем следует перейти на закладку Выгрузка товаров и настроить параметры выгрузки:

Примечание: перечень параметров зависит от версии установленного модуля обмена.

Выгрузка справочных данных:

  • При отмеченной опции будет выгружена информация о товарах.Товары

Кнопка Настроить соответствия полей номенклатуры служит для настройки собственных соответствий полей номенклатуры. При ее нажатии открывается окно, в котором можно указать в какие поля xml-файла будут выгружаться те или иные данные:

  • При отмеченной опции будут выгружены картинки и файлы товаров, причем выгружаются только новые или измененные картинки и файлы. Опция доступна только при отмеченной опции.Картинки и файлы Товары
  • Если отмечена опция, то будут выгружены свойства товаров. В настройках ниже также будет доступен флаг, в противном случае - флаг (см. ниже).Свойства Выгружать только используемые значения свойств Выгружать значения свойств в товары и предложения

Кнопка служит для более детальной настройки выгружаемых свойств товаров. При ее нажатии открывается окно, в котором можно указать, какие свойства товаров должны храниться в Highload-блоках, какие влияют на цену, какие должны выгружаться в свойства предложений, а какие в свойства товаров:

Примечание: свойство типа всегда хранится в Highload-блоках. Файл

Настройка свойств:

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

Настройка предложений:

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

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

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

Кнопка Принудительное обновление данных (до версии модуля 4.0.2.1 это была опция Принудительная полная выгрузка картинок и файлов ) предназначена для выполнения процедуры выгрузки всех картинок независимо от того, есть ли они на сайте.
Полную выгрузку данных следует делать при первом обмене, а затем уже будет использоваться механизм версионности.

В ыгрузка регистровых данных:

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

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

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

Таблица каталогов:

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

  • В колонке задается название инфоблока на сайте.Каталог

В колонке Группы номенклатуры (или Виды номенклатуры , см. настройку опции Классифицировать номенклатуру по виду номенклатуры ) настраивается фильтр выгрузки групп/видов номенклатуры. Например, нужно выгрузить на сайт каталог холодильников:

Подписывайтесь на наш канал на YOUTUBE и получайте самые свежие видеоуроки:

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

§ Сегмент номенклатуры - отбор номенклатуры по сегментам номенклатуры;

§ Номенклатура - отбор по самой номенклатуре или группе;

§ Склад - отбор по выгружаемым складам. Остатки товара будут только по тем складам, которые удовлетворяют условию;

§ Свойство - отбор по свойствам номенклатуры. Будут выгружены только те свойства, которые удовлетворяют условию отбора;

§ Соглашение - отбор по выгружаемым соглашениям товаров, и, соответственно, ценам товаров. Соглашения выгружаются только типовые с признаком и незаполненным реквизитом; Доступно внешним пользователям Сегмент партнеров

§ Остаток - отбор по выгружаемым остаткам товаров.

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

Настроить дерево групп

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

Автоматическая выгрузк а товаров осуществляется в соответствии с настройками автообмена. Для ручного запуска процесса выгрузки товаров необходимо:

  • в форме создания/редактирования настройки обмена нажать кнопку Выполнить обмен данными:



либо в форме списка настроек обмена выбрать нужный узел и нажать пункт Выполнить обмен данными в меню кнопки Синхронизация данных:

По окончании выгрузки результат можно просмотреть в административном разделе вашего сайта:


Обмен заказами

Для обмена заказами в форме настроек обмена должна быть отмечена опция Обмен заказами и выполнены основные настройки. Затем следует перейти на закладку Обмен заказами и настроить параметры обмена заказа необходимым для вас образом. Для удобства содержимое закладки Обмен заказами разделено на три вкладки:

  • Обмен заказами
  • Обмен контрагентами
  • Отбор и сортировка

После того, как все настройки выполнены, можно сохранить настройку и выполнить обмен.

Выполнение обмена заказами

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

в форме создания/редактирования настройки обмена нажать кнопку :


либо в форме списка настроек обмена выбрать нужный узел и нажать пункт в меню кнопки :



Для просмотра выгруженных с сайта заказов в 1С следует воспользоваться пунктом меню Продажи > Заказы клиентов . Откроется форма со списком всех заказов, среди которых будут находиться и заказы с сайта:


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

Просмотр выгруженных из контрагентов (если настроена выгрузка) осуществляется на странице со списком пользователей (Настройки > Пользователи > Список пользователей ):


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

Обмен заказами

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

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

  • При отмеченной опции будут выгружены все заказы, в том числе и те, которые не были созданы на сайте.Выгружать все заказы
  • С помощью поля указывается дата, начиная с которой и по текущий момент заказы будут выгружаться на сайт.Точка актуальности выгрузки заказов
  • Если отмечена опция, то вместе с заказами будут выгружены их отгрузки.Выгрузка отгрузок заказов
  • В поле указывается, сколько заказов будет в одном пакете данных.Количество заказов в пакете
  • При отмеченной опции для оплаченных заказов будет создан приходный кассовый ордер.
  • Если отмечена опция, то модуль обмена будет загружать отгрузки, созданные или отредактированные на сайте.
  • Если отмечена опция, то при повторной выгрузке документов с сайта документы в 1С не будут обновляться.Не обновлять документы пришедшие с сайта
  • По кнопке открывается окно, в котором выполняется настройка соответствий загружаемых документов о заказах в 1С (всего доступно 3 вида документов):

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

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

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

Дополнительные параметры документов:

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

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

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


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

Примечание: перечень параметров зависит от версии установленного модуля обмена.

Выгрузка контрагентов из 1С :

  • При установке флага, из 1С будут выгружены контрагенты, удовлетворяющие условию по указанным отборам на вкладке Отбор и сортировка.Синхронизация контрагентов
  • В поле задается число контрагентов, которые будут выгружаться в одном пакете данных.Количество контрагентов в пакете
  • В поле указывается, как будут искаться контрагенты по базе или, если контрагент не будет найден, по уникальному идентификатору или коду с сайта. Поиск контрагентов может быть или по наименованию, или по ИНН+КПП.Способ идентификации контрагентов
  • В поле указывается группа контрагентов для новых контрагентов, созданных модулем обмена с этой настройкой обмена.Группа для новых контрагентов
  • При отмеченной опции полное наименование контрагента будет браться из полей XML-файла с фамилией, именем и отчеством.Подставлять ФИО в полное наименование физ. лиц
  • При отмеченной опции информация о контрагентах обновляться в 1С не будет.Не редактировать контрагентов пришедших с сайта

Соответствие адресов контрагентов:

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

  • В колонке указывается название передаваемого в xml-файле поля с адресом.Наименование поля в XML
  • В колонке выбирается сущность 1С (контрагент или партнер), в которую будут занесены данные.Тип
  • В колонке выбирается поле адреса контрагента, в которое должны быть занесены данные.Вид контактной информации

Отбор и сортировка

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

Выгрузка справочников из 1С

Начиная с версии 14.5.1 модуля Торговый каталог , в продукте доступен компонент catalog.import.hl . С его помощью осуществляется импорт справочников из 1С на сайт, причем каждый справочник будет загружен в отдельный Highload-блок. Вся процедура выполняется на стороне 1С.

В перейдите в список узлов обмена с сайтами: Администрирование > (или Битрикс) > Обмен с сайтами . Выберите необходимый вам узел обмена (либо создайте новый). Откроется форма настроек узла:

На закладке Основные настройки задайте базовые настройки для выгрузки справочников из 1С:

  • Отметьте опцию. Станет доступной закладка.Обмен пользовательскими справочниками Обмен польз. справочников
  • Чтобы выгрузка выполнялась на сайт, отметьте опцию и в поле укажите адрес вашего сайта, содержащий путь до файла (именно в этом файле подключен необходимый компонент).Выгружать на сайт Адрес сайта /bitrix/admin/1c_exchange.php catalog.import.h
  • Остальные параметры этой закладки настройте необходимым вам образом.

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

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

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

Когда все настройки выполнены, нажмите кнопку . Начнется процесс импорта справочников на сайт. По его окончании в 1С будет отображено соответствующее сообщение.

Для проверки выполненных действий перейдите в административный раздел вашего сайта:

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

В 1С:Предприятие перейдите в Администрирование и кликнете по пункту меню . Откроется форма со списком узлов обмена с сайтами. Нажмите кнопку Синхронизация данных и выберите пункт Помощник импорта товаров с сайта под управлением :

Откроется мастер импорта товаров с сайта:

  • В поле укажите адрес вашего сайта, содержащий путь до файла (либо путь к странице с собственными настройками интеграции).Адрес /bitrix/admin/1c_exchange.php
  • В поле задайте логин и пароль пользователя из, который обладает правом на выгрузку каталога с сайта (т.е. пользователь должен относится к группе, указанной в настройках интеграции).

На следующем шаге задайте параметры импорта товаров в 1С :

  • Укажите, чаще всего это.Вид номенклатуры загружаемых товаров Товар
  • В поле укажите.Единица измерения шт
  • В поле задайте группу, в которую товары должны быть загружены. Группу можно выбрать как среди существующих, так и создать новую.Загружать товары в группу
  • Отметьте необходимые для вас опции загрузки товаров в:1С

§ Создавать группы - в 1С попадет иерархия групп товаров, в которых будет сам товар;

§ Создавать свойства товаров - с сайта будут выгружены свойства товаров;

§ Создавать характеристики товаров - будут выгружены характеристики товаров;

§ Устанавливать цены - будут импортированы цены товаров и при необходимости типы цен.

§ Загружать картинки - вместе с товарами будут загружены картинки.

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

Для проверки выполненных действий перейдите в Продажи > Номенклатура :

Обмен в режиме реального времени

Примечание: в режиме реального времени доступен только при соблюдении следующих условий:

  1. модуль должен быть версии или выше;Интернет-магазин14.5.0
  2. в 1С должен быть установлен модуль обмена 4.0.х.х.

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

Сайт может вернуть 2 кода состояния:
  • 200 - надо выполнить обмен. Признак того, на каком узле должен быть выполнен обмен, определяется настройками опции Используется в режиме реального времени (опция может быть отмечена только в одной настройке обмена):

  • 302 - нужно сделать переадресацию и снова посмотреть код состояния. Адрес переадресации берется из заголовка.Location

Механизм обмена в режиме реального времени зависит от варианта работы базы 1С:

  • Если база в работы, тогда активный сеанс 1С ждет сообщение с сайта. Для прекращения режима реального времени необходимо закрыть сеанс или разблокировать его, нажав на комбинацию клавиш.файловом варианте Ctrl + Break

Запуск режима обмена заказами в реальном времени осуществляется с помощью одноименной кнопки:

  • Если база в, тогда фоновое задание ждет сообщения с сайта. Временной интервал, в котором работает режим реального времени, задается в расписании задания:клиент-серверном варианте

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

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

Подписывайтесь на наш канал на YOUTUBE и получайте самые свежие видеоуроки:

Настройка обмена данными

Для включения обмена данными с сайтом перейдите вАдминистрирование -Обмен данными и отметьте флажок “Обмен данными с сайтами ”.

Рис. 1. Обмен данными с сайтами.

Далее нужно включить использование заказов клиентов. Для этого перейдите вАдминистрирование -Продажи и в разделе “Оптовые продажи ” отметьте флажок “Заказы клиентов ”.


Рис. 2. Заказы клиентов.

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


Рис. 3. Создание типового соглашения.

Создание узла обмена с веб-сайтом

Чтобы создать узел обмена с сайтом, перейдите вАдминистрирование -Обмен данными и кликните ссылку “Узлы обмена с сайтами ”. В открывшемся окне нажмите кнопку “Создать ”.


Рис. 4. Создание узла обмена с сайтом.

Поля “Наименование ” и “Код узла ” заполняются автоматически при сохранении. При необходимости их можно задать самостоятельно. Следует отметить флажок “Выгрузка товаров ”, если планируется выгрузка товаров на сайт и флажок “Обмен заказами ”, если планируется загрузка заказов с сайта. Далее нужно указать адрес сайта, имя пользователя и пароль. Адрес сайта должен быть в следующем формате: “http://ваш_сайт/admin/exchange/auto/ ” (важно убедиться, что после слова “auto” стоит “/”).

Для проверки соединения можно воспользоваться кнопкой “Проверить соединение... ”. Если все параметры указаны верно, то появится сообщение “Соединение успешно установлено ”. В противном случае - нужно проверить правильность адреса и параметров доступа.

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


Рис. 5. Параметры узла обмена с сайтом.

При необходимости можно настроить периодический обмен данными. Для этого установите флажок “Использовать периодический обмен данными ”. После установки флажка автоматически откроется форма настройки расписания обмена:


Рис. 6. Расписание обмена.

Если флажки “ Выгрузка товаров ” и “ Обмен заказами ” отмечены - необходимо провести настройку выгрузки товаров и обмена заказами соответственно.

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

Перейдите на вкладку “Выгрузка товаров Выгрузка товаров ” на вкладке “Основные настройки ”).


Рис. 7. Флажок “Выгрузка товаров”.

На вкладке укажите организацию - владельца каталога (это организация, от имени которой происходит выгрузка на сайт) и коэффициент перерасчёта веса (используется при перерасчёта веса товаров из единиц, в которых указан вес в УТ в единицы, в которых вес учитывается на сайте). Установите флажок “ Выгружать файлы изображений ”, если планируется выгрузка картинок товаров на сайт. Если будет производиться выгрузка произвольных файлов, присоединённых к номенклатуре - установите флажок “ Выгружать прочие файлы ”. При необходимости построить классификатор групп товаров по справочнику “ Виды номенклатуры ” - установите флажок “ ”. При не установленном флажке группы будут выгружаться из справочника “ Номенклатура ”.


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


Рис. 8. Таблица каталогов.

В колонках “ Каталог ” и “ Группы номенклатуры ” задайте имя каталога и фильтр выгрузки групп соответственно. Состав выбираемых групп зависит от флажка “ Классифицировать по видам номенклатуры ”. Если данный флажок установлен, то группы выбираются из справочника “ Виды номенклатуры ”. Иначе, выбор происходит из справочника “ Номенклатура ”. В случае, если конкретные группы не выбраны (указано “ Все ”) - выгружаются все группы. Колонка “ Идентификатор каталога ” задаёт идентификатор, по которому устанавливается связь выгружаемых данных с конкретным информационным блоком на сайте.

Если требуется настроить отбор, нажмите кнопку “Настроить отбор ”. При этом откроется форма настройки отбора для выбранного каталога. С помощью отбора устанавливаются ограничения по выгрузке товаров.


Рис. 9. Настройка отбора.

Настройка обмена заказами

Перейдите на вкладку “Обмен заказами ” (данная вкладка доступна, если отмечен флажок “Обмен заказами ” на вкладке “Основные настройки ”).

Рис. 10. Флажок “Обмен заказами”.


Настройте способ идентификации контрагентов - это режим поиска контрагентов при загрузке заказов на сайт. Предоставляется два варианта поиска:по наименованию и по комбинацииИНН + КПП . Укажите виды номенклатурыТовар (с этим видом номенклатуры будут записываться новые товары) иУслуга (с этим видом номенклатуры будут записываться новые услуги). Укажите единицу измерения для новой номенклатуры. Создаваемые товары записываются с этой единицей измерения. По необходимости - заполните группу новой номенклатуры. В эту группу помещаются товары и услуги, создаваемые при загрузке заказов с сайта. Укажите соглашение, с которым будут создаваться документы “Заказ клиента ”. Если это требуется - укажите организацию и менеджера, от имени которых будут создаваться данные документы.

Дополнительные параметры обмена заказами настраиваются на вкладке “Дополнительно ”.


Рис. 11. Вкладка “Дополнительно”.

На данной вкладке Вы можете:

· установить режим записи и проведения документов “Заказ клиента ”;

· настроить параметры отмены заказов (если заказ отменён, то соответствующая информация появится в УТ).

Параметры отмены заказов:

· статус заказа “Отменён ” - это значение статуса, получаемого с сайта (обычно равно “Отменён ”);

· поле “Причина отмены заказа” (содержит причину отмены, которая заполняется в соответствующем поле документа “Заказ клиента ”);

· соответствие статусов заказа (если соответствия настроены, при загрузке заказов будет проводиться попытка установки соответствующего статуса документа “Заказ клиента ”).


Выполнение обмена данными

Запустить обмен данными вручную, можно нажав кнопку “Выполнить обмен данными ” в форме узла, либо в форме списка узлов. По его окончании будет выдано соответствующее сообщение.

Рис. 12. Кнопка “Выполнить обмен данными”.


Чтобы процесс обмена запускался автоматически, настройте расписание автоматического обмена и сохраните настройки узла обмена данными. В том случае, если на сервере “1С: Предприятия ” включено выполнение регламентных заданий, обмен будет происходить автоматически, по установленному расписанию. Если используется файловый вариант работы УТ, то для выполнения автоматического обмена должен быть запущен специальный сеанс, обрабатывающий регламентные задания.

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

Инициатором любого обмена является 1С, сайт не загружает ничего в 1С, сайт только принимает запросы и отдаёт результат. По умолчанию, 1С обращается к скрипту /bitrix/admin/1c_exchange.php. Этот путь указывается в настройках обмена в самой 1С. Из коробки в этом файле включается файл /bitrix/modules/sale/admin/1c_exchange.php. Если открыть файл, то видим там подключение нескольких компонентов в зависимости от $_GET["type"]. В общем случае интересуют два из них:

bitrix:sale.export.1c - экспорт заказов.

bitrix:catalog.import.1c -импорт каталога.

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

После получения ID сессии идёт инициализация обмена, URL: /bitrix/admin/1c_exchange.php?type=sale&mode=init&sessid=ID_Сессии. На этом этапе сайт отдаёт настройки обмена со стороны сайта.

Для получения списка заказов запрашивается URL /bitrix/admin/1c_exchange.php?type=sale&mode=query&sessid=ID_Сессии. Выгружаются заказы с полями EXTERNAL_ORDER = "N", UPDATED_1C = "N" и обновившиеся после последней успешной выгрузки в 1С (это проверяется по времени из свойства "last_export_time_committed_/bitrix/admin/1c_excha" модуля sale).

Флаг EXTERNAL_ORDER указывает, что заказ создан в 1С и его выгрузка в 1С не требуется.

Флаг UPDATED_1C после успешного импорта из 1С на сайте устанавливается в "Y" и такие заказы не участвуют в дальнейших экспортах до их обновления на сайте. Во время обновлений заказов на сайте UPDATED_1C устанавливается в "N".

После обработки заказов 1С для завершения обмена запрашивает URL /bitrix/admin/1c_exchange.php?type=sale&mode=success&sessid=ID_Сессии. При этом в свойство "last_export_time_committed_/bitrix/admin/1c_excha" модуля sale записывается время запроса списка заказов (НЕ текущее время, т.к. с момента запроса заказов до их обработки могли добавиться заказы и они попадут в следующую выгрузку с сайта).

Модификация

В экспорте заказов участвуют файл /bitrix/admin/1c_exchange.php , компонент bitrix:sale.export.1c и класс CSaleExport . Какие-либо события здесь отсутствуют, поэтому для модификации этого процесса нужно заменить компонент на свой, создать класс-наследник CSaleExport и заменить вызовы в компоненте на него. В последних версиях Битрикс этот класс стал относительно читабельным, в старых там была просто простыня из php и "xml".

С версии 15.5 добавлена дополнительная проверка и если вызвать просто /bitrix/admin/1c_exchange.php?type=sale&mode=query , то получим ошибку "failure Ошибка проверки источника запроса. Обновите модуль обмена". Если нет желания возиться с sessid, то можно отключить проверку источника запроса, для этого нужно выполнить:

// old school: COption::SetOptionString("sale", "secure_1c_exchange", "N"); // d7 style: \Bitrix\Main\Config\Option::set("sale", "secure_1c_exchange", "N");

Импорт товаров из 1С

Далее идёт инициализация обмена , URL /bitrix/admin/1c_exchange.php?type=catalog&mode=init&sessid=ID_Сессии. На этом этапе в сессии инициализируется массив данных обмена $_SESSION["BX_CML2_IMPORT"] и сайт отдаёт параметры обмена: возможность использования zip, лимит размера файла и т.д. Также на этом этапе очищается папка для файлов выгрузки. Скорее всего, это будет папка /upload/1c_catalog/. Для отладки можно включить сохранение старых файлов обмена, тогда при новом обмене старые данные будут перемещаться в отдельные папки: 1c_catalog0, 1c_catalog1 и т.д.. Для сохранения данных нужно объявить константу в dbconn.php:

// Не забудьте убрать эту строку после отладки во избежание переполнения сервера define("BX_CATALOG_IMPORT_1C_PRESERVE", true);

После этого 1С начинает подготовку данных и далее посылает их POST-запросом на сайт частями, URL: /bitrix/admin/1c_exchange.php?type=catalog&mode=file&filename=ИМЯ_ФАЙЛА.zip&sessid=ID_Сессии. Запрос продолжается, пока файлы не будут переданы полностью.

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

В выгрузке могут участвовать xml-файлы :

  • import.xml - товары, разделы, типы цен, склады, свойства товаров и единицы измерения;
  • offers.xml - торговые предложения товаров и их свойства;
  • prices.xml - цены торговых предложений(в новых версиях);
  • rests.xml - остатки торговых предложений(в новых версиях);
  • references.xml - пользовательские справочники (highload-инфоблоки, в новых версиях).

Картинки загружаются в папку import_files.

Далее начинаются шаги импорта , URL: /bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=ИМЯ_ФАЙЛА_ВЫГРУЗКИ.xml , где ИМЯ_ФАЙЛА_ВЫГРУЗКИ - import.xml, offers.xml и т.д. Обработка файла завершается, когда сайт отдаёт слово "success". За обработку файла выгрузки отвечают классы CIBlockXMLFile (/bitrix/modules/iblock/classes/mysql/cml2.php) и CIBlockCMLImport (/bitrix/modules/iblock/classes/general/cml2.php).

Обработка файла состоит из нескольких шагов (информация будет дополняться) :

    Очистка временной таблицы (таблица b_xml_tree);

    Метод CIBlockXMLFile::DropTemporaryTables(). Обычный drop таблицы b_xml_tree.

    Создание временной таблицы;

    Метод CIBlockXMLFile::CreateTemporaryTables(). Здесь создается таблица b_xml_tree. Можно, кстати, задать storage engine этой таблицы, равно как и всех создаваемые битриксом, с помощью определения константы MYSQL_TABLE_TYPE.

    Чтение файла во временную таблицу;

    Метод CIBlockXMLFile::ReadXMLToDatabase().

  1. Индексация временной таблицы;
  2. Импорт метаданных;
  3. Импорт разделов;
  4. Деактивация разделов и пересчёт левой и правой границ для разделов;
  5. Импорт элементов;
  6. Деактивация элементов;
  7. success.

Некоторые шаги могут выполняться за несколько запросов, порциями по несколько секунд (это время настраивается параметров "Интервал одного шага в секундах" в настройках интеграции с 1С в админке Битрикса).

Модификация

На шаге 10, т.е. по окончании обработки файла выгрузки (NB: одного файла, например, товаров или предложений) вызывается событие OnSuccessCatalogImport1C модуля catalog. Аргументы обработчика - параметры компонента обмена и путь к файлу выгрузки.

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

If (isset($_GET["type"], $_GET["mode"]) && $_GET["type"] === "catalog" && $_GET["mode"] === "import") { // ... }

Ну и, если ничего нельзя решить событиями, всегда можно полностью изменить процесс обмена, скопировав и изменив файл /bitrix/admin/1c_exchange.php , компонент bitrix:catalog.import.1c и класс CIBlockCMLImport .

Отключение проверки источника запроса

Как и в случае с выгрузкой товаров, при импорте товаров есть проверка источника запроса. Можно отключить её следующим кодом:

// old school: COption::SetOptionString("catalog", "DEFAULT_SKIP_SOURCE_CHECK", "Y"); // d7 style: \Bitrix\Main\Config\Option::set("catalog", "DEFAULT_SKIP_SOURCE_CHECK", "Y");

Статья будет дополняться по мере появления новой информации и вдохновения.

Достаточно часто, для диагностики обмена заказов, интернет-магазина на 1С Битрикс с 1С Управление Торговлей, нужно увидеть xml файл с заказами который сформирует сайт для следующей передачи в 1С. Есть два способа

Полуофициальный способ

Заключается в скачивании файла диагностики с официальной документации Битрикс. Просто закидываете файл в корень сайта, авторизуетесь администратором и открыаете этот файл в браузере

Увидите вот такое окно: в котором можно открыть XML файл заказов

Но данный скрипт не работает с Битрикс редакций выше 14.4. Лично у меня, выдает вот такую адракадабру. Дело в том, что скрипт не учитывет новый функционал заказов

Думаем как 1С УТ

По сути, метод заключается в иммитации работы 1С. Управление торговлей, просто выполняет ряд запросов к сайту, к скрипту 1c_exchange.php. В ответ получает xml файл с заказами в виде потоковых данных. Нам нужно, просто сымитировать эти запросы.

В командной PHP строке выполняем команды:
COption::SetOptionString("catalog", "DEFAULT_SKIP_SOURCE_CHECK", "Y"); COption::SetOptionString("sale", "secure_1c_exchange", "N");

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

http://ВАШ_САЙТ/bitrix/admin/1c_exchange.php?type=sale&mode=checkauth
http://ВАШ_САЙТ/bitrix/admin/1c_exchange.php?type=sale&mode=init
http://ВАШ_САЙТ/bitrix/admin/1c_exchange.php?type=sale&mode=query

После этого получим xml заказа прямо в окне браузера

Если не получилось по второму способу

Если вместо xml выдало ошибку доступа. Нужно чуть изменить ссылки. Однако скажу точно (проверено прямо перед написанием заметки). У меня второй способ сработал сразу на версии битрикс 16.5 со всеми обновлениями на 10 ноября 2016 года

Однако если нет:
Сначала нужно выполнить
http://ВАШ_САЙТ/bitrix/admin/1c_exchange.php?type=sale&mode=checkauth
В четвертой строке сайт вернет токен(session id)

Затем
http://ВАШ_САЙТ/bitrix/admin/1c_exchange.php?type=sale&mode=init + "&" + токен + "&version=2.08"

Затем
http://ВАШ_САЙТ/bitrix/admin/1c_exchange.php?type=sale&mode=query + "&" + токен

Вот в общем-то и все. Диагностируйте с удовольствием!

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

Функционально обмен делится на два блока:

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

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

При инициализации взаимодействия устанавливается HTTP соединение. Система "1С:Предприятие" запрашивает у сайта необходимые параметры, такие, как максимальный объем пакета, поддержка сжатия и др.. На основании этих данных система 1С:Предприятие формирует XML сообщения и передает их на сайт.

Выгрузка на сайт

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

A. Начало сеанса


http://<сайт>/<путь> /1c_exchange.php?type=catalog&mode=checkauth.

  • слово "success" ;
  • имя Cookie;
  • значение Cookie.

Примечание.

B. Запрос параметров от сайта

1. zip=yes
или
zip=no

2. file_limit=<число> , где <число>

C. Выгрузка на сайт файлов обмена

Затем "1С:Предприятие" запросами с параметрами вида
http://<сайт>/<путь> /1c_exchange.php?type=catalog&mode=file&filename=<имя файла>
выгружает на сайт файлы обмена в формате CommerceML 2, посылая содержимое файла или его части в виде POST.

В случае успешной записи файла система управления сайтом выдает строку "success ".

D. Пошаговая загрузка данных

На последнем шаге по запросу из "1С:Предприятия" производится пошаговая загрузка данных по запросу с параметрами вида http://<сайт>/<путь> /1c_exchange.php?type=catalog&mode=import&filename=<имя файла>

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

1. Если в первой строке содержится слово "progress " - это означает необходимость послать тот же запрос еще раз. В этом случае во второй строке будет возвращен текущий статус обработки, объем загруженных данных, статус импорта и т.д.

2. Если в ответ передается строка со словом "success ", то это будет означать сообщение об успешном окончании обработки файла.

Примечание.

Примеры файлов выгрузки

Обмен информацией о заказах

Заказы, оформленные на сайте, загружаются в систему "1С:Предприятие".

Последовательность действий при работе с заказом

1. Заказ оформляется на сайте

2. При передаче в систему "1С:Предприятие" в заказе устанавливается категория "Заказ с сайта".
При формировании заказа в системе "1С:Предприятие" записываются номер и дата заказа, с которыми он оформлен на сайте. Поиск контрагента осуществляется по ИНН или наименованию, в зависимости от указанных настроек.

3. При загрузке заказа производится поиск договора с контрагентом. Договор ищется среди существующих договоров с клиентом, с признаком ведения взаиморасчетов по заказам (по указанной в настройках загрузки Организации). Если не находится ни один договор, то создается новый.

4. При загрузке заказа загружаются все его свойства, переданные с сайта. Свойства ищутся в системе "1С:Предприятие" по наименованию. Если с таким наименованием свойства нет, то заводится новое свойство со значениями типа строка или число.

5. Заказ может модифицироваться в системе "1С:Предприятие", при этом его изменения будут выгружаться на сайт

6. Если заказ оплачивается или отгружается в системе "1С:Предприятие", то состояния заказа по оплате и по отгрузке выгружаются на сайт только при полном выполнении операции (полной оплате и полной отгрузке). До этого момента заказ считается не оплаченным и не отгруженным.

7. При попытке в системе "1С:Предприятие" изменить заказ, по которому произведена оплата или отгрузка, заказ на сайт не загрузится как измененный. При этом пользователь получит об этом сообщение.

8. После каждой выгрузка заказа на сайт, на стороне сайта определяются значения его категорий (ссылка на категории). Эти значения устанавливаются в системе "1С:Предприятие" так, как они присвоены заказу на сайте

A. Начало сеанса

Выгрузка данных начинается с того, что система "1С:Предприятие" отправляет http-запрос следующего вида:
http://<сайт>/<путь> /1c_exchange.php?type=sale&mode=checkauth.

В ответ система управления сайтом передает системе «1С:Предприятие» три строки (используется разделитель строк "\n"):

  • слово "success" ;
  • имя Cookie;
  • значение Cookie.

Примечание. Все последующие запросы к системе управления сайтом со стороны "1С:Предприятия" содержат в заголовке запроса имя и значение Cookie.

B. Уточнение параметров сеанса

В ответ система управления сайтом передает две строки:

1. zip=yes , если сервер поддерживает обмен в zip-формате - в этом случае на следующем шаге файлы должны быть упакованы в zip-формате
или
zip=no - в этом случае на следующем шаге файлы не упаковываются и передаются каждый по отдельности.

2. file_limit=<число> , где <число> - максимально допустимый размер файла в байтах для передачи за один запрос. Если системе "1С:Предприятие" понадобится передать файл большего размера, его следует разделить на фрагменты.

C. Получение файла обмена с сайта

Затем на сайт отправляется запрос вида
http://<сайт>/<путь> /1c_exchange.php?type=sale&mode=query.

Сайт передает сведения о заказах в формате . В случае успешного получения и записи заказов "1С:Предприятие" передает на сайт запрос вида
http://<сайт>/<путь> /1c_exchange.php?type=sale&mode=success

D. Отправка файла обмена на сайт

Затем система "1С:Предприятие" отправляет на сайт запрос вида
http://<сайт>/<путь> /1c_exchange.php?type=sale&mode=file&filename=<имя файла>
,
который загружает на сервер файл обмена, посылая содержимое файла в виде POST.

В случае успешной записи файла система управления сайтом передает строку со словом "success ". Дополнительно на следующих строчках могут содержаться замечания по загрузке.

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

Примеры файлов обмена информацией

Представленный протокол используется для интеграции системы "1С:Предприятие" с системами