Лидер рейтинга 1САВТОМАТИЗАЦИЯ, ВНЕДРЕНИЕ, СОПРОВОЖДЕНИЕ

Наши филиалы

МоскваЯрославль

Работаем удаленно и с выездом!

e-mail: msk@1c.yar.ru

Телефон: 7 (495) 975-93-57

Программы и услуги

Интеграция 1С с сайтом на 1С-Битрикс

Интеграция 1С с сайтом на 1С-Битрикс

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

Что такое интеграция?

Интеграция – это обмен информацией между разными IT-системами. Этот обмен зависит от формата информации, используемых протоколов ее передачи и алгоритмов работы.

Список понятий:

  • Формат - как выглядит информация (данные), к примеру, XML, CSV и т.п.
  • Протокол - каким путем информация передается из одного места в другое, это может FTP, HTTP, SMPT и др.
  • Алгоритм - описывает происходящий процесс в виде блок-схемы или диаграммы UML Activity.
  • Обмен данными = интеграция
  1. Стандартный обмен данными 1С и сайта на 1С-Битрикс

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

  1. Реализуемая продукция из 1С по типу catalog.
  2. Справочники из ПО по типу reference.
  3. Пользователи или контрагенты по типу sale.
  4. Заказы по типу sale в двустороннем направлении, то есть, из ПО на сайт и с сайта в ПО.

1.1 Синхронный протокол

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

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

1.2 Формат

Для передачи данных 1С и Битрикс используется 2 основных формата:

  • Текстовый, задействованный в процесс передачи ответов с сайта за посылаемые запросы 1С. В первой строке при успешном завершении процедуры пишется «succes», если процедура выполняется, то «progress», в случае ошибки «error», «failure». В остальных строках приводится дополнительная информация, количество которой напрямую связано с особенностями запроса.
  • Формат CommerceML в основе которого лежит XML. В него собираются данные о товарах, ценах, предложениях, складах, заказах и контрагентах, а также пользователях и платежных профилях.

1.3 Алгоритм

Для обмена данными 1С и Битрикс используется синхронный HTTP. Он проводится в несколько основных шагов. 2 первых идентичны для любого типа обмена, затем для HTTP начинаются отличия:

1.4 Авторизация

Запрос

GET-параметры: type=<тип обмена>

               mode=checkauth

Basic access логин: логин сайта из настроек 1С

Basic access пароль: пароль сайта из настроек 1С

 

Ответ

Если успех: success

<имя Cookie авторизации>

<значение Cookie авторизации>

sessid=<ID сессии>

<параметр1>=<значение1>

<параметр2>=<значение2>

...

 

Если ошибка: failure

             <текст ошибки>

Обмен данными всегда стартует только после того, как была произведена авторизация 1С при помощи метода Basic access. Если сайт успешно авторизовал 1С, то система выдает success, имя, значение Cookie, id этой сессии и другие параметры.

Ошибки в настройке обмена данными

Ошибка

Решение

Ошибка авторизации. Неверное имя пользователя или пароль.

Требуется проверить правильность ввода логина и пароля в Битрикс

Нет прав для импорта каталога. Проверьте настройки компонента импорта.

Требуется проверка прав пользователя в Битрикс

Ошибка проверки источника запроса. Обновите модуль обмена или отключите проверку в настройках компонента

Можно обновить модуль обмена в 1С. Также можно выполнить php-код в Битрикс:
COption::SetOptionString("catalog", "DEFAULT_SKIP_SOURCE_CHECK", "Y");
COption::SetOptionString("sale", "secure_1c_exchange", "N");

Модуль Информационных блоков не установлен.

Проверить наличие установленного в Битрикс модуля iblock

Включена смена идентификатора сессий. В файле подключения компонента обмена, до подключения пролога определите константу BX_SESSION_ID_CHANGE: define('BX_SESSION_ID_CHANGE', false);

Выполнить предложенное действие

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

Сравнить настройки часового пояса на сервере БД и web-сервере

 

1.5 Запрос настроек сайта

Запрос

GET-параметры: type=<тип обмена>

               mode=init

               sessid=<ID сессии>

Cookie: <имя Cookie авторизации>=<значение Cookie авторизации>

Ответ

Если успех: zip=<yes|no>

            file_limit=<число>

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

Параметр

Назначение

Возможные значения

zip

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

yes

no

file_limit

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

целое число> =0

