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

Документы и Печать · 9 мин

Как открыть картинку в 1С: инструкция для пользователя и разработчика

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

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

В типовых конфигурациях (Бухгалтерия, Управление торговлей, ERP, ЗУП) изображения обычно хранятся как присоединённые файлы к объектам — номенклатуре, документам, контрагентам. Иногда картинка хранится прямо в реквизите объекта в виде двоичных данных или в хранилище значений. От способа хранения зависит и порядок открытия.

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

Открытие картинки через присоединённые файлы

Самый частый случай — изображение прикреплено к карточке товара, документу или контрагенту. В типовых конфигурациях на форме такого объекта есть кнопка с изображением скрепки или ссылка «Присоединённые файлы» в командной панели (иногда она спрятана в меню «Ещё»).

Порядок действий: откройте объект (например, элемент справочника «Номенклатура»), нажмите кнопку со скрепкой — откроется список файлов. Двойной щелчок по строке с картинкой (JPG, PNG, BMP) откроет её либо во встроенном окне просмотра 1С, либо в программе просмотра изображений операционной системы — это зависит от настроек и вида клиента.

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

Как открыть прикреплённую картинку
  1. 1
    Откройте объект: карточку товара, документ или контрагента
  2. 2
    Нажмите кнопку со скрепкой или выберите «Ещё → Присоединённые файлы»
  3. 3
    В списке файлов дважды щёлкните по нужному изображению
  4. 4
    Проверьте, что картинка открылась в окне просмотра
  5. 5
    Если нужен файл на диске — используйте команду «Сохранить как» в списке файлов

Как прикрепить и потом открыть изображение

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

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

Открытие картинки, хранящейся в реквизите объекта

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

Чтобы заменить или загрузить такую картинку, щёлкните по полю изображения и выберите команду выбора файла (обычно доступна по кнопке выбора или через контекстное меню «Выбрать из файла»). Для просмотра в полном размере используйте команду «Открыть» в контекстном меню поля, если она предусмотрена конфигурацией.

Программное открытие картинки в форме

Разработчику для вывода изображения на управляемую форму нужно добавить реквизит формы типа «Строка» (адрес во временном хранилище) и элемент формы «Поле картинки», связанный с этим реквизитом. Двоичные данные картинки помещают во временное хранилище, а адрес присваивают реквизиту.

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

bsl
&НаСервере
Процедура ПоказатьКартинку()
	ДанныеКартинки = Объект.ХранилищеКартинки.Получить();
	Если ДанныеКартинки <> Неопределено Тогда
		АдресКартинки = ПоместитьВоВременноеХранилище(ДанныеКартинки, УникальныйИдентификатор);
	КонецЕсли;
КонецПроцедуры

Для работы с файлом на диске используется объект «Картинка»: создайте его конструктором с указанием пути к файлу, затем получите двоичные данные методом получения и дальше действуйте по той же схеме через временное хранилище. Учтите, что на сервере путь к файлу должен быть доступен серверу 1С, а не клиентскому компьютеру.

Вывод картинки в печатную форму и отчёт

В табличный документ (макет печатной формы) картинку вставляют через область-рисунок. В конфигураторе в макет добавляется рисунок типа «Картинка», а при формировании печатной формы ему присваивается объект «Картинка», созданный из двоичных данных или файла. Так выводят, например, логотип в счёте на оплату или подпись руководителя.

В отчётах на СКД изображение товара выводят через вычисляемое поле или ресурс с типом «Картинка», получая данные из присоединённых файлов в запросе или в обработчике компоновки. Это более сложный сценарий, требующий аккуратной работы с адресами временного хранилища.

Типичные проблемы и их решение

Если картинка не открывается, сначала определите, где она хранится. Пустое окно просмотра при открытии присоединённого файла чаще всего означает, что файлы хранятся в томах на диске, а сам том недоступен или файлы удалены. Проверьте настройку в разделе «Администрирование → Хранение файлов» и наличие файлов в указанном каталоге.

Ошибка формата при открытии возникает, когда под видом картинки загружен файл другого типа (например, PDF, переименованный в JPG) или файл повреждён. Откройте файл на локальном компьютере стандартным просмотрщиком — если и там ошибка, файл нужно загрузить заново из исходника.

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

Типичные ошибки
01
Искать картинку в проводнике Windows, хотя она хранится внутри базы — выгрузите её командой «Сохранить как» из списка присоединённых файлов
02
Загружать изображения огромного размера прямо в базу — это раздувает базу и замедляет работу; уменьшайте фото перед загрузкой
03
Использовать в коде клиентский путь к файлу при серверном вызове — сервер не видит диски пользователя
04
Править типовой макет вместо создания внешней печатной формы — при обновлении изменения будут потеряны

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

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

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

Открытие присоединённой картинки
Норма

Изображение открывается в окне просмотра, читаемо, без искажений

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

Пустое окно, ошибка чтения файла или сообщение о недоступности тома

Картинка на форме объекта
Норма

Изображение отображается сразу при открытии карточки

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

Поле пустое или показывает заглушку при наличии загруженного файла

Картинка в печатной форме
Норма

Логотип или фото видны в предварительном просмотре и при печати

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

Пустая рамка рисунка или искажённые пропорции изображения

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

Итог

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

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

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

Почему в списке присоединённых файлов картинка есть, но не открывается?

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

Можно ли открыть картинку из 1С в обычном просмотрщике Windows?

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

Какие форматы изображений поддерживает 1С?

Платформа корректно работает с распространёнными растровыми форматами: JPEG, PNG, BMP, GIF. Векторные форматы и специфические типы файлов лучше предварительно конвертировать в PNG или JPEG, иначе предварительный просмотр может не сработать.

Как вывести картинку на форму, не меняя конфигурацию?

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

Почему картинка в печатной форме получается растянутой?

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