Документы и Печать · 9 мин
Как открыть картинку в 1С: инструкция для пользователя и разработчика
Как открыть картинку в 1С: просмотр прикреплённых файлов, вставка изображения в документ и код для программного вывода картинки в форме и отчёте.
Открыть картинку в 1С может понадобиться в разных ситуациях: посмотреть фото товара в карточке номенклатуры, открыть скан счёта, прикреплённый к документу, вывести изображение в форму или макет печати. В зависимости от задачи используются разные механизмы — от стандартной кнопки просмотра присоединённых файлов до программного кода на встроенном языке.
В типовых конфигурациях (Бухгалтерия, Управление торговлей, ERP, ЗУП) изображения обычно хранятся как присоединённые файлы к объектам — номенклатуре, документам, контрагентам. Иногда картинка хранится прямо в реквизите объекта в виде двоичных данных или в хранилище значений. От способа хранения зависит и порядок открытия.
Ниже разобраны оба сценария: работа пользователя в интерфейсе без программирования и программное открытие картинки для разработчика или администратора, который дорабатывает конфигурацию.
Открытие картинки через присоединённые файлы
Самый частый случай — изображение прикреплено к карточке товара, документу или контрагенту. В типовых конфигурациях на форме такого объекта есть кнопка с изображением скрепки или ссылка «Присоединённые файлы» в командной панели (иногда она спрятана в меню «Ещё»).
Порядок действий: откройте объект (например, элемент справочника «Номенклатура»), нажмите кнопку со скрепкой — откроется список файлов. Двойной щелчок по строке с картинкой (JPG, PNG, BMP) откроет её либо во встроенном окне просмотра 1С, либо в программе просмотра изображений операционной системы — это зависит от настроек и вида клиента.
Если в карточке номенклатуры настроено отображение основного изображения, картинка видна сразу на форме справа или в отдельной вкладке. Щелчок по ней обычно увеличивает изображение в отдельном окне.
- 1Откройте объект: карточку товара, документ или контрагента
- 2Нажмите кнопку со скрепкой или выберите «Ещё → Присоединённые файлы»
- 3В списке файлов дважды щёлкните по нужному изображению
- 4Проверьте, что картинка открылась в окне просмотра
- 5Если нужен файл на диске — используйте команду «Сохранить как» в списке файлов
Как прикрепить и потом открыть изображение
Если картинку нужно сначала добавить, в списке присоединённых файлов нажмите «Добавить» и выберите «Из файла на диске» — укажите путь к изображению. В некоторых конфигурациях доступна загрузка перетаскиванием файла прямо в окно списка или на область картинки в карточке товара.
После загрузки файл сохраняется в информационной базе (или в томе на диске, если настроено хранение файлов в томах). Открыть его можно в любой момент тем же способом — через список присоединённых файлов. Учтите, что размер базы растёт с каждой загруженной картинкой, если файлы хранятся внутри базы.
Открытие картинки, хранящейся в реквизите объекта
В некоторых конфигурациях и самописных решениях изображение хранится не как присоединённый файл, а в реквизите типа «Хранилище значения» — например, фото сотрудника в кадровом учёте или логотип организации. Такой реквизит выводится на форму как поле картинки, и изображение видно сразу при открытии объекта.
Чтобы заменить или загрузить такую картинку, щёлкните по полю изображения и выберите команду выбора файла (обычно доступна по кнопке выбора или через контекстное меню «Выбрать из файла»). Для просмотра в полном размере используйте команду «Открыть» в контекстном меню поля, если она предусмотрена конфигурацией.
Программное открытие картинки в форме
Разработчику для вывода изображения на управляемую форму нужно добавить реквизит формы типа «Строка» (адрес во временном хранилище) и элемент формы «Поле картинки», связанный с этим реквизитом. Двоичные данные картинки помещают во временное хранилище, а адрес присваивают реквизиту.
Типовой приём выглядит так: получить двоичные данные из хранилища значений или присоединённого файла, поместить их во временное хранилище с указанием уникального идентификатора формы, затем присвоить полученный адрес реквизиту формы, отображаемому полем картинки.
&НаСервере
Процедура ПоказатьКартинку()
ДанныеКартинки = Объект.ХранилищеКартинки.Получить();
Если ДанныеКартинки <> Неопределено Тогда
АдресКартинки = ПоместитьВоВременноеХранилище(ДанныеКартинки, УникальныйИдентификатор);
КонецЕсли;
КонецПроцедурыДля работы с файлом на диске используется объект «Картинка»: создайте его конструктором с указанием пути к файлу, затем получите двоичные данные методом получения и дальше действуйте по той же схеме через временное хранилище. Учтите, что на сервере путь к файлу должен быть доступен серверу 1С, а не клиентскому компьютеру.
Вывод картинки в печатную форму и отчёт
В табличный документ (макет печатной формы) картинку вставляют через область-рисунок. В конфигураторе в макет добавляется рисунок типа «Картинка», а при формировании печатной формы ему присваивается объект «Картинка», созданный из двоичных данных или файла. Так выводят, например, логотип в счёте на оплату или подпись руководителя.
В отчётах на СКД изображение товара выводят через вычисляемое поле или ресурс с типом «Картинка», получая данные из присоединённых файлов в запросе или в обработчике компоновки. Это более сложный сценарий, требующий аккуратной работы с адресами временного хранилища.
Типичные проблемы и их решение
Если картинка не открывается, сначала определите, где она хранится. Пустое окно просмотра при открытии присоединённого файла чаще всего означает, что файлы хранятся в томах на диске, а сам том недоступен или файлы удалены. Проверьте настройку в разделе «Администрирование → Хранение файлов» и наличие файлов в указанном каталоге.
Ошибка формата при открытии возникает, когда под видом картинки загружен файл другого типа (например, PDF, переименованный в JPG) или файл повреждён. Откройте файл на локальном компьютере стандартным просмотрщиком — если и там ошибка, файл нужно загрузить заново из исходника.
В веб-клиенте и тонком клиенте предварительный просмотр может работать иначе, чем в толстом клиенте: часть форматов открывается только через сохранение файла на диск. Это ограничение платформы, а не ошибка конфигурации.
Проверка результата
Как проверить результат
Изображение открывается в окне просмотра, читаемо, без искажений
Пустое окно, ошибка чтения файла или сообщение о недоступности тома
Изображение отображается сразу при открытии карточки
Поле пустое или показывает заглушку при наличии загруженного файла
Логотип или фото видны в предварительном просмотре и при печати
Пустая рамка рисунка или искажённые пропорции изображения
После любой доработки проверяйте результат под учётной записью обычного пользователя, а не только под полными правами: у пользователя может не быть прав на чтение присоединённых файлов, и картинка у него не откроется, хотя у администратора всё работает.
Что важно запомнить
Пользователь открывает картинку через список присоединённых файлов объекта двойным щелчком. Разработчик выводит изображение через временное хранилище и поле картинки на форме либо через рисунок в макете печатной формы. При проблемах сначала проверяйте, где хранится файл — в базе или в томе на диске.
Частые вопросы
Почему в списке присоединённых файлов картинка есть, но не открывается?
Наиболее вероятная причина — файлы хранятся в томах на диске, а каталог тома недоступен или файл физически удалён. Также проверьте права пользователя на чтение присоединённых файлов и целостность самого файла, выгрузив его на диск.
Можно ли открыть картинку из 1С в обычном просмотрщике Windows?
Да. В списке присоединённых файлов выберите картинку и используйте команду «Сохранить как» — файл будет выгружен на диск, после чего откроется любой программой. В некоторых конфигурациях двойной щелчок сразу вызывает системный просмотрщик.
Какие форматы изображений поддерживает 1С?
Платформа корректно работает с распространёнными растровыми форматами: JPEG, PNG, BMP, GIF. Векторные форматы и специфические типы файлов лучше предварительно конвертировать в PNG или JPEG, иначе предварительный просмотр может не сработать.
Как вывести картинку на форму, не меняя конфигурацию?
Без доработки — только штатными средствами: присоединённые файлы и основное изображение номенклатуры показываются типовыми механизмами. Произвольную картинку из реквизита вывести без изменения формы нельзя — потребуется расширение конфигурации, которое не затрагивает типовой код и безопасно при обновлениях.
Почему картинка в печатной форме получается растянутой?
Рисунок в макете имеет фиксированный размер области, и изображение подгоняется под неё. Настройте размер рисунка в макете пропорционально исходному изображению или используйте свойство сохранения пропорций, если оно задано в конфигурации.