Ошибка при обмене заказами через 1С

Материал из Umicms
Перейти к:навигация, поиск

Актуально для версии 2.9

Проблема: При синхронизации через 1С, возникает ошибка на этапе обмена заказами.

Ошибка может быть выглядеть следующим образом:

Выгружено товаров: 10
Выгружено картинок: 9
Выгрузка товаров успешно завершена
Выгружено заказов: 7
Произошла ошибка на стороне сервера. Не получен статус завершения операции. 
Файл не отправлен (C:\0a0fc4c7-cf54-4b0a-9ba0-0e42fe9ff291\1cbitrix-6ff19691-637c-dd0f-aad3-32a00be942c8.xml.1).
Обмен не выполнен
Ответ сервера:
Warning: XMLReader::read(): /sys-temp/1c_import/1cbitrix-6ff19691-637c-dd0f-aad3-32a00be942c8.xml:1965: 
parser error : Extra content at the end of the document in /classes/system/subsystems/import/splitters/commerceML2Splitter.php
on line 187
 
Обмен заказами завершен с ошибками!!!

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

Для таких ситуаций мы предусмотрели настройку в config.ini

 exchange.commerceML.maxFileSize = "102400" 

По-умолчанию настройка выставлена в 102400 байт и если файл в папке sys-temp/1c_import будет иметь размер точно такой же, каков указан в настройке, то остается только эксперементальным путем подбирать значение параметра exchange.commerceML.maxFileSize, чтобы файл с заказами мог загрузится целиком.

По материалам отдела разработки.