Фото товаров в номенклатуре 1С: от одной картинки до тысячи файлов за раз

· 10 мин

Содержание

Чтобы загрузить картинку в 1С, откройте карточку номенклатуры и щёлкните по области изображения (в 1С:Управление торговлей 11 она справа вверху) или прикрепите файл через команду Присоединенные файлы / значок скрепки, а затем назначьте его основным изображением. Для сотен товаров вручную это не делают: фото называют по артикулу и загружают обработкой, которая сама находит товар и прикрепляет файл.

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

Подготовка изображений до загрузки в 1С

1С хранит картинку как есть: не сжимает, не обрезает и не переименовывает. Фото с телефона на 8 МБ так и ляжет в базу и будет грузиться каждый раз, когда кто-то откроет карточку. Поэтому файлы приводят в порядок заранее.

📐 Ориентиры по параметрам:

ПараметрРекомендацияЗачем
ФорматJPG для фото, PNG для схем и логотипов с прозрачностьюЭти форматы одинаково читают 1С, сайты и маркетплейсы
Размер по длинной стороне1000–1500 pxХватает для карточки, печати и сайта
Вес файлаориентировочно 100–400 КББаза не разрастается, списки не тормозят
Качество JPG75–85%Разница с 100% на глаз не видна, вес меньше в 3–5 раз
Цветовое пространствоsRGBВ CMYK цвета на экране «уезжают»
Имя файлаартикул латиницей и цифрами: AB-1024.jpgНужно для массовой загрузки и сайта

🗂 Правила именования, если фото несколько на товар:

  • AB-1024.jpg — основное фото;
  • AB-1024_2.jpg, AB-1024_3.jpg — дополнительные ракурсы;
  • без пробелов, кириллицы, скобок и символов #, %, &.

Пакетно сжать и переименовать сотни файлов удобно любым графическим редактором с пакетной обработкой или консольной утилитой вроде ImageMagick. Пример для папки с фото: уменьшить все изображения до 1200 px по длинной стороне и сохранить с качеством 80%.

magick mogrify -path D:\photo_ready -resize 1200x1200^> -quality 80 -colorspace sRGB D:\photo_src\*.jpg

Знак ^> в Windows экранирует >: картинки меньше 1200 px не растягиваются. Исходники в D:\photo_src остаются нетронутыми, готовые файлы ложатся в D:\photo_ready.

Как добавить картинку в карточку номенклатуры вручную

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

1С:Управление торговлей 11 и Комплексная автоматизация

  1. Откройте НСИ и администрирование → НСИ → Номенклатура и карточку нужного товара.
  2. Щёлкните по пустой области картинки в правой верхней части формы.
  3. Выберите файл на диске и подтвердите. Картинка сразу появится в карточке.
  4. Нажмите Записать и закрыть.

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

1С:Бухгалтерия предприятия 3.0

  1. Откройте Справочники → Товары и услуги → Номенклатура и карточку товара.
  2. Найдите в верхней части формы команду присоединённых файлов (значок скрепки) и добавьте файл с диска.
  3. Если в карточке есть область изображения, щёлкните по ней и выберите добавленный файл как основное изображение.
  4. Запишите карточку.

Внешний вид карточки зависит от релиза и настроек формы. Если области картинки не видно, проверьте Еще → Изменить форму: поле изображения могло быть скрыто пользователем.

Несколько фото на один товар

Основное изображение у товара одно. Остальные ракурсы просто хранятся во вложениях: их видно в списке присоединённых файлов, а при обмене с сайтом они уходят как дополнительные фото. Порядок вложений на сайте обычно определяется порядком добавления, поэтому основное фото прикрепляйте первым.

Массовая загрузка фото в номенклатуру 1С

Типовая «Загрузка данных из файла» в списке номенклатуры работает с таблицами: наименованиями, артикулами, ценами. Картинки она не прикрепляет. Для пакетной загрузки фото используют внешнюю обработку : готовую от поставщика решений или свою, на 30–40 строк кода.

🔍 Как работает такая обработка:

  • читает папку с файлами;
  • берёт имя файла без расширения и ищет по нему товар (по артикулу или коду);
  • прикрепляет файл к найденному товару через подсистему работы с файлами БСП;
  • назначает первый файл основным изображением;
  • пишет в журнал, для каких файлов товар не нашёлся.

Ниже — серверная часть такой обработки для УТ 11. Папка должна быть доступна с сервера 1С (в клиент-серверном варианте это путь на сервере или сетевая папка, куда есть права у пользователя службы).

&НаСервере
Процедура ЗагрузитьКартинкиНаСервере(Каталог)

	Файлы = НайтиФайлы(Каталог, "*.jpg");
	Для Каждого Файл Из Файлы Цикл

		Артикул = Файл.ИмяБезРасширения;
		ПозицияСуффикса = СтрНайти(Артикул, "_");
		Если ПозицияСуффикса > 0 Тогда
			Артикул = Лев(Артикул, ПозицияСуффикса - 1);
		КонецЕсли;

		Товар = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул);
		Если Товар.Пустая() Тогда
			Сообщить(СтрШаблон("Не найден товар для файла %1", Файл.Имя));
			Продолжить;
		КонецЕсли;

		Данные = Новый ДвоичныеДанные(Файл.ПолноеИмя);
		Адрес = ПоместитьВоВременноеХранилище(Данные, Новый УникальныйИдентификатор);

		ПараметрыФайла = РаботаСФайлами.ПараметрыДобавленияФайла();
		ПараметрыФайла.ВладелецФайлов = Товар;
		ПараметрыФайла.ИмяБезРасширения = Файл.ИмяБезРасширения;
		ПараметрыФайла.РасширениеБезТочки = "jpg";
		ПараметрыФайла.ВремяИзмененияУниверсальное = Файл.ПолучитьУниверсальноеВремяИзменения();

		НовыйФайл = РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, Адрес);

		ТоварОбъект = Товар.ПолучитьОбъект();
		Если Не ЗначениеЗаполнено(ТоварОбъект.ФайлКартинки) Тогда
			ТоварОбъект.ФайлКартинки = НовыйФайл;
			ТоварОбъект.Записать();
		КонецЕсли;

	КонецЦикла;

