Картинки товаров не выгружаются из 1С
Товары приехали, цены встали, а карточки пустые. Самая частая причина не в правах и не в размерах файлов: картинки при обычном обмене не передаются вовсе. Это сделано намеренно, чтобы не утяжелять выгрузку, — и об этом не догадываются, пока не упрутся.
Сначала: включена ли выгрузка картинок
В настройках обмена на стороне 1С есть отдельная кнопка — «Принудительная выгрузка картинок». Обычный обмен и обмен по изменениям передают номенклатуру, цены и остатки, но фотографии отправляют далеко не всегда: модуль считает картинку изменившейся только если её заменили в карточке.
Отсюда типовая картина: добавили новый раздел с тысячей позиций, обменялись — товары на месте, картинок нет. Нужна принудительная выгрузка, и она гонит на сайт весь массив фотографий, а не только новые.
Если кнопку найти не удаётся, проверьте, чем именно обмениваетесь. В коннекторе для Битрикс24 интерфейс отличается от модуля обмена для сайта, и привычный пункт лежит в другом месте.
Куда доезжают файлы
Это первая развилка в диагностике. Во время обмена файлы складываются в каталог /upload/1c_catalog/, внутри него появляется import_files.
- Файлы там есть, а в карточках пусто — проблема на стороне сайта: привязка, права, обязательные поля, ограничения размеров.
- Каталог пуст — 1С их не отправила: не нажата принудительная выгрузка, не отмечены картинки в настройках, нет фото у самой номенклатуры.
Деление простое, но экономит часы: половина разбирательств идёт не в той половине цепочки.
Частные случаи, которые ищут дольше всего
Полная выгрузка не передаёт картинки
Логика неочевидная: при полной выгрузке модуль не считает фотографии новыми, и они остаются в 1С. Помогает именно принудительная выгрузка картинок, а не повтор полного обмена — его часто запускают по второму и третьему разу в надежде, что «дойдёт».
Ошибка «Обязательное поле "Картинка для анонса" не заполнено»
В журнале обмена появляется ответ сервера failure с текстом про незаполненные обязательные поля — «Картинка для анонса», «Детальная картинка». Это не про обмен: в настройках инфоблока каталога эти поля помечены обязательными, и сайт отказывается сохранять товар без них.
Лечится снятием обязательности у полей картинок. Товар без фотографии лучше, чем товар, который не создался вовсе.
Ограничения размеров в настройках импорта
В настройках интеграции с 1С задаются максимальная ширина и высота для картинки анонса и для детальной. Значения там могут остаться от первой настройки сайта — например, 100 на 100 для анонса и 300 для детальной. Картинки больше этих размеров уменьшаются, а в отдельных случаях не обрабатываются.
Проверьте эти четыре поля, прежде чем искать причину в 1С.
Галка «Автоматически генерировать картинку анонса»
Когда она включена, анонс создаётся из детальной картинки. Когда выключена — в анонс уезжает оригинал целиком, и витрина начинает тянуть полноразмерные фотографии: страница каталога весит десятки мегабайт. Обратная жалоба тоже встречается: галка стоит, а анонс не генерируется — тогда смотрите ограничения размеров из предыдущего пункта.
Приходит только одна картинка из нескольких
В карточке 1С пять фотографий, на сайт приезжает первая. Так работает штатный обмен: дополнительные изображения передаются не во всех версиях модуля и не для всех конфигураций. Если нужна галерея, проверяйте версию модуля обмена и настройку выгрузки дополнительных картинок — а на старых версиях это решается доработкой.
Картинки характеристик встают не туда
Отдельная история для торговых предложений: какая фотография характеристики попадёт в детальную картинку, а какая в изображения вариации. Участники форума вендора описывают, что порядок бывает обратным ожидаемому, и признак «основная» на него влияет не всегда. Перед массовой загрузкой проверьте на двух-трёх позициях, что фото встают как задумано.
Фотографии хранятся внутри базы 1С
Если картинки лежат в самой базе, а не отдельными файлами, база растёт, обмен тяжелеет, а при переносе на другой сервер фотографии можно потерять. На больших каталогах их выносят в отдельное хранилище и подключают по пути — это заодно ускоряет выгрузку.
Часть товаров без картинок при каждом обмене
Классическая жалоба: «сто новых товаров в день, у двадцати фотографий нет, принудительная выгрузка спасает частично». Здесь обычно виноваты данные, а не настройки: битый файл, нестандартный символ в имени, формат, который не обрабатывается, нулевой размер. Выпишите проблемные позиции и сравните их фотографии в 1С с теми, что проходят, — закономерность находится быстро.
Если файлы доехали, но не привязались
Когда в import_files всё лежит, а карточки пустые, проверьте на стороне сайта:
- Права на запись в каталог загрузок: после переноса сайта владелец файлов часто меняется, и сохранить картинку веб-сервер не может.
- Свободное место. При заполненном диске файлы не записываются, а обмен считается успешным.
- Обязательные поля инфоблока — см. ошибку выше.
- Ограничения размеров в настройках импорта.
- Одинаковые имена файлов у разных товаров: второй перезаписывает первого, и у части каталога чужие фотографии.
Порядок разбора
- Сделайте принудительную выгрузку картинок из 1С — это снимает большинство случаев.
- Посмотрите, появились ли файлы в
/upload/1c_catalog/import_files. Это определит, в какой половине цепочки искать. - Откройте журнал обмена и найдите текст ошибки: про обязательные поля, про запись файла, про базу.
- Проверьте четыре поля ограничений размеров и галку генерации анонса.
- Если проблема только у части товаров — ищите закономерность в их файлах, а не в настройках.
На больших каталогах
Принудительная выгрузка картинок на двадцати тысячах позиций — это часы работы и десятки гигабайт трафика. Поэтому её делают один раз при первой загрузке, желательно ночью, а дальше фотографии обновляют точечно. Ещё практичнее при первом запуске залить архив картинок на сервер напрямую и привязать их по артикулу, не прогоняя через обмен.
И следите за местом: кеш уменьшенных копий растёт быстрее самих оригиналов — разбор в инструкции про свободное место на диске.
Частые вопросы
В настройках всё включено, а картинки не выгружаются. Почему?
Скорее всего не нажата «Принудительная выгрузка картинок» в 1С. Обычный обмен и полная выгрузка фотографии часто не передают: модуль считает их изменившимися, только если их заменили в карточке. Это сделано, чтобы не утяжелять обмен.
В журнале обмена ошибка про незаполненные «Картинка для анонса» и «Детальная картинка».
Это не ошибка обмена, а настройка инфоблока: поля картинок помечены обязательными, и сайт не сохраняет товар без них. Снимите обязательность — товар без фотографии лучше, чем несозданный товар.
Файлы появляются в upload/1c_catalog, но в карточках картинок нет.
Значит 1С отработала, а сайт не смог привязать файлы. Проверьте права на запись в каталог загрузок, свободное место, обязательные поля инфоблока и ограничения размеров в настройках импорта.
Из пяти фотографий в карточке 1С приходит только одна.
Штатный обмен передаёт дополнительные изображения не во всех версиях модуля и не для всех конфигураций. Проверьте версию модуля обмена и настройку выгрузки дополнительных картинок; на старых версиях галерея решается доработкой.
Картинки появились в административной части, но на витрине заглушки.
Это кеш уменьшенных копий. Витрина показывает не оригинал, а уменьшенную версию, которая создаётся при первом показе. Сбросьте кеш каталога и проверьте страницу в режиме инкогнито.
Почему часть товаров всегда остаётся без фотографий?
Обычно дело в самих файлах: нестандартные символы в имени, нулевой размер, формат, который не обрабатывается, или одинаковые имена у разных товаров. Выпишите проблемные позиции и сравните их файлы с теми, что проходят.
Стоит ли хранить фотографии внутри базы 1С?
На небольшом каталоге это удобно, на большом — источник проблем: база растёт, обмен тяжелеет, при переносе на другой сервер фотографии можно потерять. Их выносят в отдельное хранилище.