К статье
Практический материал

Справочники и Данные · 9 мин

Как загрузить картинку в 1С

Как загрузить картинку в 1С: загрузка изображений в карточку номенклатуры, справочники, массовая загрузка из файлов и по URL, работа с хранилищем картинок.

Изображения в 1С чаще всего нужны для карточек товаров: фото номенклатуры выводится в заказах, прайс-листах, на сайте при интеграции. Кроме того, картинки загружают в справочники сотрудников (фото), в документы (сканы, акты с подписью), в печатные формы (логотип компании). Во всех типовых конфигурациях — «Управление торговлей 11», «ERP», «Комплексная автоматизация», «Бухгалтерия 3.0» — механизм хранения файлов построен одинаково: сами файлы лежат либо в информационной базе, либо в томах на диске, а в объектах хранятся только ссылки на них.

Загрузить картинку можно тремя способами: вручную через форму элемента, массовой обработкой из папки с файлами и программно — через код на встроенном языке или обмен. Какой вариант выбрать, зависит от количества изображений и регулярности задачи. Разовое фото проще прикрепить руками, а каталог из тысячи товаров разумно загружать обработкой.

Где 1С хранит загруженные картинки

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

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

Загрузка картинки в карточку номенклатуры

Самый частый сценарий — прикрепить фото к товару. В «Управлении торговлей 11» и «ERP» откройте справочник «Номенклатура», найдите нужный товар и откройте его карточку. В панели навигации формы есть команда «Присоединенные файлы» (иногда она называется «Файлы» или доступна по гиперссылке с количеством файлов). Откроется список присоединённых файлов, где кнопкой «Добавить» → «Из файла на диске» выберите изображение.

После загрузки один из файлов можно назначить основным изображением — именно оно показывается в списке товаров и подставляется в печатные формы. Для этого выделите файл и используйте команду «Установить основным изображением» или аналогичную в контекстном меню. В некоторых конфигурациях основное изображение выбирается прямо в карточке товара через поле «Файл картинки».

Поддерживаемые форматы и размер

Типовые механизмы без проблем принимают JPG, PNG, GIF и BMP. Для каталога товаров практичнее JPG или PNG: первый даёт меньший размер при фотографиях, второй сохраняет прозрачность для логотипов. Жёсткого ограничения размера в типовых обычно нет, но изображения по 10–15 МБ замедляют открытие карточек и списков. Перед массовой загрузкой имеет смысл уменьшить фото до разумного разрешения — для учётной системы обычно достаточно 800–1200 пикселей по большей стороне.

Загрузка логотипа для печатных форм

Логотип компании, печать и подпись руководителя загружаются не в номенклатуру, а в карточку организации. Откройте справочник «Организации» (в «Бухгалтерии» — раздел «Главное» → «Реквизиты организации»), найдите поля «Логотип», «Факсимильная печать», «Факсимильная подпись» и нажмите на область изображения, чтобы выбрать файл с диска.

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

Массовая загрузка изображений

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

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

Порядок массовой загрузки
  1. 1
    Переименуйте файлы по артикулу или коду товара, уберите пробелы и спецсимволы
  2. 2
    Проверьте, что в карточках номенклатуры заполнено поле, по которому идёт сопоставление
  3. 3
    Запустите обработку загрузки и укажите папку с изображениями
  4. 4
    Выберите правило: основное изображение или дополнительный файл
  5. 5
    Выполните загрузку и изучите список несопоставленных файлов
  6. 6
    Откройте несколько карточек товаров и убедитесь, что картинки на месте

Программная загрузка картинки из кода

Разработчику или внедренцу иногда нужно загрузить изображение кодом — например, при обмене с сайтом или при переносе данных. В типовых конфигурациях для работы с присоединёнными файлами используется общий модуль работы с файлами (в библиотеке стандартных подсистем это РаботаСФайлами). Типовой вызов создаёт присоединённый файл из двоичных данных и привязывает его к владельцу.

bsl
ДвоичныеДанные = Новый ДвоичныеДанные("C:\Images\tovar1.jpg");
ПараметрыФайла = РаботаСФайлами.ПараметрыДобавленияФайла();
ПараметрыФайла.ВладелецФайлов = НоменклатураСсылка;
ПараметрыФайла.ИмяБезРасширения = "tovar1";
ПараметрыФайла.РасширениеБезТочки = "jpg";
ПрисоединенныйФайл = РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, ПоместитьВоВременноеХранилище(ДвоичныеДанные));

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

Частые ошибки и как их избежать

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

Типичные ошибки
01
Загрузка файла без назначения его основным изображением — фото не отображается в списках и формах
02
Хранение сотен мегабайт картинок внутри базы — рост базы, медленные бэкапы и обновления
03
Имена файлов с пробелами и кириллицей вперемешку с латиницей — сбои при массовом сопоставлении
04
Отсутствие резервной копии томов хранения — при сбое диска изображения теряются безвозвратно
05
Загрузка фото в исходном разрешении с камеры — медленное открытие карточек у всех пользователей

Проверка результата

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

Контрольные точки

Как проверить результат

Отображение в карточке объекта
Норма

Картинка видна сразу при открытии формы

Тревожный признак

Пустая область изображения или значок-заглушка

Статус основного изображения
Норма

У нужного файла установлен признак основного

Тревожный признак

Файл есть в списке, но нигде не выводится

Права других пользователей
Норма

Коллеги видят картинку под своими учётными записями

Тревожный признак

У части пользователей изображение недоступно

Печатная форма
Норма

Логотип или фото выводится без искажений и обрезки

Тревожный признак

Картинка растянута, обрезана или отсутствует

FAQ

Почему загруженная картинка не отображается в списке товаров?

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

Можно ли загрузить картинку в 1С по ссылке из интернета?

В типовых формах загрузка идёт только с диска. Загрузка по URL возможна программно: файл скачивается через HTTP-соединение во временное хранилище, а затем добавляется как присоединённый файл. Для разовой задачи проще сохранить картинку на диск и загрузить обычным способом.

Как удалить или заменить загруженную картинку?

Откройте список присоединённых файлов объекта, выделите нужный файл и удалите его либо пометьте на удаление. Для замены добавьте новый файл и назначьте его основным изображением, после чего старый можно удалить. Учтите, что при хранении в томах файл с диска удаляется не всегда сразу — зависит от настроек конфигурации.

Сильно ли картинки увеличивают размер базы?

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

Какой формат лучше использовать для фото товаров?

Для фотографий подходит JPG — он даёт небольшой размер файла при приемлемом качестве. Для логотипов, печатей и подписей лучше PNG с прозрачным фоном. BMP и TIFF использовать не стоит: они несжатые или слабо сжатые и занимают заметно больше места без выигрыша в качестве для учётных задач.

Почему другие пользователи не видят загруженную мной картинку?

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

Итог

Что важно запомнить

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