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