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

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

Как добавить иконку в 1С: пошаговая инструкция

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

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

Способ добавления зависит от задачи. Иконку для кнопки или команды задают через общую картинку конфигурации. Изображение товара или сотрудника хранят в данных — в справочнике «Файлы» или в реквизите объекта. Разделы панели навигации оформляют через картинки подсистем. Ниже разобраны все основные сценарии с точными действиями в конфигураторе.

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

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

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

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

Сравнение вариантов хранения иконок

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

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

Библиотека картинок платформы

Встроенные пиктограммы 1С. Ничего загружать не нужно, но выбор ограничен стандартным набором.

Реквизит с типом «Хранилище значения»

Подходит для фото товаров и сотрудников. Хранится в базе данных, доступен пользователям без изменения конфигурации.

Справочник файлов (присоединенные файлы)

Стандартный механизм типовых конфигураций для хранения нескольких изображений у одного объекта.

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

Как загрузить картинку в конфигурацию

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

Кликните правой кнопкой по ветке «Общие картинки» и выберите «Добавить». Задайте имя картинки латиницей без пробелов — например, ИконкаОтчетаПродажи. Затем в палитре свойств найдите свойство «Картинка», нажмите кнопку выбора и в открывшемся редакторе загрузите файл через «Загрузить из файла».

Порядок добавления общей картинки
  1. 1
    Откройте конфигуратор, раздел «Общие — Общие картинки»
  2. 2
    Правой кнопкой — «Добавить», задайте имя латиницей
  3. 3
    В палитре свойств откройте свойство «Картинка»
  4. 4
    Нажмите «Загрузить из файла» и выберите PNG или другой поддерживаемый формат
  5. 5
    Сохраните конфигурацию (Ctrl+S) и обновите конфигурацию базы данных (F7)
  6. 6
    Проверьте, что картинка доступна в списке выбора у команд и кнопок

Платформа поддерживает распространённые растровые форматы: PNG, JPEG, BMP, GIF. Для иконок интерфейса предпочтителен PNG с прозрачным фоном — он корректно отображается на разных цветовых схемах. Размер иконок команд обычно невелик; изображения большого разрешения платформа масштабирует, но это может ухудшить чёткость.

Как назначить иконку команде или кнопке

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

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

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

Как добавить иконку разделу (подсистеме)

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

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

Иконка для списков и объектов

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

Как вывести иконку на форме программно

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

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

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

ДанныеКартинки = Объект.ФайлКартинки.Получить();

Если ДанныеКартинки <> Неопределено Тогда

АдресКартинки = ПоместитьВоВременноеХранилище(ДанныеКартинки, УникальныйИдентификатор);

КонецЕсли;

КонецПроцедуры

Реквизит формы АдресКартинки должен иметь тип «Строка» и быть связан с полем картинки. Если изображение не отображается, чаще всего причина в том, что адрес хранилища потерял актуальность или реквизит не связан с элементом формы.

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

Проверка результата и типичные ошибки

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

Типичные ошибки
01
Картинка загружена, но конфигурация базы данных не обновлена — изменения не видны пользователям. Решение: F7 в конфигураторе и перезапуск сеанса.
02
Иконка задана у кнопки, но не у команды, либо наоборот — проверьте оба свойства и приоритет команды.
03
Свойство «Отображение» кнопки стоит в режиме «Надпись» — картинка есть, но не показывается.
04
Использован формат без прозрачности — иконка выглядит цветным квадратом на тёмной панели.
05
Пользовательские фото сохранены как общие картинки — конфигурация разрастается, а изображения теряются при обновлении.
06
У подсистемы задана картинка, но снят флаг «Включать в командный интерфейс» — раздел с иконкой не появляется.
Контрольные точки

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

Общая картинка в конфигураторе
Норма

Картинка видна в редакторе свойства и доступна в списке выбора у команд

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

Картинка не отображается в редакторе — файл не загружен или формат не поддерживается

Кнопка в режиме Предприятия
Норма

Иконка видна на командной панели, подсказка работает

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

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

Панель разделов
Норма

Раздел показан с заданной иконкой после перезапуска сеанса

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

Раздела нет или иконка стандартная — проверить флаг включения в командный интерфейс

Поле картинки на форме
Норма

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

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

Поле пустое — проверить заполнение реквизита с адресом хранилища

Ограничения и безопасные границы самостоятельной работы

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

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

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

Итог

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

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

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

Можно ли добавить иконку без конфигуратора, прямо в режиме Предприятия?

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

Какой формат и размер выбрать для иконки кнопки?

Оптимален PNG с прозрачным фоном: он корректно выглядит на любых цветовых схемах интерфейса. Точных обязательных размеров платформа не требует — она масштабирует изображение, но небольшие квадратные картинки (порядка 16–32 пикселей) отображаются чётче всего и не утяжеляют конфигурацию.

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

Наиболее вероятная причина — не обновлена конфигурация базы данных: сохранение конфигурации (Ctrl+S) недостаточно, нужно обновление через F7 или меню «Конфигурация — Обновить конфигурацию базы данных». Также проверьте, что пользователи перезапустили сеанс, и что у команды не сброшено свойство отображения.

Как добавить иконку в типовую конфигурацию, не снимая её с поддержки?

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

Можно ли использовать одну общую картинку для нескольких кнопок?

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

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

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