Типовые проблемы интеграции 1с и битрикс

Сложности интеграции бывают разные. Рассмотрим некоторые, самые типовые, которые возникают у многих пользователей.

Самая популярная причина возникновения проблем обмена между 1с и битриксом – это обновление одной из них. Чтобы решить проблему нужно обновить  1с / битрикс до необходимого противоположной системой релиза / версии.

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

Проблемы на стороне 1с

Проблемы на стороне Битрикса

Ошибки с производительностью на стороне сервера

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

Проблемы авторизации

Ошибки MySQL

Логические ошибки

Проблемы на стороне 1с

Проблема. Проблема с загрузкой заказов с сайта.

«Ошибка выполнения запроса "В данной транзакции уже происходили ошибки!"
        ТаблицаДокументов = Запрос.Выполнить().Выгрузить();»

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

Решение. Скорей всего нужно обновить конфигурацию 1с

Проблема. Не меняется статус заказа при выгрузке из 1С

В соответствие с логикой синхронизации 1С и "1С-Битрикс: Управление сайтом", статус заказа меняется, если из 1С передались дата оплаты либо дата отгрузки товара. Чтобы эти даты попали в XML-файл, который формируется 1С и передаётся на сайт, нужно сформировать и провести нужные документы.

  • В 1С УТ зарегистрировать оплату заказа можно путем ввода на основании заказа документов оплаты, таких как "Платежное поручение входящее" и "Приходный кассовый ордер".
  • Отгрузка, как правило, регистрируется вводом на основании заказа документа "Реализация товаров и услуг".
  • Если в регистре "Расчеты с контрагентами" остаток по заказу <= 0, заказ считается оплаченным.
  • Если в регистре "Заказы покупателей" остаток по заказу <= 0, заказ считается отгруженным. У конфигурации УПП принцип тот же.

СтатусыСтатусы, в которые будут переводиться заказы при получении дат оплаты и отгрузки, устанавливаются в настройках модуля интернет-магазина: параметры 

При получении оплаты переводить заказ в статус и При получении разрешения доставки переводить заказ в статус соответственно.

Проблема. При попытке обмена заказов в 1С выходит сообщение:

Выгружено товаров: 1
Выгружено картинок: 1
Выгрузка товаров успешно завершена
Не установлен реквизит "ГруппаДоступаККонтрагенту". Элемент не записан!
Не установлен реквизит "РегионДоставки". Элемент не записан!
Не установлен реквизит "Основная форма оплаты". Элемент не записан!
{Обработка.ОбменССайтом(3468)}: Ошибка при вызове метода контекста (Записать): Операция не выполнена!
Произошла ошибка: . По причине:
Не удалось найти/создать контрагента.
Не удалось обработать документы, загруженные с сервера.
Обмен не выполнен.
Не выгружен ни один заказ.
Обмен заказами завершен с ошибками!!!

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

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

Решение. Возможные ошибки:

Обычно появляется из-за некорректной настройки выгрузки товаров на вкладке "Выгрузка товаров". Стоит обратить внимание на то, что настраивается именно фильтр(!), а не выбираются поля для выгрузки. Если отмечается поле для фильтра, то значение этого поля в фильтре должно быть задано.

В 1С (Управление торговлей) обратите внимание в справочнике Номенклатура на реквизит вид номенклатуры. Должен быть обязательно признак товар (наименованиетовар и тип номенклатуры товар).

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

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

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

Проблема. Как выгрузить каталоги из 1С в разные типы инфоблоков?

Решение. Чтобы осуществить выгрузку в разные типы инфоблока, следует поместить несколько компонентовcatalog.import.1cна разные страницы.

Например, имеем две страницы:http://mysite.ru/1c_import_1.phpиhttp://mysite.ru/1c_import_2.php. На обеих страницах настраиваем компонентcatalog.import.1c- указываем в параметрах разные типы инфоблоков и устанавливаем флажок у опцииИмпортировать с учетом типа инфоблока.

