Фото товаров в номенклатуре 1С: от одной картинки до тысячи файлов за раз
Содержание
Чтобы загрузить картинку
в 1С, откройте карточку номенклатуры и щёлкните по области изображения (в 1С:Управление торговлей 11 она справа вверху) или прикрепите файл через команду Присоединенные файлы / значок скрепки, а затем назначьте его основным изображением. Для сотен товаров вручную это не делают: фото называют по артикулу и загружают обработкой, которая сама находит товар и прикрепляет файл.
Выбор способа простой. Новый товар или замена одного фото — вручную, это минута. Ассортимент обновляется пачками от поставщика — массовая загрузка. Фото нужны на сайте или маркетплейсе — их сначала загружают в 1С, а потом отдают наружу через обмен. Во всех трёх случаях результат зависит от того, как подготовлены файлы.
Подготовка изображений до загрузки в 1С
1С хранит картинку как есть: не сжимает, не обрезает и не переименовывает. Фото с телефона на 8 МБ так и ляжет в базу и будет грузиться каждый раз, когда кто-то откроет карточку. Поэтому файлы приводят в порядок заранее.
📐 Ориентиры по параметрам:
| Параметр | Рекомендация | Зачем |
|---|---|---|
| Формат | JPG для фото, PNG для схем и логотипов с прозрачностью | Эти форматы одинаково читают 1С, сайты и маркетплейсы |
| Размер по длинной стороне | 1000–1500 px | Хватает для карточки, печати и сайта |
| Вес файла | ориентировочно 100–400 КБ | База не разрастается, списки не тормозят |
| Качество JPG | 75–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С:Бухгалтерия предприятия 3.0
- Откройте
Справочники → Товары и услуги → Номенклатураи карточку товара. - Найдите в верхней части формы команду присоединённых файлов (значок скрепки) и добавьте файл с диска.
- Если в карточке есть область изображения, щёлкните по ней и выберите добавленный файл как основное изображение.
- Запишите карточку.
Внешний вид карточки зависит от релиза и настроек формы. Если области картинки не видно, проверьте Еще → Изменить форму: поле изображения могло быть скрыто пользователем.
Несколько фото на один товар
Основное изображение у товара одно. Остальные ракурсы просто хранятся во вложениях: их видно в списке присоединённых файлов, а при обмене с сайтом они уходят как дополнительные фото. Порядок вложений на сайте обычно определяется порядком добавления, поэтому основное фото прикрепляйте первым.
Массовая загрузка фото в номенклатуру 1С
Типовая «Загрузка данных из файла» в списке номенклатуры работает с таблицами: наименованиями, артикулами, ценами. Картинки она не прикрепляет. Для пакетной загрузки фото используют внешнюю обработку : готовую от поставщика решений или свою, на 30–40 строк кода.
🔍 Как работает такая обработка:
- читает папку с файлами;
- берёт имя файла без расширения и ищет по нему товар (по артикулу или коду);
- прикрепляет файл к найденному товару через подсистему работы с файлами БСП;
- назначает первый файл основным изображением;
- пишет в журнал, для каких файлов товар не нашёлся.
Ниже — серверная часть такой обработки для УТ 11. Папка должна быть доступна с сервера 1С (в клиент-серверном варианте это путь на сервере или сетевая папка, куда есть права у пользователя службы).
&НаСервере
Процедура ЗагрузитьКартинкиНаСервере(Каталог)
Файлы = НайтиФайлы(Каталог, "*.jpg");
Для Каждого Файл Из Файлы Цикл
Артикул = Файл.ИмяБезРасширения;
ПозицияСуффикса = СтрНайти(Артикул, "_");
Если ПозицияСуффикса > 0 Тогда
Артикул = Лев(Артикул, ПозицияСуффикса - 1);
КонецЕсли;
Товар = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул);
Если Товар.Пустая() Тогда
Сообщить(СтрШаблон("Не найден товар для файла %1", Файл.Имя));
Продолжить;
КонецЕсли;
Данные = Новый ДвоичныеДанные(Файл.ПолноеИмя);
Адрес = ПоместитьВоВременноеХранилище(Данные, Новый УникальныйИдентификатор);
ПараметрыФайла = РаботаСФайлами.ПараметрыДобавленияФайла();
ПараметрыФайла.ВладелецФайлов = Товар;
ПараметрыФайла.ИмяБезРасширения = Файл.ИмяБезРасширения;
ПараметрыФайла.РасширениеБезТочки = "jpg";
ПараметрыФайла.ВремяИзмененияУниверсальное = Файл.ПолучитьУниверсальноеВремяИзменения();
НовыйФайл = РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, Адрес);
ТоварОбъект = Товар.ПолучитьОбъект();
Если Не ЗначениеЗаполнено(ТоварОбъект.ФайлКартинки) Тогда
ТоварОбъект.ФайлКартинки = НовыйФайл;
ТоварОбъект.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Что важно в коде:
- Суффикс
_2,_3отрезается, и все ракурсы попадают к одному товару. - Основным становится первый загруженный файл, если основного ещё нет. Уже назначенное фото не перезаписывается.
- Реквизит основного изображения в УТ 11 называется
ФайлКартинки. В других конфигурациях имя может отличаться — посмотрите его в конфигураторе в составе справочника «Номенклатура». - Поиск
НайтиПоРеквизитувозвращает первый найденный элемент. Если артикулы в базе повторяются, сначала наведите порядок в справочнике, иначе фото уйдёт не тому товару.
Перед первым запуском сделайте резервную копию базы и прогоните обработку на копии. Откатить тысячу прикреплённых файлов вручную долго: их придётся удалять по одному или писать обратную обработку.
Выгрузка изображений на сайт и маркетплейсы
Загруженные в 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С не всегда меняет имя файла, который уходит на сайт.