Своя картинка на кнопке, в разделе и в списке 1С: от файла до формы
Содержание
Чтобы установить иконку в 1С, загрузите файл в конфигуратор как общую картинку (Общие → Общие картинки → Добавить), а затем выберите её в свойстве «Картинка» нужной команды, подсистемы или элемента формы. Для кнопок берите PNG 16×16 с прозрачным фоном — это стандартный размер командной панели.
Типичная ситуация: программист добавил в форму документа кнопку «Отправить в банк», а пользователи её не замечают среди десятка серых соседей. Своя иконка решает задачу за пять минут: подготовить файл, загрузить его в конфигурацию, назначить команде и обновить базу . Сложности начинаются с типовыми конфигурациями на поддержке и с мониторами 4K — для них есть свои приёмы.
Какие форматы иконок понимает 1С и какой размер нужен
Платформа 1С:Предприятие 8.3 принимает почти все распространённые графические форматы. Но для иконок они не равноценны.
| Формат | Прозрачность | Когда брать |
|---|---|---|
| PNG | Полная (альфа-канал) | Основной выбор для кнопок, разделов, колонок списков |
| SVG | Да, вектор | Иконки, которые должны быть чёткими при любом масштабе экрана (поддерживается в актуальных версиях 8.3) |
| GIF | Один цвет прозрачный | Анимация: индикатор загрузки, «песочные часы» |
| BMP | Нет, только через прозрачный пиксель | Старые наборы иконок, доставшиеся от прежних конфигураций |
| ICO | Да | Если другой файл недоступен; внутри может быть несколько размеров |
| JPEG | Нет | Фото товара или сотрудника, но не иконки: белый квадрат вокруг значка неизбежен |
Размеры, которые используют типовые конфигурации:
- 🔹 16×16 — кнопки командной панели, пункты меню, колонки таблиц;
- 🔹 24×24 и 32×32 — крупные кнопки и панель разделов;
- 🔹 48×48 — картинки на начальной странице, декорации, индикаторы длительных операций.
Держите одну иконку в двух-трёх размерах, а не растягивайте 16×16 до 32×32 свойствами формы. Растянутый растр всегда «мылится».
Где взять иконки для 1С и что проверить перед использованием
Сначала загляните в библиотеку платформы. В окне выбора картинки у любого свойства «Картинка» есть вкладка со стандартными картинками: «Записать», «Провести», «Печать», «Найти», «Обновить» и ещё несколько сотен. Пользователь к ним привык, и единый стиль с типовыми формами сохраняется.
Если подходящей нет, ищите в открытых наборах:
- 🎨 Fugue Icons — несколько тысяч значков 16×16, лицензия CC BY 3.0 (нужно указать автора);
- 🎨 Material Icons от Google — лицензия Apache 2.0, есть SVG и PNG любых размеров;
- 🎨 бесплатные тарифы иконочных сервисов — обычно требуют ссылку на источник;
- 💳 платные наборы — от нескольких сотен до нескольких тысяч рублей за пакет, ориентировочно; зато без требований к упоминанию автора.
Конфигурацию, которую вы продаёте или ставите клиентам, проверяйте на лицензии всех картинок. Значок «из поиска по картинкам» без указанной лицензии использовать нельзя.
Стиль внутри одной формы держите единым. Цвет тоже: зелёный значок привычно читается как «готово», красный — как «ошибка» или «удалить», и назначать красный на безобидную команду не стоит. Плоские монохромные значки «Такси» плохо соседствуют с объёмными глянцевыми иконками из наборов десятилетней давности.
Подготовка файла иконки перед загрузкой
Пять минут в графическом редакторе избавят от переделок после обновления базы.
- Обрежьте поля. Значок должен занимать квадрат целиком, с отступом 1–2 пикселя по краям.
- Сделайте фон прозрачным. В PNG это альфа-канал, а не белая заливка.
- Сохраните нужные размеры отдельными файлами:
otpravka_16.png,otpravka_32.png. - Проверьте вес. Иконка 16×16 весит 1–3 КБ. Файл на 300 КБ значит, что внутри лишние метаданные или огромная исходная картинка.
- Для BMP заранее выберите цвет фона, которого нет в самом рисунке, например ярко-розовый. Потом его назначат прозрачным пикселем.
Имя файла на диске ни на что не влияет. В конфигурации картинка получит своё имя, и по нему к ней будут обращаться из кода. Называйте осмысленно: ОтправкаВБанк, а не Картинка1.
Как загрузить иконку в конфигуратор 1С
Хранилище всех своих картинок конфигурации — ветка «Общие картинки». Добавленная туда иконка доступна в любой форме, команде и подсистеме.
В собственной или снятой с поддержки конфигурации
- Откройте базу в режиме «Конфигуратор» и откройте конфигурацию:
Конфигурация → Открыть конфигурацию. - В дереве раскройте ветку
Общие → Общие картинки. - Нажмите «Добавить» на панели дерева или клавишу
Insert. - Задайте имя без пробелов, например
ОтправкаВБанк, и синоним. - В форме картинки нажмите кнопку выбора файла и укажите подготовленный PNG.
- Для BMP включите прозрачный пиксель и щёлкните мышью по цвету фона.
- Сохраните конфигурацию и обновите конфигурацию базы данных — клавиша
F7.
После F7 перезапустите сеанс 1С:Предприятия, иначе пользователь новой картинки не увидит.
В типовой конфигурации на поддержке
Добавлять картинку прямо в основную конфигурацию БП, ЗУП или УТ не стоит: придётся включать возможность изменения, и следующие обновления станут дольше и рискованнее.
Правильный путь — расширение конфигурации :
Конфигурация → Расширения конфигурации → Добавить.- Откройте расширение, в его дереве добавьте общую картинку так же, как описано выше.
- Заимствуйте в расширение форму или команду, где нужна иконка, и задайте картинку там.
- Сохраните расширение и обновите его в базе.
Типовая конфигурация остаётся на полной поддержке, а иконка живёт в расширении и переживает обновления.
Как поставить иконку на кнопку, раздел и форму
Загрузка картинки — половина дела. Теперь её нужно назначить конкретному объекту.
Команда и кнопка
У команды формы и у общей команды есть свойство «Картинка». Нажмите кнопку выбора, найдите свою общую картинку или стандартную. Рядом стоит свойство «Отображение»:
- Картинка — на кнопке только значок, текст уходит во всплывающую подсказку;
- Текст — значка нет;
- Картинка и текст — оба элемента;
- Авто — платформа решает сама в зависимости от места кнопки.
Если иконка задана, а на кнопке её нет, первым делом смотрите сюда: часто стоит «Текст».
Раздел (подсистема)
Иконка раздела задаётся в свойстве «Картинка» подсистемы верхнего уровня. Она видна в панели разделов. Для неё готовьте крупный вариант: 16×16 в панели разделов «Такси» выглядит потерянно.
У самой конфигурации в свойствах есть «Логотип» и «Заставка» — это картинки окна «О программе» и экрана запуска, а не значки команд.
Элементы формы
Для статичной картинки в форме добавьте декорацию типа «Картинка» и укажите общую картинку в её свойстве «Картинка». Свойство «Размер картинки» управляет масштабом: «Реальный размер» показывает файл как есть, «Пропорционально» вписывает в рамку декорации без искажений.
Иконку можно назначить и из кода. Пример для формы документа, где кнопка меняется в зависимости от того, отправлен ли платёж:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Объект.ОтправленВБанк Тогда
Элементы.ФормаОтправитьВБанк.Картинка = БиблиотекаКартинок.ОтправкаВБанкВыполнена;
Иначе
Элементы.ФормаОтправитьВБанк.Картинка = БиблиотекаКартинок.ОтправкаВБанк;
КонецЕсли;
КонецПроцедуры
БиблиотекаКартинок — свойство глобального контекста. Через точку после него пишется имя общей картинки ровно так, как оно задано в дереве конфигурации.
Иконки для масштаба 125–200% и 4K-мониторов
На ноутбуках с высоким разрешением Windows часто стоит масштаб 150% или 200%. 1С увеличивает интерфейс вместе с системой, и иконка 16×16 растягивается до 24 или 32 пикселей. Края становятся размытыми.
Есть два решения.
SVG. Векторная картинка рисуется заново под любой масштаб и остаётся чёткой. Минус: сложные иконки с градиентами и тенями платформа может отрисовать иначе, чем браузер. Проверяйте результат в тонком и веб-клиенте.
Несколько растровых вариантов в одной картинке. Общая картинка умеет хранить набор вариантов под разную плотность экрана. Варианты загружаются ZIP-архивом с файлом-описанием, где каждому файлу сопоставлен масштаб. Точный формат описания приведён в документации разработчика к вашей версии платформы. Платформа сама выберет вариант под текущий масштаб.
Минимальный набор растровых вариантов для иконки 16×16:
| Масштаб экрана | Размер файла |
|---|---|
| 100% | 16×16 |
| 150% | 24×24 |
| 200% | 32×32 |
Если рисовать варианты некогда, возьмите иконку из набора, где есть SVG-исходник. Из него экспортируются PNG всех размеров за минуту.
Проверить результат просто: в Windows поставьте масштаб 150% в параметрах экрана, перезайдите в 1С и посмотрите на кнопки.
Динамические и анимированные иконки
Значок статуса в колонке списка
Частая задача — показать цветной кружок статуса прямо в строках списка заявок или документов. Для этого не нужно хранить картинку в каждой строке.
- Подготовьте одну общую картинку-полосу: несколько квадратных значков одного размера подряд по горизонтали. Например, 48×16 — три иконки 16×16.
- В запрос динамического списка добавьте числовое поле-индекс:
ВЫБРАТЬ
Заявка.Ссылка КАК Ссылка,
Заявка.Номер КАК Номер,
Заявка.Дата КАК Дата,
ВЫБОР
КОГДА Заявка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыЗаявок.Новая) ТОГДА 0
КОГДА Заявка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыЗаявок.ВРаботе) ТОГДА 1
ИНАЧЕ 2
КОНЕЦ КАК ИндексСтатуса
ИЗ
Документ.Заявка КАК Заявка
- Выведите поле
ИндексСтатусав таблицу формы как поле картинки. - В свойстве «Картинка значений» этой колонки укажите картинку-полосу. Индекс 0 покажет первый кадр, 1 — второй, 2 — третий.
Имена документа и перечисления в примере условные — подставьте свои объекты.
Картинка из базы
Фото сотрудника или товара, загруженное пользователем, хранят в реквизите типа «Хранилище значения» или в присоединённом файле. Для показа в форме двоичные данные помещают во временное хранилище, а адрес отдают полю картинки:
&НаСервере
Процедура ПоказатьФото()
ДвоичныеДанные = Объект.Ссылка.Фото.Получить();
Если ДвоичныеДанные <> Неопределено Тогда
АдресФото = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор);
КонецЕсли;
КонецПроцедуры
Реквизит формы АдресФото имеет тип «Строка», а поле картинки в форме связано с ним через путь к данным.
Анимация
Анимированный GIF, назначенный декорации или полю картинки, проигрывается в форме. Так сделаны индикаторы длительных операций в типовых конфигурациях на Библиотеке стандартных подсистем. Для кнопок анимация не подходит: значок на командной панели должен быть статичным, иначе он отвлекает.
Как сменить значок ярлыка 1С на рабочем столе
Иногда под «иконкой 1С» имеют в виду не картинку внутри конфигурации, а значок запуска. Бухгалтеру с тремя базами удобно, когда у каждой свой ярлык и свой цвет.
- Создайте ярлык на
1cestart.exe(обычно лежит в папкеC:\Program Files\1cv8\common\). - В поле «Объект» после пути добавьте параметры запуска конкретной базы, например:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName"Бухгалтерия ООО Ромашка"
- Откройте свойства ярлыка, вкладка «Ярлык», кнопка «Сменить значок…».
- Укажите свой файл
.icoи нажмите «ОК».
Имя после /IBName должно совпадать с названием базы в списке информационных баз. Если оно другое, откроется окно выбора базы.
Значок ярлыка меняется только на этом компьютере и только у этого ярлыка. В списке информационных баз 1С отдельных иконок для баз нет.
Почему иконка не появилась и как это исправить
Ещё одна неочевидная ловушка — веб-клиент. Он кеширует картинки в браузере, и после замены файла пользователь ещё какое-то время видит старую иконку. Очистка кеша браузера или вход в приватном окне показывает, дошла ли новая версия.