Затем при настройке импорта в 1с, для выгрузки в нужный тип инфоблока указываем разные файлы:http://mysite.ru/1c_import_1.phpлибоhttp://mysite.ru/1c_import_2.php.

Пример файла:

<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

$APPLICATION->SetTitle("import1");

?>

<?$APPLICATION->IncludeComponent("bitrix:catalog.import.1c", "", Array(

                               "IBLOCK_TYPE" => "books",

                               "SITE_LIST" => array(),

                               "INTERVAL" => "30",

                               "GROUP_PERMISSIONS" => array(0 => "1"),

                               "USE_OFFERS" => "N",

                               "USE_IBLOCK_TYPE_ID" => "Y",

                               "SKIP_ROOT_SECTION" => "N",

                               "ELEMENT_ACTION" => "D",

                               "SECTION_ACTION" => "D",

                               "FILE_SIZE_LIMIT" => "204800",

                               "USE_CRC" => "Y",

                               "USE_ZIP" => "Y",

                               "USE_IBLOCK_PICTURE_SETTINGS" => "N",

                               "GENERATE_PREVIEW" => "Y",

                               "PREVIEW_WIDTH" => "100",

                               "PREVIEW_HEIGHT" => "100",

                               "DETAIL_RESIZE" => "Y",

                               "DETAIL_WIDTH" => "300",

                               "DETAIL_HEIGHT" => "300",

                               "TRANSLIT_ON_ADD" => "Y",

                               "TRANSLIT_ON_UPDATE" => "Y",

                               "TRANSLIT_MAX_LEN" => "100",

                               "TRANSLIT_CHANGE_CASE" => "L",

                               "TRANSLIT_REPLACE_SPACE" => "_",

                               "TRANSLIT_REPLACE_OTHER" => "_",

                               "TRANSLIT_DELETE_REPEAT_REPLACE" => "Y"

                ),

false

);?>

<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

Проблема. Не удалось найти вид номенклатуры

В процессе обмена 1С с сайтов возникает ошибка:Не удалось найти вид номенклатуры: Услуга Не удалось найти вид номенклатуры: Товар Не удалось найти/создать номенклатуру. Не удалось обработать документы, загруженные с сервера.

Решение. Ошибка возникает, если в 1С нет типов номенклатурыУслугаиТовар. Эти типы номенклатуры критичны для процесса обмена данными с сайтом. Следует создать в 1С эти типы номенклатуры и только поле этого осуществлять обмен.

Проблема. В процессе обмена возникает ошибка "Поле объекта не обнаружено".

В процессе обмена заказами возникает ошибка:{Обработка.ОбменССайтом(3271)}: Поле объекта не обнаружено (Наименование) >> ОтобразитьСостояние("Идентификация контрагента: " + СтрокаДД.СтруктураДанныхКонтрагента.Наименование);

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

Проблемы на стороне Битрикса

Проблема. При выгрузке каталога из 1С не ставит галочку "уменьшать количество при заказе"

Решение. Чтобы исправить это, необходимо в файле init.php добавить код, который будет срабатывать при добавление продукта (через событие OnProductAdd):

<?

