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