При попытке обмена заказами с 1С выдается ошибка "Ответ сервера: zip=no file_limit=-1 Не удалось получить версию XML. Загрузка с сайта невозможна."

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Егор Овчаренко
  • Группа: Клиент
  • Сообщений: 19
  • Регистрация: 20.10.2014

31.10.2014 17:59

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

______________________________________________________________________
Начало обмена узла Обмен заказами
Очистка регистра пакетов обмена.
Очистка регистра пакетов обмена завершена.
Загрузка информации по заказам.
Отправка запроса на авторизацию.
Отправка запроса на инициализацию, для определения версии обмена данных.
Не удалось получить версию XML. Загрузка с сайта невозможна
Ответ сервера: zip=no
file_limit=-1
Загрузка информации по заказам ЗАВЕРШЕНА
Выгрузка информации по заказам.
Формирование пакетов для документов
Формирование пакетов для документов завершено
Выгрузка пакетов заказов в XML.
Выгрузка пакетов заказов в XML завершена.
Выгрузка информации по заказам ЗАВЕРШЕНА
Завершение обмена Обмен заказами
______________________________________________________________________


В логах в папке var/log/ есть примерно в это время такой текст в файле "rm-2014-10-31--15-42.log":

URL:                 http://allshellac.ru/df-1c/cml2/index/?type=sale&mode=info&&version=2.08
Версия Magento:      2.40.1 (1.9.0.1)
Версия PHP:          5.4.4-14+deb7u14
Время:               2014-10-31 15:42:01 MSK
Оформительская тема: default / blanco
***********************************
Недопустимое значение параметра «mode»: «info»
***********************************
Файл:        app/code/local/Df/1C/Model/Cml2/InputRequest/Generic.php
Строка:      24
Субъект:     Df_1C_Model_Cml2_InputRequest_Generic::getMode
Объект:      df_error
Контекст:
                                        ,self::MODE__SUCCESS
                                )
                        )
                ) {
                        df_error(
                                'Недопустимое значение параметра «mode»: «%s»'
                                ,$result
                        );
                }
                return $result;
        }

        /** @return string */
        public function getType() {
                /** @var string $result */
                $result = $this->getParam('type');


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

Обмен товарами с этим же сайтом из этой же 1C проходит отлично.

Версия 1С: 1С:Предприятие 8.3 (8.3.5.1186)
Конфигурация: Управление торговлей, редакция 11.1 (11.1.9.44) (http://v8.1c.ru/trade/)

Скриншоты настроек точки обмена:
Прикрепленное изображение: Screen Shot 2014-10-31 at 17.54.43.png
Прикрепленное изображение: Screen Shot 2014-10-31 at 17.56.08.png

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

#2 Егор Овчаренко
  • Группа: Клиент
  • Сообщений: 19
  • Регистрация: 20.10.2014

31.10.2014 18:07

Доп. скриншот настроек:
Прикрепленное изображение: Screen Shot 2014-10-31 at 18.05.39.png

#3 Егор Овчаренко
  • Группа: Клиент
  • Сообщений: 19
  • Регистрация: 20.10.2014

01.11.2014 11:36

Я временно в 1С закомментировал код проверки версии XML файла и стала появляться другая ошибка (не знаю, относится ли это к другой ошибке поэтому пока пишу в эту тему):

URL:                 http://allshellac.ru/df-1c/cml2/index/?type=sale&mode=query&
Версия Magento:      2.40.1 (1.9.0.1)
Версия PHP:          5.4.4-14+deb7u14
Время:               2014-10-31 22:22:13 MSK***********************************
Система не нашла в базе данных объект класса «Df_Catalog_Model_Product» с идентификатором «3».
***********************************
Файл:        app/code/local/Df/Core/lib/fp/other.php
Строка:      219
Субъект:     df_load
Объект:      df_error
Контекст:
                        $result = null;
                }
                else {
                        df_error(
                                'Система не нашла в базе данных объект класса «%s» с идентификатором «%d».'
                                ,get_class($result)
                                ,$id
                        );
                }
        }
        if (!is_null($result)) {
                /** @var mixed $modelId */
                $modelId = is_null($field) ? $result->getId() : $result->getData($field);
                /**
                 * Обратите внимание, что мы намеренно используем !=, а не !==
                 */
************************************
Файл:        app/code/local/Df/Catalog/Model/Product.php
Строка:      950
Субъект:     Df_Catalog_Model_Product::ld
Объект:      df_load
Контекст:
                        $sku = $id;


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

#4 Александр Шарковский
  • Группа: Клиент
  • Сообщений: 21
  • Регистрация: 04.11.2014

25.11.2014 03:56

У меня та же ошибка
24.11.2014 16:41:07--Начало обмена узла Обмен с сайтом (Номенклатура)
24.11.2014 16:41:07--Очистка регистра пакетов обмена.
24.11.2014 16:41:08--Очистка регистра пакетов обмена завершена.
24.11.2014 16:41:08--Загрузка информации по заказам.
24.11.2014 16:41:08--Отправка запроса на авторизацию.
24.11.2014 16:41:09--Отправка запроса на инициализацию, для определения версии обмена данных.
24.11.2014 16:41:10--Не удалось получить версию XML. Загрузка с сайта невозможна
24.11.2014 16:41:10--Ответ сервера: zip=no
file_limit=-1

Есть решение?

Поделиться темой: