Картинки товаров в базе 1С 8.3: от подготовки файла до показа в списке и печатной форме

· 10 мин

Содержание

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

Частое заблуждение — «картинку надо куда-то вставить в макет». Нет: в справочник её не вставляют, а прикрепляют как файл. Где этот файл физически хранится — в самой базе или в папке на диске, — решает администратор. От этого зависит размер базы, скорость резервного копирования и то, увидит ли картинку пользователь веб-клиента.

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

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

Формат файла

ФорматКогда братьКомментарий
JPEG (.jpg)фото товаралучший баланс качества и веса
PNG (.png)логотипы, схемы, прозрачный фондля фото тяжелее JPEG в разы
GIF, BMPтолько если другого нетBMP без сжатия, весит много
HEIC (iPhone), WebP (сайты)не загружать как естьпереконвертируйте в JPEG

Снимки с телефона и картинки, скачанные с сайтов поставщика, — главный источник «пустых» карточек. Файл загружается, но не отображается. Перед загрузкой сохраните их в JPEG любым редактором.

Размер и вес

  • 📐 Для карточки и печатных форм хватает 800–1200 пикселей по длинной стороне.
  • 💾 Ориентир по весу — 100–300 КБ на картинку. Фото 6000×4000 пикселей весит 5–8 МБ и ничего не добавляет к качеству на экране.
  • 🧮 Простая арифметика: 2 000 товаров × 5 МБ = около 10 ГБ в базе. Те же 2 000 товаров × 200 КБ = около 400 МБ.

Имена файлов для массовой загрузки

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

Если у одного товара несколько фото, добавьте суффикс: A-1024_1.jpg, A-1024_2.jpg. Обработка возьмёт артикул до символа подчёркивания.

Где хранить изображения: в базе или в томах на диске

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

Альтернатива — тома хранения файлов: в базе остаётся только ссылка, а сам файл лежит в папке на диске или в сетевом ресурсе. Включается это в разделе Администрирование → Общие настройки, в группе настроек работы с файлами: флажок хранения файлов в томах на диске и ссылка на список томов. Для каждого тома указывают полный путь, отдельно для Windows и для Linux, если серверы разные.

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

Папка тома должна быть доступна на запись тому пользователю, под которым работает сервер 1С (в клиент-серверном варианте) или пользователь (в файловом). Если права есть только у вас, у коллег загрузка будет падать с ошибкой записи.

Том на диске — это часть данных базы. Если копируете базу, а папку тома забыли, все картинки в копии пропадут.

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

Пошаговая загрузка изображения в карточку номенклатуры

Порядок одинаковый для БП 3.0 и УТ 11, различается только расположение элементов формы.

КонфигурацияГде открыть карточкуГде картинка на форме
Бухгалтерия 3.0Справочники → Товары и услуги → Номенклатураобласть изображения в карточке, плюс скрепка «Присоединенные файлы» в командной панели
Управление торговлей 11НСИ и администрирование → НСИ → Номенклатураобласть изображения в правой части карточки

Шаг 1. Откройте элемент

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

Шаг 2. Добавьте файл

Щёлкните по пустой области изображения. Откроется выбор файла — укажите картинку на диске. Второй путь — через скрепку «Присоединенные файлы»: откроется список файлов элемента, там команда Создать (или добавление файла с диска), затем выбор файла.

Через список присоединённых файлов удобно прикреплять сразу несколько фото, сертификаты, паспорта изделия в PDF.

Шаг 3. Назначьте основное изображение

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

Шаг 4. Запишите элемент

Нажмите Записать и закрыть. Откройте карточку снова — картинка должна отображаться.

Как заменить или убрать картинку

  • 🔁 Замена: щёлкните по изображению правой кнопкой (или через меню над картинкой) и выберите другой файл, либо назначьте основным другой присоединённый файл.
  • 🗑️ Удаление: в списке присоединённых файлов файл помечают на удаление. Физически он исчезнет после удаления помеченных объектов: Администрирование → Обслуживание → Удаление помеченных объектов.

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

Массовая загрузка картинок номенклатуры из папки

Сто карточек руками — это вечер. Тысяча — неделя. Варианты автоматизации:

  1. Обмен с сайтом в формате CommerceML. Если товары и фото уже есть в интернет-магазине, при загрузке каталога 1С подтягивает и картинки из пакета обмена. Работает, только если обмен настроен в обе стороны и сайт выгружает изображения.
  2. Внешняя обработка. Самый частый путь: обработка проходит по папке, по имени файла находит товар по артикулу и прикрепляет картинку. Готовые обработки распространяются бесплатно, но берите их из проверенных источников и запускайте сначала на копии.
  3. Своя обработка или расширение. Пишется за час, если в конфигурации есть БСП (подсистема «Работа с файлами»).

Перед запуском любой обработки:

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

Пример кода для своей обработки

