Бесплатный экспресс-аудит сайта Безопасность, SEO, AI-поиск и 152-ФЗ — отчёт с баллами за минуту Проверить сайт
Обсудить проект

Почему товары из 1С не попадают на сайт

Симптомы разные, причин немного. Ниже порядок, в котором их проверяют, от самого частого к редкому.

Что проверить по шагам

  1. Откройте журнал обмена на сайте и в 1С: там видно, сеанс завершился с ошибкой или вовсе не запускался.
  2. Проверьте пользователя обмена: не менялся ли пароль, есть ли права на импорт каталога. Это причина номер один.
  3. Посмотрите кодировку выгружаемых файлов, если в названиях товаров нечитаемые символы.
  4. Проверьте лимиты сервера: время выполнения скрипта, память, максимальный размер загружаемого файла.
  5. Сверьте типы цен: цены не обновляются, когда вид цены на сайте не соответствует выгружаемому из 1С.
  6. Проверьте правило для отсутствующих товаров, если часть каталога внезапно скрылась.
  7. Посмотрите, не обновлялась ли недавно 1С или сайт по отдельности: после одностороннего обновления обмен часто перестаёт понимать формат.
  8. Убедитесь, что задание обмена вообще выполняется: остановленный cron выглядит точно как сломанный обмен.

Неочевидные причины, которые ищут дольше всего

  • Расхождение времени между сервером базы данных и веб-сервером. Если оно больше десяти минут, авторизация обмена перестаёт работать, хотя логин и пароль верные.
  • Права на каталог /upload/1c_catalog/. Пользователь веб-сервера должен иметь право записи: файлы выгрузки складываются именно туда частями.
  • Два обмена одновременно. Запущенные параллельно сеансы дерутся за временную таблицу, и появляется ошибка о том, что её не существует. Проверьте, не стоит ли расписание слишком плотно.
  • Одинаковые названия типов цен в 1С — сайт не может их различить и импорт метаданных падает.
  • Лимиты редакции. Число типов цен и складов ограничено редакцией продукта: лишние просто не создаются.
  • Оборванная выгрузка плюс деактивация. Сайт скрывает всё, что не пришло в текущей сессии. Если связь оборвалась на середине полной выгрузки, каталог опустеет наполовину.

Симптом и причина

  • Ошибка авторизации. Неверный логин, смена пароля или нехватка прав у служебного пользователя.
  • Кракозябры в карточках. Несовпадение кодировок между выгрузкой и сайтом.
  • Обмен падает по таймауту. Большой каталог и лимиты сервера; нужно дробление выгрузки.
  • Пропали товары. Неполная выгрузка вместе с включённым скрытием отсутствующих позиций.
  • Старые цены. Отдельный поток обмена ценами, который не запускается, или несовпадение типов цен.
  • Нет заказов в 1С. Остановленное задание, истёкшие доступы или несопоставленные статусы.

Что сделать, чтобы не повторялось

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

Настройка обмена с нуля описана в инструкции как настроить обмен сайта с 1С. Если обмен падает регулярно и разбираться некому, это закрывается поддержкой сайта.

Частые вопросы

Вместо названий товаров непонятные символы. Что это?

Кодировка. Часть выгрузок отдаёт файлы в Windows-1251, а сайт ждёт UTF-8. Лечится настройкой кодировки в обмене; если выгрузку делает нетиповая обработка, правят её.

Обмен обрывается на середине большого каталога.

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

Заказы с сайта не приходят в 1С.

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

Каталог наполовину опустел после обмена. Что произошло?

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