КонецПроцедуры

Что важно в коде:

  1. Суффикс _2, _3 отрезается, и все ракурсы попадают к одному товару.
  2. Основным становится первый загруженный файл, если основного ещё нет. Уже назначенное фото не перезаписывается.
  3. Реквизит основного изображения в УТ 11 называется ФайлКартинки. В других конфигурациях имя может отличаться — посмотрите его в конфигураторе в составе справочника «Номенклатура».
  4. Поиск НайтиПоРеквизиту возвращает первый найденный элемент. Если артикулы в базе повторяются, сначала наведите порядок в справочнике, иначе фото уйдёт не тому товару.

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

Перед массовой загрузкой фото
Выполнено: 0 / 6

Выгрузка изображений на сайт и маркетплейсы

Загруженные в 1С картинки дальше уходят наружу. Механика разная для сайта и для маркетплейса.

Сайт: обмен по CommerceML

В УТ 11, КА и ERP есть встроенный обмен с сайтами по формату CommerceML — с ним работают 1С-Битрикс и многие CMS с модулем обмена. Настройка: НСИ и администрирование → Синхронизация данных, затем обмен с сайтом. В параметрах выгрузки товаров включается выгрузка картинок.

📦 Что происходит при обмене:

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

Отсюда правило: чем легче исходник в 1С, тем быстрее идёт обмен. Каталог на 5 000 товаров с фото по 5 МБ — это 25 ГБ на каждую полную выгрузку. С фото по 300 КБ — около 1,5 ГБ.

Маркетплейсы: фото по ссылке

Ozon и Wildberries в большинстве сценариев интеграции принимают фото не файлом, а ссылкой на изображение в интернете. Поэтому цепочка такая: 1С → хранилище с публичным доступом (сайт, облако, CDN) → ссылка в карточке маркетплейса. Готовые модули интеграции 1С с маркетплейсами делают это сами, но требования к фото проверяют на стороне площадки.

ПлощадкаОриентир по фотоЧто проверить
Wildberriesвертикальные фото 3:4, ориентировочно от 900×1200 pxТребования в кабинете продавца, они меняются
Ozonсоотношение 3:4 или 1:1, белый или светлый фон для основного фотоМинимальный размер и вес в справке площадки
Собственный сайтзависит от шаблона, обычно квадрат или 4:3Какие превью генерирует CMS

Если товар продаётся и на сайте, и на маркетплейсах, держите в 1С фото под самые строгие требования, обычно это 3:4 и не меньше 900×1200 px. Тогда один файл подойдёт всем площадкам.

Где хранить картинки, чтобы база не тормозила

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

СпособПлюсыМинусыКогда выбирать
В информационной базеВсё в одной базе, резервная копия .dt включает фотоБаза растёт, выгрузка .dt и обновление идут дольшеДо нескольких сотен фото, файловая база
В томах на дискеБаза остаётся компактной, файлы лежат на сервереТома нужно бэкапить отдельно, нужны права у службы 1СКаталог от тысячи товаров, клиент-серверный вариант

При переходе на тома в настройках указывают путь к тому, например \\fileserver\1c_files\ut11. Для клиент-серверной базы путь должен открываться от имени пользователя, под которым работает служба сервера 1С, а не от вашего пользователя Windows.

⚡ Что ещё ускоряет работу с графикой:

  • не выводите картинку в динамический список номенклатуры: подбор и списки грузятся медленнее, когда каждая строка тянет изображение;
  • держите вес фото в пределах 400 КБ — карточка открывается почти мгновенно даже по медленному каналу;
  • через RDP и веб-клиент тяжёлые фото тормозят сильнее, чем в локальной сети;
  • после массовой загрузки посмотрите размер базы и томов: если вырос в разы, значит, загрузили несжатые исходники.

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

Проблемы с картинками в 1С и как их решить

Диагностика: выберите симптом

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

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

Можно ли загрузить картинку в 1С по ссылке из интернета?
Типовые конфигурации прикрепляют только файлы с диска. Чтобы загружать по URL, нужна обработка, которая скачивает файл через HTTP-соединение и уже потом прикрепляет его к товару.
Выводится ли картинка товара в печатных формах?
Да, если форма это поддерживает. Например, в УТ 11 изображения могут выводиться в коммерческом предложении. В счёт и накладную по типовым макетам фото не попадает.
Как выгрузить все картинки из 1С в папку?
Отдельной типовой команды для всех товаров разом нет. Варианты: выгрузить через обмен с сайтом в папку на диске или сохранить файлы обработкой, которая обходит присоединённые файлы номенклатуры.
Сколько места займут фото в базе?
Примерно столько же, сколько сами файлы. 3 000 товаров по 2 фото весом 300 КБ — около 1,8 ГБ. Несжатые фото по 5 МБ дадут уже около 30 ГБ.
Можно ли добавить картинку к характеристике товара, а не к самому товару?
В УТ 11 и КА при включённых характеристиках у характеристики может быть своё изображение, например для цвета. Порядок тот же: открыть карточку характеристики и прикрепить файл.