После того как эти параметры получены, ПО приступает к формированию данных в формат для отправки на сайт. В случае, когда архив zip=yes, то файлы включают в него и передаются в zip-архиве. Если zip ≠yes, то каждый сформированный 1С выгружается по 1, что значительно замедляет процесс, поэтому желательно всегда прописывать, что zip=yes.

Ошибки при запросе настроек сайта

Ошибка

Решение

Ошибка инициализации временного каталога

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

  1. Обмен товарами из 1С в Битрикс

Тип обмена данными type-catalog задействован при создании обновления на сайте таких позиций, как:

  • инфоблок товаров;
  • UF-поля разделов в этом инфоблоке;
  • свойства элементов в этом инфоблоке;
  • инфоблок SKU;
  • типы цен;
  • склады;
  • разделы в инфоблоке товаров;
  • элементы в инфоблоке товаров (товары);
  • цены на товары;
  • наличие товара в том или ином складе.

Когда производится обмен товара, то 1С создает XML-файлы, отправляет их в Битрикс и проверяет, как сайт их обрабатывает. Из программы можно отправить несколько видов файлов:

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

Если авторизация прошла успешно, то сервер отправит параметр timestamp. Программа сохранит его и отправит на последнем шаге после обмена товарами.

2.1 Передача файла (повторяющийся процесс) при обмене товарами

Запрос

GET-параметры: type=catalog

               mode=file

               sessid=<ID сессии>

               filename=<имя файла>

POST: Содержимое файла в виде строки

Cookie: <имя Cookie>=<значение Cookie>

Ответ

Если успех: success

Если ошибка: failure

             <текст ошибки>

Описанная процедура повторяется такое число раз, сколько товаров передается из 1С в Битрикс. Каждый файл загружается на сервер в бинарном виде при помощи POST-запроса. Если его нет, то Битрикс создает файл с именем из GET-параметра (filename) и добавляет в него полученный из 1С контент, эти действия продолжаются до тех пор, пока 1С не отправит части файла в бинарном виде.

Ошибки при передаче файлов

Ошибка

Решение

Ошибка чтения HTTP данных

Следует выполнить проверку подключения через интернет между 1С и Битрикс

Ошибка открытия файла <имя файла> для записи

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

Ошибка записи в файл <имя файла>

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

  1. Основной этап обмена данными

Запрос

GET-параметры: type=<тип обмена>

mode=import

sessid=<ID сессии>

filename=<имя файла>

Cookie: <имя Cookie>=<значение Cookie>

Ответ

Если импорт завершен: success

Если импорт продолжается: progress

                          <текущий статус>

Если ошибка: failure

             <текст ошибки>

Описанная процедура является одной из самых важных. Переданный в процессе файл является полностью загруженным в Битрикс и система готова с ним работать. Как правило, для обработки проводится 11 небольших операций, о которых 1С не оповещается. В связи с этим с параметром GET отправляется один и тот же запрос mode-import, но при этом на сайт выполняет отличающиеся друг от друга операции. Весь прогресс сохраняется в сессии (переменная $_SESSION[BX_CML2_IMPORT][NS]).

3.1 Распаковка архива (повторяющийся, необязательный)

Ответ

Если файл распакован: progress

                      Идет распаковка архива

Если файл распаковывается: progress

                           Распаковка архива завершена

Если ошибка: failure

             <текст ошибки>

 

Данный этап актуален только в тех случаях, когда информация из 1С передается в Битрикс при помощи файлов, упакованных в zip-архив. Архив распаковывается в директории, где расположены другие файлы, задействованные при обмене товарами, если пользователь не менял путь, то по умолчанию это upload/1c_catalog/. Операция не отмечается системой Битрикса при помощи нумерации.

Ошибки при распаковке архива

Ошибка

Решение

Ошибка распаковки архива

Проверьте работоспособность функции PHP zip_open и расширение Zip. Если ошибок не обнаружено, то желательно скачать отправленный на сайт архив и проверить, как он открывается вручную на ПК.

3.2 Удаление временных таблиц

Ответ

Если успех: progress

            Временные таблицы удалены

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP 0

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

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

Ответ

Если успех: progress

Временные таблицы созданы

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP 1

Когда таблица создана, при объявлении PHP константы BX_XML_CREATE_INDEXES_IMMEDIATELY, система автоматически ее индексирует. По завершению данного этапа запускается событие OnBeforeCatalogImport1C.