AddEventHandler("sale", "OnProductAdd", "OnProductAdd");

     function OnProductAdd($ID,$Fields)

    {  

  $res=Array("QUANTITY_TRACE"=>'Y);

   CCatalogProduct::Update($ID,$res);

 }

?>

Проблема: медленный импорт из 1С

Возможные причины:

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

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

Задача: Структура каталога на сайте должна отличаться от структуры в 1С.

Варианты решения:

Вариант 1. Делается отдельный классификатор - инфоблок и разделы. У разделов создаётся свойствопривязка к разделам, и нужные "человеческие" разделы привязываются к разделам инфоблока с классификатором, который пришел из 1С. Можно сделать множественную привязку - будет проще свести в один раздел из кучи непонятных в 1С.

Вариант 2: В 1С можно создать такой объект какпрайс-листи попробовать настроить обмен с сайтом, уже используя его как прокси. Т.е. Если в справочникеНоменклатурабардак и вообще куча всякого, что на сайте не должно показываться, то создаётся прайс-лист, и уже в нём создаются нужные секции. И специально обученный сотрудник добавляет в узлы прайс-листа ссылки на позиции из справочника номенклатура.
Тогда на сайт будет уходить CML, структура которого берётся из прайс-листа, а не из номенклатурного справочника.

Проблема: На этапе выгрузки свойств после построения таблиц выводится сообщение об ошибке:

Выгружено товаров: 1 832
Выгружено картинок: 0
Выгружено предложений: 0
Произошла ошибка на стороне сервера.
Обмен не выполнен
Ответ сервера:
Ошибка импорта метаданных. 
Выгрузка товаров завершена с ошибками!!!

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

Ошибки на стороне сервера

Ошибки на стороне сервера происходят в силу целого ряда причин, но общее у них то, что виноваты не столько настройки программ «1С-Битрикс: Управление сайтом» или "1С:Предприятие", сколько настройки сервера или проблемы в линиях связи. В основном они «лечатся» соответствующей настройкой серверного оборудования и программного обеспечения. И только при невозможности этого – путем единовременного снижения объемов выгрузки. Для решения большинства этих проблем вам не избежать обращения к службе технической поддержки хостинговой компании, где размещен ваш сайт.

Наиболее частые проявления этих ошибок:

Проблема. Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.

Возникает ошибка следующего вида:

Выгружено товаров: 679 Выгружено картинок: 469 Произошла ошибка на стороне сервера. Получен неизвестный статус импорта. Обмен не выполнен. Ответ сервера. Fatal error : Allowed memory size of 67108864 bytes exhausted (tried to allocate 102401 bytes) in /var/www/bitrix/modules/iblock/classes/general/cml2.php on line 483 Выгрузка товаров завершена с ошибками!

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

Также можно увеличить размер выделяемой памяти в настройках PHP (параметр memory_limit), для этого следует обратиться к хостинг-провайдеру.

Возникает ошибка следующего вида:

Выгружено товаров: 46 Выгружено картинок: 0 Произошла ошибка на стороне сервера. Получен неизвестный статус импорта. Обмен не выполнен Ответ сервера: DB query error. Please try later. Выгрузка товаров завершена с ошибками!

Решение. Ошибка может возникать в случае некорректной передачи файла на сервер. В процессе отправки файл может "обрезаться" и терять свою целостность, в итоге файл на сервер передаётся некорректным по содержанию.

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

Проблема. Ошибка "Произошла ошибка на стороне сервера. Файл не отправлен"

В процессе обмена возникает такого вида ошибка:
Выгружено товаров: 3 Выгружено картинок: 0 Выгрузка товаров успешно завершена Выгружено заказов: 1 Произошла ошибка на стороне сервера. Файл
неотправлен (C:\Documents and Settings\User\Local Settings\Temp\v8_5075_63.zip). Обмен не выполнен Ответ сервера: Файл для импорта пуст. Обмен заказами завершён с ошибками!

Решение. Причины возникновения ошибки могут быть следующие:

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

Установить последние стабильные версии обновлений модуля интернет-магазина.

На время обмена отключить на локальной машине все блокирующее ПО (антивирус, файрволлы и т.д.)

Отключить zip-сжатие в настройках интеграции с 1С.

Проблема. ОшибкаработысИнтернет, выводитсясообщениеfailed sending data to the peer (no headers, no data)‏;

  • Получен пустой ответ сервера;
  • Ошибки 502, 500 или ошибка 404 уже в процессе обмена;
  • Ошибканехваткипамяти, напримервыводитсясообщениеFatal error : Allowed memory size of 67108864 bytes exhausted (tried to allocate 102401…)‏
  • Не удалось получить текущее состояние процесса обмена. Данные обмена отправлены, но не загружены.
  • Откройте для редактирования файл php.ini.oci, расположенный в папке /apache.
  • Найдите в файле группу параметров Resource Limits.
  • Увеличьте значения параметров max_execution_time и memory_limit.
  • Перезагрузите сервер.
  • Откройте для редактирования файл httpd.conf, размещенный в папке /apache/conf/
  • Измените значение параметра Timeout.
  • Перезагрузите сервер.
  • Запустите мастер настройки обмена данными (Сервисы > Обмен данными с WEB-сайтом > Настроить обмен данными с WEB-сайтом)
  • На первом шаге мастера выберите Изменить существующую настройку обмена данными и нажмите кнопку Далее.
  • Выберите настройку для редактирования и дважды кликните по ней.
  • В закладке Выгрузка товаров (Или Обмен заказами, в зависимости от ситуации) измените значения фильтра.
  • Сохраните изменения и повторите синхронизацию.
  • У пользователя, от которого ведется обмен данными, нет прав на запись в папку /upload .
  • Файл создается с правами, которые не позволяют чтение файла.
  • Файл также может быть передан на сервер в zip-архиве, но по определённым причинам не удалось распаковать архив, например, некорректно работает функция zip_open на сервере.
  • Откройте для редактирования файл dbconn.php из папки /bitrix/ php_interface.
  • В строке define("BX_FILE_PERMISSIONS", 0644); установите значения, которые порекомендовал хостер вместо 0644 выставленных по умолчанию.
  • Откройте в браузере страницу http://<ваш_сайт>//bitrix/admin/phpinfo.phphttp://<ваш_сайт>//bitrix/admin/phpinfo.php. (Либо выполните командуif (exist_function (“zip_open”)) echo “OK”;). В браузере отобразится таблица:
  • В области ZIP посмотрите настройки. Для строки ZIP должно стоять «enabled».
  • В поле Разрешить загрузку группам пользователей посмотрите, каким пользователям разрешен импорт/экспорт данных.
  • В зависимости от вашей конкретной ситуации или измените права доступа на импорт для нужных групп или включите нужного пользователя в группу, которой разрешен импорт из «1С».
  • В корне сайта в файл .htaccess добавьте строки:
  • Закоментируйте следующие строки в файле .htaccess папки bitrix/admin/, которые отключаютmod_rewrite:
  • Вфайлпапки bitrix/php_interface/ добавьтестроки:
  • ВыводитсясообщениеLost connection to MySQL server during query. Ошибка, скорее всего здесь в таймауте.
  • Конфликт кодировок. Например, выводится сообщение:
  • Импорт файлов каталога и предложений, а также файлов структуры компании через стандартные компоненты продукта.
  • Получение информации о содержимом файлов импорта (количество товаров, групп и предложений).
  • Возможность пошаговой диагностики импорта каталога (начать импорт с любого шага).
  • Импорт файла заказов, который передался из 1С на сайт.
  • Просмотр информации о заказах, которые будут выгружены в 1С при следующей синхронизации.
  • Смена даты последнего обмена заказами.
  • Просмотр содержимого xml-файла заказов (в окне скрипта или в отдельном окне), который будет передан в 1C при следующей синхронизации.
  • Создание тестового типа инфоблоков, который будет автоматически установлен в настройках интеграции с 1С.
  • Поиск элементов по внешнему коду (по XML_ID).
  • Просмотр файловой структуры сайта.
  • Просмотр, загрузка, скачивание, правка, создание и удаление файлов.
  • Просмотр графических файлов.
  • Распаковка zip-архивов в текущую папку.

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

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

Другой вариант решения этой проблемы (если хостер не соглашается на увеличение таймаута) - сделать равным таймаут сервера и таймаут «1С-Битрикс: Управление сайтом» (страница Магазин > Настройки магазина > Интеграция с 1С, поле Интервал одного шага в секундах). В этом случае пошаговое выполнение будет идти синхронно.

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

Наконец, можно уменьшить объем выгрузки товаров за 1 раз. Настройте фильтр по номенклатуре на стороне «1С»:

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

Ошибки при работе с файлами вызваны в основном неправильной настройкой прав доступа к файлам. Типовые сообщения при этом выглядят следующим образом: «Ошибка открытия файла" и "Ошибка записи файла". Способы решения проблемы, естественно, - настройка прав доступа на уровне операционной системы.

Обратим внимание на фразу «на уровне операционной системы». Права на уровне «1С-Битрикс: Управление сайтом», как правило, выставлены всегда правильно. Тем не менее, проверить права на осуществление импорта/экспорта не помешает. Делается это на странице Магазин > Настройки магазина > Интеграция с 1С

Наиболее вероятные причины:

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

Выставление корректных прав на создаваемые файлы в рамках «1С-Битрикс: Управление сайтом» производится следующим образом:

Точно также нужно проверить выставить права на создаваемые папки. Только это делается уже в строкеdefine("BX_DIR_PERMISSIONS", 0755);.

Вот так выглядит проверка наличия расширения ZIP в настройках PHP:

 
Таблица свойств PHP

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

Проблемы авторизации

1С не может пройти процедуру аутентификации на сайт и в этой связи выдается ошибка. Вызвано это, как правило, неверной настройкой «1С-Битрикс: Управление сайтом». 

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

Например, в файле /bitrix/php_interface/init.php или /bitrix/php_interface/dbconn.php и др. 
Таким образом, 1С может получить ответ не "success", а "testsuccess" хотя данный авторизации отправлены корректные.

Другая типичная ошибка состоит в правах доступа на импорт каталога. Авторизация может не производиться, если пользователь, проводящий импорт, не обладает достаточным уровнем прав. Проверить это можно на странице Магазин > Настройки магазина > Интеграция с 1С.

Перейдите на указанную страницу и произведите следующие действия:

Но в авторизации могут возникать и особые ошибки. Например, при работе PHP в режиме CGI. Это характерно для сайтов, размещенных на Windows-серверах. Можно это проверить с помощью файлаtest.php. В свойства сервера Apache в строке Server API в таком случае стоит CGI. Можно попытаться обойти эту проблему, а если не получится, то целесообразно обратиться в техподдержку хостинга.

Для «обхода» проблемы необходимо чтобы на сервере была включена обработка .htaccess и поддержкаmod_rewrite. Выполните следующие действия:

RewriteEngineon 
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]

#<ifmodule mod_rewrite.c=""> 

# RewriteEngine Off 

#</ifmodule>

$remote_user = $_SERVER["REMOTE_USER"

? $_SERVER[
"REMOTE_USER"] : $_SERVER["REDIRECT_REMOTE_USER"]; 

$strTmp = base64_decode
(substr($remote_user,6))

if 
($strTmp) 

list
($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', $strTmp);

Для проверки работоспособности HTTP-авторизации воспользуйтесь http://ru2.php.net/manual/ru/features.http-auth.phphttp://ru2.php.net/manual/ru/features.http-auth.php

Ошибки MySQL

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

Возможное решение проблемы: $DB->Query("SET wait_timeout=28800");

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

[Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation '=']

Причиной является то, что таблицы базы данных в одной кодировке, а сам база в другой. В данном случае база в latin1 и новые таблицы создаются в latin1. При выгрузке из «1С» создается временная таблицаb_xml_tree в «некорректной» кодировке latin1.

Решение простое и понятное: смена кодировки базы на корректную. Для решения этой проблемы нужно обратиться к хостеру.

Логические ошибки

Логические ошибки происходят, если пользователем неверно понимается процесс обмена данными и, соответственно, им неверно выполняются какие-то действия.

Наиболее частая ошибка при выгрузке каталога товаров появляется вместе сообщением: «Изменения товаров не зарегистрированы. Выгрузка товаров не произведена». Как правило, в этом случае неверно настроен фильтр товаров. Нужно проверить эти настройки. Как правило, там выбраны параметры, которые не позволяют правильно отфильтровать параметры для выгрузки.

Но, бывают ситуации, когда такое сообщение – нормальная ситуация. Это происходит в случае, если в настройках Режима обмена данными с WEB-сайтом установлено: Выгружать только измененные объекты с момента последнего обмена.

Другая ошибка при выгрузке каталога товаров - сообщение: «Не удалось найти вид номенклатуры». Эта ошибка возникает, если в «1С» нет видов «Услуга» и «Товар». Эти типы критичны для процесса обмена данными с сайтом. Решение проблемы – создать в «1С» указанные виды номенклатуры.

Если в процессе обмена возникает ошибка: «Поле объекта не обнаружено», то это означает, что не установлены соответствия для полей заказа в «1С-Битрикс: Управление сайтом». Проверьте настройки, заданные в закладке Экспорт в «1С:Предприятие» страницы Настройки > Настройки продукта > Настройки модулей > Интернет-магазин. Поля «Полное Название» и «Название» критичны для 1С., то есть без задачи соответствия этих полей экспорт выполняться не будет. Обратите внимание, что настройка соответствий производится отдельно для разных типов плательщиков.

Добавлено

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

Недостатки

Использует довольно медленную технологию XML, CSV работает в десятки раз быстрее

Протокол Commerc Ml - это вообще не протокол, а формат, который постоянно приходится менять под каждый проект. Он разрабатывался не для обмена с сайтом, а для обмена между двумя системами 1с, например для синхронизации заказов между двумя филиалами.
Возможности ограничены обменом номенклатурой и заказами (причем заказы отправляются только с сайта в 1С).
Изменить формат обмена можно только разобравшись в кодах.
Расширить количество объектов обмена можно только глубоким программированием, как со стороны сайта так и со стороны 1С.
Диагностировать неисправности обмена и его остановку не возможно.
Главное - не предусмотрена пообъектная отправка и обработка данных. Это не позволяет понять успешно ли обработан запрос от 1С к сайту или часть запроса не обработалась. Например, 1С получает с сайта 2 заказа, при создании одного из них происходит ошибка и заказ не создается. На этом обмен заканчивается и второй заказ никогда больше в 1С не выгрузится, только при помощи ручной правки.

1) Предлагает клиентам родную интеграцию, которая работает сразу из коробки без необходимости что-то доустанавливать как в 1С, так и на сайт.
2) Поддерживает технологичный транспорт обмена между 1С и сайтом, включающий zip-сжатие, передача по HTTP(S) (вместо небезопасного и требующего настройки FTP или веб-сервисов) разбиение больших файлов и последующее склеивание, что в итоге позволяет обходить ограничения хостеров и успешно завершать выгрузку даже больших объемов данных.
3) Выгрузка только измененных позиций из 1С с использованием журналов изменений, что с лихвой компенсирует бОльшую потребность в ресурсах (но, разумеется, не в разы) на разборе XML против CSV.
4) Использование видов номенклатуры для формирования выгрузки на сайт
5) Мощный журнал результатов выгрузки с контролем ошибок.
6) Неограниченное количество профилей обмена с сайтами для одной 1С с индивидуальными настройками, а также индивидуальным гибким расписанием обмена с сайтом для каждого из них
7) Соответствие статусов заказов на сайте статусам в 1С
8) Интеграционная часть сайта реализована в виде компонента, который легко кастомизировать под свои задачи любому партнеру, добавить свои настройки, опции, изменить логику обработки тех или иных полей.

Список поддерживаемых конфигураций

http://1c.1c-bitrix.ru/ecommerce/require_1C.phphttp://1c.1c-bitrix.ru/ecommerce/require_1C.php

Скрипт для диагностики проблем интеграции с 1С

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

Для работы нужно скопировать файл скрипта в корневую папку на сервер и запустить через браузер.

Возможности данного инструмента

Также в скрипте есть функциональная подчасть FileMan с такими возможностями:

Подробнее

https://dev.1c-bitrix.ru/community/blogs/carter/2285.php

http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=42&CHAPTER_ID=04941http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=42&CHAPTER_ID=04941

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