Как правильно добавить фотографии в номенклатуру 1С:УТ 11 и избежать проблем с производительностью

Системный администратор 1С v8.3 (Управляемые формы) Управленческий учет Торговля и дистрибуция
← На главную

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

Оценка нагрузки на сервер и трафика

Начнем с анализа опасений. Для объема в 400–1000 позиций номенклатуры добавление по одной фотографии на каждый товар — это крайне незначительная нагрузка для современных серверов. Рассмотрим, как это работает на практике:

Выбор способа хранения: База данных vs Тома на диске

Это ключевой архитектурный вопрос. В 1С:УТ 11 (на базе Библиотеки стандартных подсистем) существует два варианта хранения присоединенных файлов:

1. Хранение непосредственно в информационной базе (SQL или файловая .1CD).

В этом случае файлы записываются в таблицу в виде двоичных данных (BLOB-объекты). Рассмотрим плюсы:

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

Минусы проявляются при росте объема: база быстро растет, выполнение операций BACKUP и RESTORE замедляется, а лог транзакций SQL-сервера может переполняться при массовой загрузке.

2. Хранение в томах на диске (внешнее хранилище).

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

  1. База данных остается «легкой» и производительной.
  2. SQL-серверу не нужно тратить ресурсы на обработку тяжелых бинарных данных.
  3. Важное условие: Служба 1С:Предприятия (учетная запись, под которой она запущена) должна иметь полные права доступа (чтение и запись) к сетевой папке, где созданы тома.

Настройка хранения в томах

Проанализируем шаги, необходимые для настройки хранения файлов вне базы данных:

Перейдем в раздел НСИ и администрирование — Администрирование — Настройки файлов. Здесь мы увидим переключатель «Хранить файлы в томах на диске». После его активации необходимо создать хотя бы один том:

Важно: Если вы переходите на этот режим, когда в базе уже есть фото, система предложит запустить обработку по переносу файлов из базы в тома. Это полезная процедура, которая позволит уменьшить размер файла базы данных .mdf или .1CD.

Оптимизация изображений при загрузке

Многие пользователи совершают ошибку, загружая фотографии прямо с фотоаппарата или смартфона весом по 5–10 МБ каждая. Проанализируем, как 1С работает с такими объектами:

В типовой УТ 11 в настройках файлов можно установить Максимальный размер файла. Однако важно понимать: система не сожмет фото автоматически «под капотом», она просто выдаст ошибку, если файл превышает лимит. Для автоматизации этого процесса разработчики часто используют внешние компоненты или скрипты обработки изображений. Для решения этой задачи можно использовать обработку для сжатия изображений в конфигурациях на БСП.

Рекомендуется предварительно подготавливать фото перед загрузкой:

Массовая загрузка фотографий

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

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


// Пример логики привязки файла к номенклатуре
НовыйФайл = Справочники.НоменклатураПрисоединенныеФайлы.СоздатьЭлемент();
НовыйФайл.ВладелецФайла = СсылкаНаТовар;
НовыйФайл.Наименование = "Фото товара " + СсылкаНаТовар.Артикул;
НовыйФайл.ДатаСоздания = ТекущаяДата();
// Далее вызывается метод работы с файловым хранилищем из БСП
РаботаСФайлами.ДобавитьФайл(НовыйФайл, ПутьКФайлуНаДиске);

Обслуживание и бэкап

Разберем критически важный момент, о котором часто забывают при использовании томов. Если вы храните фото вне базы данных, обычный бэкап базы (средствами 1С или SQL) не будет содержать фотографии.

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

Также рекомендуется включить регламентное задание ОчисткаНенужныхФайлов. Это поможет вовремя удалять временные файлы и «сиротские» записи, которые могли остаться после удаления карточек номенклатуры. Для выборочного переноса и очистки данных подойдёт инструмент для копирования и удаления файлов из тома 1С.

Выводы

Добавление 400 фотографий в 1С:УТ 11 — это безопасная процедура, которая не парализует работу сервера. Для небольших баз допустимо хранение внутри базы данных, но для стабильности и масштабируемости лучше сразу настроить хранение в томах на диске. Помните об оптимизации размеров (до 500 КБ на фото) и обязательной настройке бэкапа внешних папок. Таким образом, вы получите информативную базу без ущерба для скорости её работы.

← На главную