Ошибки при создании временных таблиц

Ошибка

Решение

Ошибка создания временных таблиц

Пользователю следует права и стабильность, а также наличие подключения к СУБД

    1. Загрузка файла во временную таблицу (повторяющийся)

Ответ

Если файл читается: progress

                    Обработано <число>% файла

Если файл прочитан: progress

                    Файл импорта прочитан

Если ошибка: failure

             <текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP 2

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

Ошибки при загрузке файлов во временную таблицу

Ошибка

Решение

Ошибка открытия файла импорта

Пользователь должен проверить доступен файл или нет

3.5 Индексация временных таблиц

Ответ

Если успех: progress

            Временные таблицы проиндексированы

Если ошибка: failure

             <текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP 3

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

Ошибки при индексации временных таблиц

Ошибка

Решение

Ошибка создания индекса для временных таблиц

В числе причин, способных вызвать эту ошибку выделяют: проблемы с правами доступа или подключением к СУБД

3.6 Импорт метаданных

Ответ

Если успех: progress

                      Матаданные импортированы успешно

Если ошибка: failure

                       Ошибка импорта метаданных

                       <текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP 4

Система создает или обновляет уже имеющие данные:

  • инфоблоки товаров и SKU;
  • служебные свойства каталога (с префиксом CML2_: CML2_BAR_CODE, CML2_ARTICLE, CML2_ATTRIBUTES…);
  • торговый каталог;
  • свойства инфоблоков;
  • UF-поля разделов инфоблоков;
  • типы цен;
  • склады;
  • единицы измерения.

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

Ошибки при импорте метаданных

Ошибка

Решение

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

Пояснения не требуются

Ошибка создания типа информационных блоков

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

Ошибка добавления новой единицы измерения (код единицы: <код>)

Система не выдает текст ошибки, поэтому пользователю придется, вручную устранять проблему, после изучения файла XML в Битрикс

Количество импортированных складов превышает разрешенное для данной редакции

Пояснения не требуются

Ошибка импорта пользовательского свойства (xml_id: <код>)

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

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

Пояснения не требуются

В выгрузке настроены цены с одинаковым названием. Продолжение обмена невозможно.

Пояснения не требуются

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

Пояснения не требуются

3.7 Импорт разделов каталога

Ответ

Если успех: progress

Группы импортированы

Если ошибка: failure

Ошибка импорта метаданных

<текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP 5

На этом этапе в Битрикс создаются и проходят обновления разделы каталога, до этого указанные в файле XML. Сопоставление разделов из БД в 1С и XML файла происходит при помощи XML_ID. Если раздела с таким файлом на сайте нет, то он создается заново. Если есть, то просто проводится сравнительный анализ данных. Если изменения обнаружены, то Битрикс включает обновление в поле TIMESTAMP_X и переходит к следующему разделу (при наличии изменений запускается обновление).

Чтобы сэкономить ресурсы сервера можно заполнить поля LEFT_MARGIN и RIGHT_MARGIN, в таком случае новые разделы добавляются без пересчета дерева.

Ошибки при импорте разделов каталога

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

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

Можно повторить выгрузку. В файле XML и в Битрикс может быть создано какое-то количество разделов. За один проход система успевает получить определенное количество разделов. В каждом подходе сайт успевает обработать только определенное количество разделов, кратное количеству разделов за один проход. При повторной операции он выгрузит еще кратное определенному количеству за один проход, а предыдущие уже пропустит. Получается, что 100% выгрузка по факту будет совершена только после нескольких запусков выгрузки, равное количеству кратности и операция будет завершена корректно, о чем система и оповестит пользователя.

3.8 Пересчет дерева разделов

Ответ

Если успех: progress

            Деактивация/удаление групп завершено

Если ошибка: failure

             Ошибка импорта метаданных

             <текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP 6

 

Этот процесс подразумевает выполнение следующих задач в Битрикс:

  • выключение или удаление разделов;
  • проведение перестройки дерева для разделов.

Если используется старая версии 1С, то пользователь легко отличает полную и частичную выгрузки. Если она частичная, то в «Классификаторе» будет атрибут СодержитТолькоИзменения="true". Если этого атрибута нет, то сайт может, как пропускать, так и удалять, или деактивировать устаревшие разделы. В новых версиях 1С подобной проблемы нет.

На этом этапе происходит пересчет служебных полей (LEFT_MARGIN, RIGHT_MARGIN) для всех имеющихся разделов.

3.9 Импорт товаров (повторяющийся)

Ответ

Если идет процесс импорта: progress

                           Обработано <число> из <число> элементов

Если импорт завершен: progress

                      Загрузка элементов завершена

Если ошибка: failure

             <текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP 7

DONE Ассоциативный массив, счетчик обработанных товаров и всех товаров в файле

На этом этапе происходит непосредственно создание и обновление товаров из XML файла. Также система проводит сверку по полю XML_ID, сравнивая между собой аналогичные поля в БД 1С и файла XML. В случае если изменений не обнаружено, то система обновляет поле TIMESTAMP_ID и переходит к следующему товару. Это актуально в том случае, когда пользователь указала такой параметр, как «Использовать контрольные суммы элементов для оптимизации обновления каталога».

Когда происходит импортирование товаров, то система заполняет поле TMP_ID, его значение сохраняется в узле <НомерВерсии>. В случае отсутствия узла, сайт автоматически определяет контрольную сумму для всего объема данных из XML файла.

Ошибки при импорте товаров

Ошибка

Решение

Временная таблица не существует

Появление этой ошибки возможно, если одновременно ПО послало несколько запросов в Битрикс или подключается несколько 1С.

3.10 Деактивация и удаление товаров (повторяющийся)

Ответ

Если идет обработка: progress

                     Обработано <число> из <число> элементов

Если обработка завершена: progress

                          Деактивация/Удаление элементов завершены

Если ошибка: failure

             <текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP 8

DONE Ассоциативный массив, счетчик обработанных товаров и всех товаров в файле

Сайт инициирует чистку товаров, в случае если в узле «Классификатор» XML файла пользователь не сделал отметку СодержитТолькоИзменения="true" (актуально для старого формата выгрузки). Такая же настройка действует и на выбор системы, что именно нужно делать с тем или иным товаром.

3.11 Завершение импорта

Ответ

Если успех: success

Импорт успешно завершен

Если ошибка: failure

<текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP 9

  1. Системный этап интеграции

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

4.1 Деактивация старых данных

Запрос

GET-параметры: type=<тип обмена>

mode=deactivate

sessid=<ID сессии>

timestamp=<время на сервере>

Cookie: <имя Cookie>=<значение Cookie>

Ответ

Если успех: success

            Деактивация элементов завершена

Если ошибка: failure

             Ошибка деактивации элементов

Этот процесс подразумевает деактивацию товаров и разделов каталога, которые не были задействованы в текущей сессии. Чтобы это сделать, система сравнивает время последней корректировки с TIMESTAMP, переданным 1С в начала сессии, во время авторизации.

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

4.2 Завершение импорта

Запрос

GET-параметры: type=<тип обмена>

               mode=complete

               sessid=<ID сессии>

Cookie: <имя Cookie>=<значение Cookie>

Ответ

Если успех: success

            Завершение процедуры импорта

Если ошибка: failure

             <текст ошибки>

Внутренний системный процесс, не подразумевающий обработку данных. На нем создается недокументированное событие в модуле catalog событие – OnCompleteCatalogImport1C.

    1. Обмен справочниками из 1С в Битрикс

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

4.4 Передача файла (повторяющийся)

Процесс аналогичен этапу обмена товарами, (отличается только mode, здесь mode=reference).

    1. Основной процесс

Запрос

GET-параметры: type=reference

               mode=import

               sessid=<ID сессии>

Cookie: <имя Cookie>=<значение Cookie>

4.5 Распаковка архива (повторяющийся, необязательный)

Аналогичен этапу обмену товарами.

    1. Подготовка справочника

Ответ

Если успех: progress

            Найден или создан справочник. Код справочника: <ID>

Если ошибка: failure

             <текст ошибки>

При этом процессе система сайта автоматически создает или использует уже имеющийся HL-блок с UF полями. Сначала испускается недокументированное событие модуля catalog (OnBeforeCatalogImportHL), затем в обработчик отправляется массив параметров компонентов и путь, указанный к XML-файлу. На этом шаге процедуры нужно быть готовыми к тому, что обработчик вызывает ошибки и возвращается произвольные сообщения. Чтобы свести к минимуму проблемы желательно учитывать следующие важные нюансы:

  • в 1С можно только создавать поля и справочники, удаление невозможно;
  • в 1С можно создать поля только определенных типов, а именно Число, Дата, Булево, Строка;
  • поля, которые создаются в 1С относятся к категории одиночных и необязательных, они скрываются в фильтре, но показываются в таблице и доступны для редактирования;
  • сайт на Битрикс сам создает следующие виды полей UF_DESCRIPTION, UF_NAME, UF_VERSION, UF_XML_ID.

