Разработка и Конфигурация · 10 мин
Как получить стандартную картинку в 1С
Как получить стандартную картинку в 1С: БиблиотекаКартинок, коллекция картинок конфигуратора, получение картинок в коде и привязка к кнопкам форм.
В платформе 1С:Предприятие есть встроенная коллекция стандартных картинок — иконки для кнопок команд, элементов форм, колонок таблиц и других объектов интерфейса. Разработчику не нужно рисовать или импортировать собственные изображения для типовых действий: печать, проведение, удаление, поиск и десятки других операций уже имеют готовые пиктограммы.
Получить стандартную картинку можно двумя основными способами: визуально — через окно выбора картинки в конфигураторе, и программно — через свойство БиблиотекаКартинок во встроенном языке. Оба подхода дают один и тот же результат, но применяются в разных ситуациях: первый удобен при настройке форм и команд, второй — при динамическом формировании интерфейса.
Важно понимать, что состав библиотеки картинок зависит от версии платформы. Картинка, доступная в новых релизах, может отсутствовать в старых, поэтому при переносе кода между конфигурациями на разных платформах стоит проверять совместимость.
Где хранятся стандартные картинки и что это такое
Стандартные картинки — это встроенный в платформу набор пиктограмм, доступный любому прикладному решению без дополнительной настройки. Они не хранятся в конфигурации и не занимают место в базе данных: платформа подставляет их автоматически по имени.
В отличие от общих картинок, которые разработчик добавляет в конфигурацию самостоятельно (ветка «Общие → Общие картинки» в дереве конфигурации), стандартные картинки нельзя изменить или удалить. Это гарантирует единообразие интерфейса: кнопка «Печать» выглядит одинаково во всех типовых и самописных решениях.
Как выбрать стандартную картинку в конфигураторе
Самый наглядный способ — визуальный выбор. Откройте свойство «Картинка» у нужного объекта: например, у команды формы, кнопки командной панели или элемента управления. Рядом с полем появится кнопка выбора, которая открывает диалог со списком доступных изображений.
В диалоге выбора переключитесь на закладку «Стандартные» (или «Из библиотеки» — название зависит от версии платформы). Здесь отображаются все доступные пиктограммы с их именами. Выберите нужную и нажмите «ОК» — платформа сама подставит ссылку на картинку в свойство объекта.
Имя выбранной картинки, отображаемое в диалоге, — это то самое имя, которое затем используется в коде через БиблиотекаКартинок. Если вы нашли подходящую иконку визуально, запишите её имя, чтобы применить в программном коде.
- 1Откройте форму или команду и найдите свойство «Картинка» в палитре свойств
- 2Нажмите кнопку выбора (троеточие) рядом со свойством
- 3Перейдите на закладку стандартных картинок
- 4Выберите пиктограмму, запомните её имя и нажмите «ОК»
- 5Обновите форму и проверьте отображение в режиме предприятия
Как получить стандартную картинку программно
Во встроенном языке стандартные картинки доступны через коллекцию БиблиотекаКартинок. Обращение выполняется по имени через точку, и результат имеет тип «Картинка». Полученное значение можно присвоить свойству элемента формы, кнопки, ячейки табличного документа.
Типичный пример — установка картинки для кнопки формы:
Элементы.КнопкаПечать.Картинка = БиблиотекаКартинок.Печать;
Другой частый сценарий — вывод картинки в табличный документ при формировании отчёта или печатной формы:
Рисунок = ТабличныйДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рисунок.Картинка = БиблиотекаКартинок.Информация;
Имена картинок в коллекции говорящие: Провести, Удалить, Найти, Обновить, ПечатьСразу, Справка и многие другие. Синтакс-помощник в конфигураторе показывает полный список: найдите в нём «БиблиотекаКартинок» и раскройте узел — увидите все доступные в вашей версии платформы имена.
Элементы.ДекорацияСтатус.Картинка = БиблиотекаКартинок.Информация;Типичные сценарии использования
Картинки для команд и кнопок
Чаще всего стандартные картинки назначают командам форм и кнопкам командных панелей. Для глобальных команд интерфейса картинка задаётся в свойствах команды в конфигураторе, для динамически создаваемых кнопок — программно. Если кнопка создаётся в коде, картинку нужно присвоить после добавления элемента на форму.
Индикаторы состояния в списках
В динамических списках и таблицах форм стандартные картинки используют для визуализации состояния строк: например, отметить проведённые документы, ошибки обмена или просроченные задачи. Для этого у таблицы настраивают колонку с типом «Картинка» и в обработчике «ПриПолученииДанныхНаСервере» или через условное оформление подставляют нужную пиктограмму.
Картинки в табличных документах и отчётах
При построении печатных форм и отчётов на СКД стандартные картинки вставляют в ячейки табличного документа — например, пиктограмму предупреждения рядом с проблемным показателем. Это работает и в фоновых заданиях, где нет интерактивного интерфейса, потому что сама картинка доступна на сервере.
Способы получения картинки
Подходит для статичных форм и команд; не требует кода, но не работает для динамически создаваемых элементов
Универсальный вариант для динамических интерфейсов и табличных документов; требует знания точного имени картинки
Используют, когда стандартной пиктограммы недостаточно и нужен фирменный стиль; увеличивают размер конфигурации и требуют сопровождения
Ограничения и частые ошибки
Главное ограничение — состав библиотеки зависит от версии платформы. Код, написанный под новую платформу, при запуске на старой может выдать ошибку «Поле объекта не обнаружено», если картинки с таким именем там нет. Перед использованием редкой пиктограммы проверьте её наличие через синтакс-помощник именно в целевой версии.
Вторая типичная проблема — попытка изменить стандартную картинку. Это невозможно: библиотека доступна только для чтения. Если нужна похожая, но изменённая иконка, добавьте собственную картинку в ветку «Общие картинки» и используйте её.
Также учитывайте, что в тонком и веб-клиенте отображение картинок может незначительно отличаться от толстого клиента. Перед сдачей доработки проверяйте интерфейс в том клиенте, которым пользуются конечные пользователи.
Как проверить результат
После назначения картинки обновите конфигурацию базы данных и откройте форму в режиме предприятия. Пиктограмма должна отображаться рядом с текстом кнопки или вместо него, если включён режим отображения «Картинка». Если картинка не видна, проверьте свойство «Отображение» кнопки: при значении «Надпись» пиктограмма скрыта.
Для программного назначения убедитесь, что код реально выполняется: поставьте точку останова на строке присвоения и проверьте значение БиблиотекаКартинок.ИмяКартинки в отладчике. Если свойство не найдено, отладчик покажет ошибку сразу.
Как проверить результат
Пиктограмма видна на кнопке или в колонке таблицы
Кнопка пустая или показывает только текст — проверьте свойство Отображение
В отладчике БиблиотекаКартинок.Имя возвращает значение типа Картинка
Ошибка «Поле объекта не обнаружено» — имя отсутствует в данной версии платформы
Картинка отображается и в тонком, и в веб-клиенте
В веб-клиенте пиктограмма искажена или отсутствует — проверьте совместимость
Стандартные картинки и общие картинки: что выбрать
Если задача решается стандартной пиктограммой — используйте библиотеку платформы. Это ускоряет разработку, не увеличивает размер конфигурации и сохраняет привычный для пользователей вид типовых операций.
Общие картинки конфигурации оправданы, когда нужен фирменный стиль, специфические статусы объектов или пиктограммы, которых нет в библиотеке. При этом помните: файлы добавляются в конфигурацию, и при обновлении типовых решений собственные картинки нужно контролировать, чтобы они не потерялись при сравнении и объединении.
Что важно запомнить
Стандартные картинки берутся из коллекции БиблиотекаКартинок по имени — в коде или через диалог выбора в конфигураторе. Состав библиотеки зависит от версии платформы, изменять стандартные пиктограммы нельзя, а для фирменного стиля используют общие картинки конфигурации.
Частые вопросы
Как посмотреть полный список стандартных картинок?
Откройте синтакс-помощник в конфигураторе (Ctrl+Shift+F1), найдите раздел «БиблиотекаКартинок» и раскройте его — отобразятся все имена, доступные в вашей версии платформы. Альтернатива — диалог выбора картинки в любом свойстве «Картинка» с переходом на закладку стандартных.
Можно ли использовать БиблиотекаКартинок на сервере?
Да, коллекция доступна и в серверном контексте. Это позволяет вставлять стандартные картинки в табличные документы при фоновом формировании отчётов и печатных форм, где интерактивный интерфейс отсутствует.
Что делать, если нужной картинки нет в библиотеке?
Добавьте собственное изображение в ветку «Общие → Общие картинки» дерева конфигурации, затем обращайтесь к ней в коде через БиблиотекаКартинок не получится — используйте объект метаданных общей картинки или выбирайте её в свойствах элемента формы.
Почему код с картинкой работает на одной базе и не работает на другой?
Скорее всего, базы работают на разных версиях платформы, и нужная пиктограмма появилась только в более новой. Проверьте версию платформы на проблемной базе и наличие имени картинки в синтакс-помощнике именно этой версии.
Как задать картинку для команды, а не кнопки?
Откройте команду в дереве конфигурации или в списке команд формы и установите свойство «Картинка» — все кнопки, связанные с этой командой, унаследуют пиктограмму автоматически. Это удобнее, чем назначать картинку каждой кнопке отдельно.
Влияют ли стандартные картинки на производительность?
Практически нет: пиктограммы встроены в платформу и не загружаются из базы данных. Заметную нагрузку могут создавать только большие пользовательские изображения в общих картинках, поэтому для собственных иконок выбирайте компактные файлы подходящего размера.