При ведении учета в 1С:Управление торговлей (УТ 11) часто возникает необходимость визуализации товара. Качественные изображения помогают менеджерам быстрее ориентироваться в ассортименте, а при интеграции с интернет-магазином наличие фото становится обязательным условием. Однако добавление медиаконтента в базу данных вызывает у администраторов и пользователей ряд вопросов: не «раздуется» ли база, не замедлится ли работа через интернет и как правильно организовать хранение файлов. В этой статье мы подробно разберем все технические нюансы этого процесса.
Начнем с анализа опасений. Для объема в 400–1000 позиций номенклатуры добавление по одной фотографии на каждый товар — это крайне незначительная нагрузка для современных серверов. Рассмотрим, как это работает на практике:
Это ключевой архитектурный вопрос. В 1С:УТ 11 (на базе Библиотеки стандартных подсистем) существует два варианта хранения присоединенных файлов:
1. Хранение непосредственно в информационной базе (SQL или файловая .1CD).
В этом случае файлы записываются в таблицу в виде двоичных данных (BLOB-объекты). Рассмотрим плюсы:
Минусы проявляются при росте объема: база быстро растет, выполнение операций BACKUP и RESTORE замедляется, а лог транзакций SQL-сервера может переполняться при массовой загрузке.
2. Хранение в томах на диске (внешнее хранилище).
Файлы хранятся в обычных папках на сервере, а в базе 1С остаются только ссылки и служебная информация. Разберем этот вариант подробнее, так как он рекомендуется для долгосрочного развития системы:
Проанализируем шаги, необходимые для настройки хранения файлов вне базы данных:
Перейдем в раздел НСИ и администрирование — Администрирование — Настройки файлов. Здесь мы увидим переключатель «Хранить файлы в томах на диске». После его активации необходимо создать хотя бы один том:
\\ServerName\1C_Files).Важно: Если вы переходите на этот режим, когда в базе уже есть фото, система предложит запустить обработку по переносу файлов из базы в тома. Это полезная процедура, которая позволит уменьшить размер файла базы данных .mdf или .1CD.
Многие пользователи совершают ошибку, загружая фотографии прямо с фотоаппарата или смартфона весом по 5–10 МБ каждая. Проанализируем, как 1С работает с такими объектами:
В типовой УТ 11 в настройках файлов можно установить Максимальный размер файла. Однако важно понимать: система не сожмет фото автоматически «под капотом», она просто выдаст ошибку, если файл превышает лимит. Для автоматизации этого процесса разработчики часто используют внешние компоненты или скрипты обработки изображений. Для решения этой задачи можно использовать обработку для сжатия изображений в конфигурациях на БСП.
Рекомендуется предварительно подготавливать фото перед загрузкой:
Если у вас 400 позиций, добавлять их вручную в каждую карточку — трудоемкая задача. Рассмотрим эффективный способ автоматизации:
Выясним, есть ли у товаров артикулы или штрихкоды, совпадающие с именами файлов картинок. Если да, можно использовать встроенный «Помощник загрузки номенклатуры» или написать небольшую обработку. Пример логики кода для программного добавления файла выглядит следующим образом:
// Пример логики привязки файла к номенклатуре
НовыйФайл = Справочники.НоменклатураПрисоединенныеФайлы.СоздатьЭлемент();
НовыйФайл.ВладелецФайла = СсылкаНаТовар;
НовыйФайл.Наименование = "Фото товара " + СсылкаНаТовар.Артикул;
НовыйФайл.ДатаСоздания = ТекущаяДата();
// Далее вызывается метод работы с файловым хранилищем из БСП
РаботаСФайлами.ДобавитьФайл(НовыйФайл, ПутьКФайлуНаДиске);
Разберем критически важный момент, о котором часто забывают при использовании томов. Если вы храните фото вне базы данных, обычный бэкап базы (средствами 1С или SQL) не будет содержать фотографии.
Необходимо настроить регламентное задание по копированию папки с томами. Потеря этой папки приведет к тому, что в 1С вместо картинок будут отображаться пустые квадраты с ошибкой «Файл не найден».
Также рекомендуется включить регламентное задание ОчисткаНенужныхФайлов. Это поможет вовремя удалять временные файлы и «сиротские» записи, которые могли остаться после удаления карточек номенклатуры. Для выборочного переноса и очистки данных подойдёт инструмент для копирования и удаления файлов из тома 1С.
Добавление 400 фотографий в 1С:УТ 11 — это безопасная процедура, которая не парализует работу сервера. Для небольших баз допустимо хранение внутри базы данных, но для стабильности и масштабируемости лучше сразу настроить хранение в томах на диске. Помните об оптимизации размеров (до 500 КБ на фото) и обязательной настройке бэкапа внешних папок. Таким образом, вы получите информативную базу без ущерба для скорости её работы.