Ошибки при подготовке справочника

Ошибка

Решение

Ошибка при создании поля в справочнике <Текст ошибки>

Проверить текст и исправить в 1С или на сайте

Ошибка при создании справочника <Текст ошибки>

Проверить текст и исправить в 1С или на сайте

Ошибка разбора XML. Код ошибки: <Код ошибки>

Провести расшифровку кода и исправить в 1С или на сайте

 

4.7 Коды ошибок

Код

Расшифровка

10

Неизвестная ошибка парсинга XML файла

20

Невалидный XML файл

110

В XML файле отсутствует или пустой узел <Ид> справочника

120

В XML файле отсутствует или пустой узел <Наименование> справочника

210

Во время импорта UF-полей не был найден higloadblock

220

В XML файле отсутствует или пустой узел <Ид> в <Реквизит>

230

В XML файле отсутствует или пустой узел <Наименование> в <Реквизит>

240

Неизвестный <ТипЗначений> в узле <Реквизит> (допустимы только: Строка, Булево, Дата, Число)

250

Неизвестная ошибка при создании UF-поля highload блока

310

Во время элементов справочника не был найден higloadblock

320

В XML файле отсутствует или пустой узел <Ид> в <ЭлементСправочника>

330

В XML файле отсутствует или пустой узел <ЗначениеРеквизита> в <ЗначенияРеквизитов> в <ЭлементСправочника>

    1. Импорт элементов (повторяющийся)

Ответ

Если импорт завершен: success

                      Импорт успешно завершен

Если импорт в процессе: progress

                        Импортировано элементов: <число>

Если ошибка: failure

             <текст ошибки>

При этом процессе сайт импортирует элементы из HL-блока. В случае, когда выгрузка полная, то элементы в HL-блоке удаляются, при условии, что значение поля UF-VERSION не начинается с ID текущей пользовательской сессии. По завершению всех процессов на этапе, Битрикс создает событие в модуле catalog (OnSuccessCatalogImportHL), в качества аргументов используется путь к XML файлу и массив параметров для компонента. Возможные ошибки, аналогичны описанным на предыдущем этапе.

Особенности доработки обмена

При реализации стандартного обмена между 1С и Битрикс все запросы отправляются на страницу /bitrix/admin/1c_exchange.php, но при этом вся логика сохраняется в файле /bitrix/modules/sale/admin/1c_exchange.php, находящимся в модуле «Торговый каталог». Вносить изменения на указанной ранее странице нельзя, но допускается копирование и изменение адреса в ПО 1С.

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

Разработчикам доступны 3 основных способа, при помощи которых можно дорабатывать обмен 1С и Битрикс:

  1. Использовать обработчики событий, подготовленные для обмена стандартного типа - для тех, кому требуется самый простой перенос данных и серьезная доработка невозможна.
  2. Провести кастомизацию файлом обмена на сайте и доработать их в соответствии с личными требованиями:
  • создать отдельную страницу для обмена;
  • внести в нее код из /bitrix/modules/sale/admin/1c_exchange.php
  • провести кастомизацию нужного компонента обмена, изменить вызов системного компонента на выбранный пользователем, используя для этого новую страницу;
  • поработать над логикой класса, к примеру, использовать наследование.

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

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

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

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

Заказать услугу интеграции 1С и сайта на 1С-Битрикс

Зачастую сложнейшей задачей при разработке сайта является интеграция с 1С. Чтобы процесс прошел насколько возможно легко и просто, от разработчика 1С требуется знание и самое главное понимание процессов Битрикса. Заказать услугу по настройке обмена можно, обратившись в офис компании «АйТи-Консалтинг». Профессиональные специалисты 1С проконсультируют и реализуют процесс подключения систем в короткие сроки с гарантией качества.

Узнать стоимость услуги

Почему необходимо доверить установку 1С нам?

Среди многих фирм, выполняющих продажу и установку 1С, наша компания имеет ряд неоспоримых преимуществ: