1С / Наиболее частые проблемы при автоматическом обмене с 1С

Заметка создана: 30 июля 2024 г.
  1. 1. Если не выгружаются цены и остатки товаров в 1С:УТ с версии 11.0.6.7 необходимо открыть «Маркетинг» → «Типовое соглашение с клиентом» и установить вид цены, условие продажи (оптовая, розничная и т.п.) и галочку «Доступность внешним пользователям».  В настройке обмена в «Выгрузка данных» → «Настроить обмен» указываете это соглашение.
  2. 2. При возникновении ошибки вида "failed sending data to the peer", проверьте наличие прокси-сервера в настройках браузера Internet Explorer. Если прокси-сервер указан, удалите его.
  3. 3. При возникновении ошибки вида "Соединение с сайтом не установлено", проверьте наличие закрывающего слеша в поле "Адрес сайта", например:
    http://site.ru/shop/1c — неверно,
    http://site.ru/shop/1c/ — верно.
  4. 4. При возникновении ошибки вида "Ошибка в значении узла <Документ>.<Валюта> документа CML", убедитесь, что интернациональное название валюты в HostCMS равно названию валюты в 1С.
  5. 5. При возникновении ошибки вида "Изменения товаров не зарегистрированы. Выгрузка товаров не произведена.", убедитесь, что в меню "Справочник" - "Номенклатура" - "Виды номенклатур" у наименования "Товар", установлен тип номенклатуры "Товар". Также проверьте корректно ли настроен фильтр выгрузки. Существуют ли товары, попадающие под условия фильтра. Убедитесь, что у всех, отмеченных галочкой, условий фильтра указаны, собственно, условия.
  6. 6. Если цена из 1С подставляется во вновь созданное поле, а основная цена нулевая, необходимо в центре администрирования в разделе Справочники → Цены скопировать название цены и удалить созданную при обмене цену в разделе Справочники → Цены, далее создать активную константу SHOP_DEFAULT_CML_CURRENCY_NAME и прописать в ее значение название скопированный в предыдущем шаге цены. Причиной такого поведения является отличие в вашей 1С наименования цены (и наименование типового соглашения с клиентами) от названия цены Розничная.
    Например, в файле offers.xml цена называется Розничная 100500, тогда создаем (если не создана) константу с названием SHOP_DEFAULT_CML_CURRENCY_NAME и значением Розничная 100500. Очень важно удалить цену с названием "Розничная 100500" из справочника цен. Если при первом импорте описанной выше константы не существовало, либо её значение не совпадало со значением "Розничная 100500", создается цена в справочнике цен с названием "Розничная 100500". Если её не удалить из справочника, создание константы не поможет.
  7. 7. Ошибка "Не удалось определить юр./физ. лицо контрагента" говорит о наличии заказа с пустыми данными (Фамилия, Имя, Отчество или Компания). Заполните данные контрагента у заказов.
  8. 8. При обмене с 1С возникает ошибка "MySQL Server has gone away". 
    В начало кода настроек типовой динамической страницы импорта из 1С добавьте:
    Core_Database::instance()->query('SET SESSION wait_timeout = 28800');