Ниже — серверная процедура для конфигураций на БСП 3.x. Она берёт все JPEG из каталога на сервере, ищет номенклатуру по артикулу и, если у товара ещё нет основной картинки, прикрепляет файл и делает его основным.

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

	Файлы = НайтиФайлы(Каталог, "*.jpg");
	Загружено = 0;

	Для Каждого Файл Из Файлы Цикл

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

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

		Если ЗначениеЗаполнено(Товар.ФайлКартинки) Тогда
			Продолжить; // картинка уже есть
		КонецЕсли;

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

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

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

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

		Загружено = Загружено + 1;

	КонецЦикла;

	Сообщить(СтрШаблон("Загружено картинок: %1 из %2", Формат(Загружено, "ЧГ=0"), Формат(Файлы.Количество(), "ЧГ=0")));

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

Что учесть:

  • 📁 Путь Каталог — путь на сервере 1С, а не на компьютере пользователя. В файловой базе это одно и то же, в клиент-серверной — нет.
  • 🔤 Маска *.jpg в Windows найдёт и .JPG, в Linux — нет. На Linux-сервере добавьте второй вызов с *.JPG.
  • 🧾 Реквизит ФайлКартинки есть у номенклатуры в БП 3.0 и УТ 11. В другой конфигурации проверьте имя реквизита в конфигураторе.
  • ⚠️ Если артикулы в базе повторяются, НайтиПоРеквизиту вернёт первый найденный элемент. Дубли артикулов почистите до загрузки.

Технические ограничения платформы 1С 8.3

Картинка в 1С — это объект типа Картинка. Платформа уверенно показывает растровые BMP, GIF, JPEG, PNG, TIFF и ICO, а также векторные WMF и EMF. Всё остальное — на свой риск.

Что ограничивает загрузку на практике:

  • 📏 Максимальный размер файла — настройка работы с файлами в конфигурации. Файл больше лимита не загрузится, программа сообщит о превышении.
  • 🚫 Запрещённые расширения — там же. Обычно туда попадают исполняемые файлы, но администратор мог добавить и графические.
  • 🌐 Веб-клиент и тонкий клиент через интернет — каждая картинка едет по сети. Карточка с фото на 8 МБ открывается секунды, список с превью — заметно медленнее.
  • 🗄️ Файловая база — все картинки внутри одного файла 1Cv8.1CD. Чем он больше, тем дольше копирование и тестирование базы .
  • 🔄 Обмены — при синхронизации с другой базой файлы могут передаваться вместе с данными. Тяжёлые картинки раздувают пакеты обмена.

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

Показ изображений в списках, отчётах и печатных формах

Сама по себе загрузка картинки ещё не значит, что её видно везде.

В списке номенклатуры

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

В Бухгалтерии 3.0 список номенклатуры картинки не показывает: фото видно только в карточке. Вывести колонку с превью можно доработкой формы в расширении.

В печатных формах

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

В отчётах на СКД

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

Где вам нужна картинка товара?

Почему картинка не загружается или не отображается в 1С

Что видитеВероятная причинаЧто сделать
Сообщение о превышении размера файлафайл больше лимита в настройкахуменьшить картинку или поднять лимит в настройках работы с файлами
Сообщение, что расширение запрещенорасширение в списке запрещённыхубрать его из списка или сохранить файл в другом формате
Файл загрузился, а в карточке пустоформат HEIC, WebP или повреждённый файлпереконвертировать в JPEG и загрузить снова
Фото с неправильными цветамиJPEG сохранён в цветовой модели CMYK (из типографии)пересохранить в RGB
Картинка есть в файлах, но не в карточкефайл не назначен основным изображениемназначить его основным в списке присоединённых файлов
Ошибка записи файла при загрузкеу сервера 1С нет прав на папку томавыдать права на запись пользователю службы сервера 1С
После копирования базы картинки пропалифайлы были в томах на диске, папку не скопировалископировать папку тома и поправить путь к тому в копии
В веб-клиенте не открывается выбор файлане установлено расширение для работы с файлами в браузереустановить его по предложению программы

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

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

Можно ли загрузить изображение в 1С без присоединённых файлов, прямо в реквизит?
Можно, если в конфигурации есть реквизит типа «Хранилище значения» для картинки. В типовых БП 3.0 и УТ 11 картинки идут через присоединённые файлы, и это правильный путь: так работает поиск, тома и обмены.
Сколько фото можно прикрепить к одному товару?
Ограничения на количество нет. В карточке показывается одно основное изображение, остальные доступны в списке присоединённых файлов.
Попадут ли картинки в выгрузку .dt?
Если файлы хранятся в базе — да. Если в томах на диске — в .dt попадут только ссылки, папку тома копируют отдельно.
Можно ли взять картинку по ссылке из интернета?
Стандартная карточка загружает только файл с диска. Сначала скачайте изображение, затем прикрепите. Загрузку по URL делают внешней обработкой.
Видят ли картинки пользователи с ограниченными правами?
Видят, если у них есть право на чтение самого справочника и присоединённых к нему файлов. Если товар открывается, а фото нет — проверьте профиль доступа пользователя.