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

Разработка и Конфигурация · 10 мин

Как получить стандартную картинку в 1С

Как получить стандартную картинку в 1С: БиблиотекаКартинок, коллекция картинок конфигуратора, получение картинок в коде и привязка к кнопкам форм.

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

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

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

Где хранятся стандартные картинки и что это такое

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

В отличие от общих картинок, которые разработчик добавляет в конфигурацию самостоятельно (ветка «Общие → Общие картинки» в дереве конфигурации), стандартные картинки нельзя изменить или удалить. Это гарантирует единообразие интерфейса: кнопка «Печать» выглядит одинаково во всех типовых и самописных решениях.

Как выбрать стандартную картинку в конфигураторе

Самый наглядный способ — визуальный выбор. Откройте свойство «Картинка» у нужного объекта: например, у команды формы, кнопки командной панели или элемента управления. Рядом с полем появится кнопка выбора, которая открывает диалог со списком доступных изображений.

В диалоге выбора переключитесь на закладку «Стандартные» (или «Из библиотеки» — название зависит от версии платформы). Здесь отображаются все доступные пиктограммы с их именами. Выберите нужную и нажмите «ОК» — платформа сама подставит ссылку на картинку в свойство объекта.

Имя выбранной картинки, отображаемое в диалоге, — это то самое имя, которое затем используется в коде через БиблиотекаКартинок. Если вы нашли подходящую иконку визуально, запишите её имя, чтобы применить в программном коде.

Порядок выбора картинки в конфигураторе
  1. 1
    Откройте форму или команду и найдите свойство «Картинка» в палитре свойств
  2. 2
    Нажмите кнопку выбора (троеточие) рядом со свойством
  3. 3
    Перейдите на закладку стандартных картинок
  4. 4
    Выберите пиктограмму, запомните её имя и нажмите «ОК»
  5. 5
    Обновите форму и проверьте отображение в режиме предприятия

Как получить стандартную картинку программно

Во встроенном языке стандартные картинки доступны через коллекцию БиблиотекаКартинок. Обращение выполняется по имени через точку, и результат имеет тип «Картинка». Полученное значение можно присвоить свойству элемента формы, кнопки, ячейки табличного документа.

Типичный пример — установка картинки для кнопки формы:

Элементы.КнопкаПечать.Картинка = БиблиотекаКартинок.Печать;

Другой частый сценарий — вывод картинки в табличный документ при формировании отчёта или печатной формы:

Рисунок = ТабличныйДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);

Рисунок.Картинка = БиблиотекаКартинок.Информация;

Имена картинок в коллекции говорящие: Провести, Удалить, Найти, Обновить, ПечатьСразу, Справка и многие другие. Синтакс-помощник в конфигураторе показывает полный список: найдите в нём «БиблиотекаКартинок» и раскройте узел — увидите все доступные в вашей версии платформы имена.

bsl
Элементы.ДекорацияСтатус.Картинка = БиблиотекаКартинок.Информация;

Типичные сценарии использования

Картинки для команд и кнопок

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

Индикаторы состояния в списках

В динамических списках и таблицах форм стандартные картинки используют для визуализации состояния строк: например, отметить проведённые документы, ошибки обмена или просроченные задачи. Для этого у таблицы настраивают колонку с типом «Картинка» и в обработчике «ПриПолученииДанныхНаСервере» или через условное оформление подставляют нужную пиктограмму.

Картинки в табличных документах и отчётах

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

Способы получения картинки

Выбор в конфигураторе

Подходит для статичных форм и команд; не требует кода, но не работает для динамически создаваемых элементов

БиблиотекаКартинок в коде

Универсальный вариант для динамических интерфейсов и табличных документов; требует знания точного имени картинки

Общие картинки конфигурации

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

Ограничения и частые ошибки

Главное ограничение — состав библиотеки зависит от версии платформы. Код, написанный под новую платформу, при запуске на старой может выдать ошибку «Поле объекта не обнаружено», если картинки с таким именем там нет. Перед использованием редкой пиктограммы проверьте её наличие через синтакс-помощник именно в целевой версии.

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

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

Типичные ошибки
01
Использование картинки, отсутствующей в старой версии платформы — при обновлении кода на рабочей базе возникает ошибка обращения к свойству
02
Опечатка в имени картинки — компилятор не всегда проверяет обращение к БиблиотекаКартинок, ошибка проявляется только при выполнении
03
Попытка перерисовать стандартную картинку вместо добавления общей картинки конфигурации — стандартные пиктограммы недоступны для редактирования
04
Присвоение картинки кнопке до её добавления на форму — код отрабатывает без ошибки, но визуально ничего не меняется

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

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

Для программного назначения убедитесь, что код реально выполняется: поставьте точку останова на строке присвоения и проверьте значение БиблиотекаКартинок.ИмяКартинки в отладчике. Если свойство не найдено, отладчик покажет ошибку сразу.

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

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

Отображение в форме
Норма

Пиктограмма видна на кнопке или в колонке таблицы

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

Кнопка пустая или показывает только текст — проверьте свойство Отображение

Выполнение кода
Норма

В отладчике БиблиотекаКартинок.Имя возвращает значение типа Картинка

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

Ошибка «Поле объекта не обнаружено» — имя отсутствует в данной версии платформы

Поведение в разных клиентах
Норма

Картинка отображается и в тонком, и в веб-клиенте

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

В веб-клиенте пиктограмма искажена или отсутствует — проверьте совместимость

Стандартные картинки и общие картинки: что выбрать

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

Общие картинки конфигурации оправданы, когда нужен фирменный стиль, специфические статусы объектов или пиктограммы, которых нет в библиотеке. При этом помните: файлы добавляются в конфигурацию, и при обновлении типовых решений собственные картинки нужно контролировать, чтобы они не потерялись при сравнении и объединении.

Итог

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

Стандартные картинки берутся из коллекции БиблиотекаКартинок по имени — в коде или через диалог выбора в конфигураторе. Состав библиотеки зависит от версии платформы, изменять стандартные пиктограммы нельзя, а для фирменного стиля используют общие картинки конфигурации.

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

Как посмотреть полный список стандартных картинок?

Откройте синтакс-помощник в конфигураторе (Ctrl+Shift+F1), найдите раздел «БиблиотекаКартинок» и раскройте его — отобразятся все имена, доступные в вашей версии платформы. Альтернатива — диалог выбора картинки в любом свойстве «Картинка» с переходом на закладку стандартных.

Можно ли использовать БиблиотекаКартинок на сервере?

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

Что делать, если нужной картинки нет в библиотеке?

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

Почему код с картинкой работает на одной базе и не работает на другой?

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

Как задать картинку для команды, а не кнопки?

Откройте команду в дереве конфигурации или в списке команд формы и установите свойство «Картинка» — все кнопки, связанные с этой командой, унаследуют пиктограмму автоматически. Это удобнее, чем назначать картинку каждой кнопке отдельно.

Влияют ли стандартные картинки на производительность?

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