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

Картинки товаров не выгружаются из 1С

Товары приехали, цены встали, а карточки пустые. Самая частая причина не в правах и не в размерах файлов: картинки при обычном обмене не передаются вовсе. Это сделано намеренно, чтобы не утяжелять выгрузку, — и об этом не догадываются, пока не упрутся.

Сначала: включена ли выгрузка картинок

В настройках обмена на стороне 1С есть отдельная кнопка — «Принудительная выгрузка картинок». Обычный обмен и обмен по изменениям передают номенклатуру, цены и остатки, но фотографии отправляют далеко не всегда: модуль считает картинку изменившейся только если её заменили в карточке.

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

Если кнопку найти не удаётся, проверьте, чем именно обмениваетесь. В коннекторе для Битрикс24 интерфейс отличается от модуля обмена для сайта, и привычный пункт лежит в другом месте.

Куда доезжают файлы

Это первая развилка в диагностике. Во время обмена файлы складываются в каталог /upload/1c_catalog/, внутри него появляется import_files.

  • Файлы там есть, а в карточках пусто — проблема на стороне сайта: привязка, права, обязательные поля, ограничения размеров.
  • Каталог пуст — 1С их не отправила: не нажата принудительная выгрузка, не отмечены картинки в настройках, нет фото у самой номенклатуры.

Деление простое, но экономит часы: половина разбирательств идёт не в той половине цепочки.

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

Полная выгрузка не передаёт картинки

Логика неочевидная: при полной выгрузке модуль не считает фотографии новыми, и они остаются в 1С. Помогает именно принудительная выгрузка картинок, а не повтор полного обмена — его часто запускают по второму и третьему разу в надежде, что «дойдёт».

Ошибка «Обязательное поле "Картинка для анонса" не заполнено»

В журнале обмена появляется ответ сервера failure с текстом про незаполненные обязательные поля — «Картинка для анонса», «Детальная картинка». Это не про обмен: в настройках инфоблока каталога эти поля помечены обязательными, и сайт отказывается сохранять товар без них.

Лечится снятием обязательности у полей картинок. Товар без фотографии лучше, чем товар, который не создался вовсе.

Ограничения размеров в настройках импорта

В настройках интеграции с 1С задаются максимальная ширина и высота для картинки анонса и для детальной. Значения там могут остаться от первой настройки сайта — например, 100 на 100 для анонса и 300 для детальной. Картинки больше этих размеров уменьшаются, а в отдельных случаях не обрабатываются.

Проверьте эти четыре поля, прежде чем искать причину в 1С.

Галка «Автоматически генерировать картинку анонса»

Когда она включена, анонс создаётся из детальной картинки. Когда выключена — в анонс уезжает оригинал целиком, и витрина начинает тянуть полноразмерные фотографии: страница каталога весит десятки мегабайт. Обратная жалоба тоже встречается: галка стоит, а анонс не генерируется — тогда смотрите ограничения размеров из предыдущего пункта.

Приходит только одна картинка из нескольких

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

Картинки характеристик встают не туда

Отдельная история для торговых предложений: какая фотография характеристики попадёт в детальную картинку, а какая в изображения вариации. Участники форума вендора описывают, что порядок бывает обратным ожидаемому, и признак «основная» на него влияет не всегда. Перед массовой загрузкой проверьте на двух-трёх позициях, что фото встают как задумано.

Фотографии хранятся внутри базы 1С

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

Часть товаров без картинок при каждом обмене

Классическая жалоба: «сто новых товаров в день, у двадцати фотографий нет, принудительная выгрузка спасает частично». Здесь обычно виноваты данные, а не настройки: битый файл, нестандартный символ в имени, формат, который не обрабатывается, нулевой размер. Выпишите проблемные позиции и сравните их фотографии в 1С с теми, что проходят, — закономерность находится быстро.

Если файлы доехали, но не привязались

Когда в import_files всё лежит, а карточки пустые, проверьте на стороне сайта:

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

Порядок разбора

  1. Сделайте принудительную выгрузку картинок из 1С — это снимает большинство случаев.
  2. Посмотрите, появились ли файлы в /upload/1c_catalog/import_files. Это определит, в какой половине цепочки искать.
  3. Откройте журнал обмена и найдите текст ошибки: про обязательные поля, про запись файла, про базу.
  4. Проверьте четыре поля ограничений размеров и галку генерации анонса.
  5. Если проблема только у части товаров — ищите закономерность в их файлах, а не в настройках.

На больших каталогах

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

И следите за местом: кеш уменьшенных копий растёт быстрее самих оригиналов — разбор в инструкции про свободное место на диске.

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

В настройках всё включено, а картинки не выгружаются. Почему?

Скорее всего не нажата «Принудительная выгрузка картинок» в 1С. Обычный обмен и полная выгрузка фотографии часто не передают: модуль считает их изменившимися, только если их заменили в карточке. Это сделано, чтобы не утяжелять обмен.

В журнале обмена ошибка про незаполненные «Картинка для анонса» и «Детальная картинка».

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

Файлы появляются в upload/1c_catalog, но в карточках картинок нет.

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

Из пяти фотографий в карточке 1С приходит только одна.

Штатный обмен передаёт дополнительные изображения не во всех версиях модуля и не для всех конфигураций. Проверьте версию модуля обмена и настройку выгрузки дополнительных картинок; на старых версиях галерея решается доработкой.

Картинки появились в административной части, но на витрине заглушки.

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

Почему часть товаров всегда остаётся без фотографий?

Обычно дело в самих файлах: нестандартные символы в имени, нулевой размер, формат, который не обрабатывается, или одинаковые имена у разных товаров. Выпишите проблемные позиции и сравните их файлы с теми, что проходят.

Стоит ли хранить фотографии внутри базы 1С?

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