Справочники и Данные · 12 мин
Где в 1С хранятся картинки номенклатуры
Разбираемся, где 1С хранит изображения товаров: справочник хранилища файлов, тома на диске, присоединенные файлы. Практические способы найти и выгрузить картинки.
Вопрос о том, где в 1С хранятся картинки номенклатуры, возникает в двух типичных ситуациях: когда нужно массово выгрузить изображения товаров для сайта или маркетплейса и когда требуется разобраться, почему база «раздулась» или, наоборот, почему картинки перестали отображаться после переноса базы. Ответ зависит от конфигурации и настроек: в типовых решениях на управляемых формах (УТ 11, КА 2, ERP 2, Розница 2/3) используется механизм присоединенных файлов, и картинки могут лежать либо внутри самой базы, либо в томах на диске.
Ключевой момент: сама карточка номенклатуры не содержит картинку. В ней хранится только ссылка на элемент справочника присоединенных файлов (обычно «НоменклатураПрисоединенныеФайлы»), а уже этот элемент указывает, где физически лежит файл — в таблице базы данных или в каталоге на диске. Поэтому искать изображения нужно не в справочнике «Номенклатура», а в связанных объектах.
Ниже разобраны оба варианта хранения, способы быстро определить текущий режим в вашей базе, пути к папкам с томами, а также практические методы выгрузки картинок и типичные проблемы при переносе.
Как устроено хранение изображений в типовых конфигурациях
В конфигурациях на базе Библиотеки стандартных подсистем (БСП) работа с файлами построена через подсистему «Присоединенные файлы». Для номенклатуры создается справочник-хранилище, обычно называемый «НоменклатураПрисоединенныеФайлы». Каждый элемент этого справочника — это один файл: картинка, инструкция, сертификат. У элемента есть реквизиты с именем файла, расширением, размером и служебным полем, определяющим способ хранения.
Основное изображение товара задается через реквизит «Файл картинки» в карточке номенклатуры — это ссылка на один из присоединенных файлов. Остальные изображения просто привязаны к товару и видны в панели присоединенных файлов. При выгрузке на сайт через обмен CommerceML передаются все присоединенные изображения, а не только основное.
В старых конфигурациях на обычных формах, например УТ 10.3, применяется другой механизм: справочник «Хранилище дополнительной информации», где картинка лежит в реквизите типа «ХранилищеЗначения» непосредственно в базе. Томов на диске там нет, поэтому база с большим каталогом товаров заметно растет в размере.
Два режима хранения: в базе и в томах на диске
Режим хранения определяется настройкой «Хранить файлы в томах на диске» в разделе администрирования. Если она выключена, двоичные данные каждой картинки помещаются в информационную базу — в клиент-серверном варианте это таблицы СУБД, в файловом — данные внутри файла 1Cv8.1CD. Плюс подхода: база самодостаточна, при переносе ничего не теряется. Минус: файл базы растет, резервные копии становятся тяжелее, а выгрузка в dt занимает больше времени.
Если тома включены, в базе остаются только метаданные файла (имя, размер, путь относительно тома), а сами картинки лежат в обычной папке на диске сервера или компьютера. Это удобно при большом числе изображений: база остается компактной, а файлы можно бэкапить файловыми средствами. Обратная сторона — при переносе базы на другой сервер папку томов нужно переносить отдельно, иначе картинки «потеряются», хотя ссылки на них останутся.
Сравнение вариантов хранения
Подходит при небольшом числе картинок и файловом режиме. База самодостаточна, но растет в размере и замедляет выгрузку dt.
Подходит для тысяч изображений и клиент-серверного режима. База компактная, но требуется отдельный перенос и резервное копирование папки томов.
Как определить, где хранятся картинки в вашей базе
Самый быстрый способ — открыть настройки хранения файлов. В УТ 11, КА 2 и ERP 2 путь такой: «НСИ и администрирование» → «Настройка НСИ и разделов» → «Общие настройки» (в некоторых релизах — «Администрирование» → «Общие настройки»). Найдите блок «Файлы» и флаг «Хранить файлы в томах на диске». Если флаг установлен, рядом будет ссылка на список томов с их путями.
Второй способ — открыть карточку любого товара с картинкой, перейти к списку присоединенных файлов и открыть элемент файла. В его форме видно, где хранится файл: при хранении в базе будет признак «в информационной базе», при хранении в томах — указание тома и относительного пути.
Третий, косвенный признак — размер файловой базы. Если файл 1Cv8.1CD весит на порядок больше, чем ожидается от объема документов, скорее всего, картинки лежат внутри базы. Точную картину по таблицам в клиент-серверном варианте дает просмотр размеров таблиц средствами СУБД.
- 1Откройте «НСИ и администрирование» → «Общие настройки» и найдите блок «Файлы».
- 2Проверьте флаг «Хранить файлы в томах на диске».
- 3Если тома включены — откройте список томов и запишите полные пути к папкам.
- 4Откройте карточку товара с изображением и перейдите к присоединенным файлам, чтобы подтвердить режим хранения.
- 5Проверьте, что по указанному пути на диске реально лежат файлы с датами в именах подкаталогов.
Где искать папку с томами на диске
Путь к тому задается в справочнике «Тома хранения файлов» и бывает двух видов: полный путь на сервере (для клиент-серверного режима) и путь на компьютере пользователя. В файловой базе чаще всего используется локальный или сетевой путь вида \\server\share\1c_files\ или локальная папка вроде D:\1C_Files\. Внутри тома 1С создает вложенную структуру подкаталогов — обычно по дате добавления файла (год, месяц, день), а сами файлы получают служебные имена с GUID, поэтому по имени файла понять, что это за товар, невозможно.
Связь между файлом на диске и товаром восстанавливается только через базу: в элементе справочника присоединенных файлов хранится относительный путь и исходное имя файла. Поэтому просто скопировать папку томов и разобрать её «глазами» не получится — для осмысленной выгрузки нужна обработка, которая читает базу и копирует файлы с нормальными именами (например, по артикулу товара).
Если путь к тому прописан как сетевой ресурс, проверьте, что у пользователя, под которым работает сервер 1С (обычно USR1CV8), есть права на чтение и запись в эту папку. Отсутствие прав — частая причина ошибок «Не удалось записать файл» при добавлении картинок.
Как выгрузить картинки номенклатуры из базы
Штатного массового экспорта «в один клик» в типовых конфигурациях нет, поэтому на практике применяют несколько подходов. Самый простой — открыть карточку товара и сохранить картинку вручную через меню присоединенного файла («Сохранить как»). Это приемлемо для единичных товаров, но не для каталога.
Для массовой выгрузки используют готовые внешние обработки, которые перебирают справочник присоединенных файлов и сохраняют картинки в указанную папку с именами по артикулу, наименованию или коду товара. Такие обработки работают одинаково и с хранением в базе, и с томами — механизм присоединенных файлов сам достает двоичные данные из нужного места.
Если цель — передать картинки на сайт, правильнее настроить штатный обмен с сайтом (CommerceML): при выгрузке товаров изображения передаются автоматически вместе с предложениями. Также картинки можно получить программно через запрос к справочнику «НоменклатураПрисоединенныеФайлы» с отбором по владельцу и расширению (jpg, png, jpeg).
Перед массовой выгрузкой отфильтруйте присоединенные файлы по расширению и признаку «картинка»: к товарам часто привязаны PDF-инструкции и сертификаты, которые в папку с изображениями для сайта попадать не должны.
Типичные проблемы: картинки пропали, база раздулась, ошибки доступа
Самая частая жалоба после переезда базы на новый сервер — картинки перестали отображаться, хотя товары на месте. Причина почти всегда одна: перенесли файл базы или развернули бэкап СУБД, но забыли скопировать папку томов, либо путь к тому на новом сервере отличается. Решение — перенести папку и при необходимости поправить путь в справочнике томов, после чего перезапустить сеансы.
Обратная ситуация — база в файловом режиме выросла до десятков гигабайт. Если виноваты картинки, вариантов два: включить хранение в томах и перенести файлы из базы в тома (для этого есть штатная команда «Перенести файлы в тома» в списке томов или обработки конвертации), либо сжать и уменьшить изображения перед загрузкой. Исходные фото с фотоаппарата по 5–10 МБ для учетной системы избыточны — достаточно разрешения, нужного для карточки товара на сайте.
Третья группа проблем — права доступа. Ошибки при добавлении или открытии картинок в клиент-серверном режиме обычно означают, что у служебного пользователя сервера 1С нет прав на папку тома. Проверяется просто: попробуйте от имени этого пользователя создать файл в папке тома.
Перенос картинок при миграции между конфигурациями
При переходе, например, с УТ 10.3 на УТ 11 картинки мигрируют через штатные правила конвертации: данные из «Хранилища дополнительной информации» преобразуются в присоединенные файлы новой базы. Важно проверить после переноса, что у товаров корректно заполнен реквизит «Файл картинки» — именно он определяет основное изображение, которое уйдет на сайт.
Если миграция выполняется самописной обработкой, учитывайте, что в хранилище значений старой базы картинка может лежать не только как двоичные данные, но и как объект «Картинка» — перед записью в новую базу его нужно преобразовать в двоичные данные. Пропуск этого шага дает файлы, которые не открываются ни в 1С, ни внешними программами.
После любой миграции сделайте контрольную выборку: откройте 10–20 карточек товаров из разных групп и убедитесь, что изображения отображаются и открываются в полном размере. Это дешевле, чем обнаружить проблему после выгрузки каталога на сайт.
Как проверить результат
Изображение видно в форме номенклатуры и открывается в полный размер
Пустая рамка или ошибка «файл не найден» — проверяйте путь тома и наличие файла на диске
По пути из справочника томов лежат подкаталоги с файлами, размер папки соответствует ожиданиям
Папка пуста или путь недоступен с сервера 1С
Картинки приходят вместе с товарами и отображаются в карточках
Товары выгружены без изображений — проверяйте заполнение «Файл картинки» и права на тома
Итоги и частые вопросы
Схема проста: карточка номенклатуры → присоединенный файл → база или том на диске. Определив текущий режим хранения в общих настройках, вы сможете найти, выгрузить или перенести изображения без риска их потерять.
Что важно запомнить
Картинки номенклатуры — это присоединенные файлы, а не часть карточки товара. Они лежат либо внутри базы, либо в томах на диске; режим виден в общих настройках. При переносе базы не забывайте папку томов, а перед массовыми операциями делайте резервную копию.
Можно ли посмотреть картинки номенклатуры без запуска 1С?
Да, если включено хранение в томах: файлы лежат в папке тома на диске и открываются обычным просмотрщиком, но имена у них служебные, поэтому найти картинку конкретного товара без базы сложно. Если файлы хранятся в базе, достать их без 1С или специализированных инструментов нельзя.
Почему после переноса базы картинки не отображаются?
Почти всегда причина в том, что база перенесена, а папка томов хранения файлов — нет, либо на новом сервере путь к тому отличается. Перенесите папку и проверьте пути в справочнике «Тома хранения файлов», затем перезапустите сеансы пользователей.
Как узнать, сколько места занимают картинки в базе?
В клиент-серверном режиме — через анализ размеров таблиц средствами СУБД (таблицы присоединенных файлов). В файловом режиме точного штатного способа нет; косвенно оценить можно по размеру файла 1Cv8.1CD до и после тестового переноса файлов в тома на копии базы.
Как массово выгрузить все картинки с нормальными именами?
Используйте внешнюю обработку выгрузки присоединенных файлов, которая сохраняет изображения в папку с именами по артикулу или наименованию товара. Такая обработка работает одинаково независимо от того, хранятся файлы в базе или в томах.
Что будет, если удалить файл из папки тома вручную?
Ссылка в базе останется, но при открытии картинки появится ошибка о недоступности файла. Карточка товара потеряет изображение, а при обмене с сайтом картинка не выгрузится. Восстановить файл можно только из резервной копии папки томов.
Влияет ли размер картинок на скорость работы 1С?
Да. Крупные изображения увеличивают базу, замедляют резервное копирование, выгрузку в dt и обмен с сайтом, а также открытие карточек при хранении в базе. Рекомендуется заранее уменьшать фото до разрешения, достаточного для карточки товара.