Своя иконка или логотип в 1С 8.3: общие картинки в Конфигураторе и их использование в коде
Содержание
Картинку загружают в библиотеку картинок 1С через Конфигуратор: в дереве конфигурации откройте ветку Общие → Общие картинки, добавьте новый объект, загрузите в него файл (PNG, SVG, JPEG и другие форматы) и выполните Конфигурация → Обновить конфигурацию базы данных (F7). После этого изображение доступно в коде как БиблиотекаКартинок.ИмяКартинки и в свойствах форм, кнопок и команд.
Это механизм платформы 1С:Предприятие 8.3, поэтому порядок одинаков для Бухгалтерии, ЗУП, УТ и самописных конфигураций. Для типовой базы на поддержке удобнее добавлять картинку не в основную конфигурацию, а в расширение — так она переживёт обновления.
Как подготовить файл изображения до загрузки
Платформа примет почти любой файл, но выглядеть он будет хорошо только при правильном размере и формате. Плохо подготовленная иконка размывается, получает белую рамку или раздувает конфигурацию на мегабайты.
Какой формат выбрать:
| Формат | Когда брать | Что учесть |
|---|---|---|
| PNG | иконки кнопок, команд, пиктограммы в списках | поддерживает прозрачность, лучший выбор для мелких иконок |
| SVG | иконки, которые должны быть чёткими при любом масштабе экрана | поддерживается в актуальных версиях платформы; проверьте отображение в веб-клиенте |
| JPEG | фотографии, фоны, заставки | прозрачности нет, на мелких размерах появляются артефакты |
| GIF | простая анимация, старые наборы иконок | палитра 256 цветов |
| BMP, ICO | наследие старых конфигураций | BMP много весит, прозрачность ограничена |
Размеры, на которые стоит ориентироваться:
- 🔹 16×16 пикселей — стандарт для кнопок командной панели, команд в меню, пиктограмм в строках списка;
- 🔹 32×32 пикселя — крупные кнопки и команды на начальной странице;
- 🔹 больше 64 пикселей — логотипы и декорации на формах, где картинка показывается как самостоятельный элемент.
Если пользователи работают на мониторах с масштабом 125–200%, мелкий PNG 16×16 будет растянут и станет мутным. Векторный SVG этой проблемы не имеет.
Перед загрузкой проверьте ещё три вещи:
- Фон действительно прозрачный, а не белый. Откройте файл в графическом редакторе на тёмном фоне.
- Вес файла разумный. Иконка — это единицы килобайт. Фотография на 5 МБ попадёт в каждую выгрузку
.cfи.dt. - Имя файла не важно, а вот имя объекта в конфигурации понадобится в коде. Придумайте его заранее: латиница или кириллица без пробелов, начинается с буквы, например
ЛоготипКомпанииилиИконкаОтправкиЗаявки.
Как называть картинки, чтобы потом их найти
Через год в конфигурации могут оказаться десятки ваших изображений. Окно выбора показывает их общим списком вместе со стандартными, и без договорённости об именах нужную иконку приходится искать глазами.
Простая схема, которая работает в небольших командах:
- 🏷️ общий префикс для всех своих картинок, например
Наш_или сокращение компании, — тогда они стоят рядом в списке; - 🏷️ в имени — назначение, а не внешний вид:
ОтправитьЗаявку, а неЗелёнаяСтрелка; - 🏷️ размер в конце имени, если одна иконка есть в двух размерах:
ОтправитьЗаявку16иОтправитьЗаявку32; - 🏷️ в синониме — человеческое описание, в комментарии объекта — откуда взят исходник и кто автор.
Исходные файлы иконок храните рядом с выгрузкой конфигурации в системе контроля версий или в общей папке отдела. Так их проще перерисовать и заменить.
Где в Конфигураторе находится библиотека картинок
Термин «библиотека картинок» в 1С объединяет две вещи:
- 📚 стандартные картинки платформы — встроенный набор иконок (печать, запись, удаление, поиск и десятки других), их не нужно загружать;
- 🖼️ общие картинки конфигурации — то, что добавил разработчик. Именно сюда попадают ваши изображения.
В коде оба набора видны через одно и то же глобальное свойство БиблиотекаКартинок. Отличаются они только тем, откуда взялись.
Чтобы попасть к общим картинкам:
- Запустите базу в режиме Конфигуратор.
- Откройте дерево:
Конфигурация → Открыть конфигурацию. - Разверните ветку
Общиеи найдите в нейОбщие картинки.
Если ветка не редактируется (кнопка добавления неактивна), конфигурация стоит на поддержке без возможности изменений. Здесь два пути:
- создать расширение и добавлять картинки в него — способ по умолчанию для типовых решений;
- включить возможность изменения в настройках поддержки — только если вы сознательно ведёте доработанную типовую и готовы к сравнению-объединению при каждом обновлении.
Перед изменением конфигурации рабочей базы сделайте резервную копию: выгрузку информационной базы в .dt или копию каталога файловой базы. Добавление картинки — безопасная операция, но обновление конфигурации базы данных затрагивает всю базу.
Загрузка изображения в общие картинки по шагам
Вариант 1. В основную конфигурацию
- В ветке
Общие → Общие картинкивызовите контекстное меню и выберитеДобавить(или нажмите Insert). - Заполните Имя — оно используется в коде. Синоним заполнится автоматически, при желании поправьте его: синоним видят разработчики в списках выбора.
- В окне редактирования картинки загрузите файл с диска. Команда выбора файла находится в контекстном меню области картинки и в меню окна — нажмите правой кнопкой по пустому полю изображения.
- Убедитесь, что превью показывает вашу иконку без белой подложки.
- Сохраните конфигурацию и выполните
Конфигурация → Обновить конфигурацию базы данных(F7). - Запустите 1С:Предприятие и проверьте, как картинка выглядит в рабочем интерфейсе.
Вариант 2. В расширение конфигурации
- Откройте
Конфигурация → Расширения конфигурациии создайте новое расширение или откройте существующее. - В дереве расширения перейдите в
Общие → Общие картинкии добавьте объект так же, как в основной конфигурации. - Загрузите файл, задайте имя. Префикс расширения добавляется к имени объекта, поэтому в коде обращайтесь по полному имени с префиксом.
- Обновите конфигурацию базы данных расширения и перезапустите сеанс пользователя.
Расширения появились в платформе 8.3.6, а набор объектов, которые в них можно добавлять, со временем рос. Если команда добавления общей картинки в расширении недоступна, обновите платформу до актуального релиза.
Картинку из файла можно и не заносить в библиотеку: в свойстве Картинка у кнопки, декорации или команды есть выбор собственного изображения прямо из файла. Такой вариант годится для разового использования. Если иконка нужна в трёх местах, кладите её в общие картинки, чтобы не хранить три копии.
Общие картинки, макеты и символы: что выбрать для задачи
Изображение в конфигурации может жить в разных местах. От этого зависит, как его достать и обновить.
| Где хранить | Для чего подходит | Как получить в коде |
|---|---|---|
| Общая картинка | иконки команд, кнопок, логотип в интерфейсе | БиблиотекаКартинок.ИмяКартинки |
| Стандартная картинка платформы | типовые действия: печать, поиск, удаление | БиблиотекаКартинок.Печать и другие встроенные имена |
| Макет типа «Двоичные данные» | файлы для выгрузки, шаблоны, изображения, которые нужны как файл | ПолучитьОбщийМакет("Имя") или ПолучитьМакет у объекта |
| Рисунок внутри табличного макета | логотип в печатной форме | через коллекцию Рисунки области макета |
| Символ шрифта в тексте | простые значки внутри надписей | обычная строка с символом Юникода |
Если вы сомневаетесь, выбирайте общую картинку. Её видно в палитре свойств, она поддерживает прозрачность и сама подстраивается под элемент формы.
Символы Юникода (стрелки, галочки, предупреждающий знак) удобны в заголовках и надписях: они масштабируются вместе со шрифтом и не требуют объекта конфигурации. Но цвет и вид такого значка зависят от шрифта операционной системы, поэтому для фирменных иконок они не годятся.
Как вывести загруженную картинку в форме, команде и печатной форме
В свойствах без кода
- 🖱️ Кнопка или команда формы — свойство
Картинка, в окне выбора переключитесь на библиотеку и найдите свою общую картинку по имени. Чтобы на кнопке была только иконка, задайте свойство отображения «Картинка». - 🖼️ Декорация-картинка на управляемой форме — свойство
Картинка, тот же выбор. - 📋 Общая команда или команда объекта — свойство
Картинкав палитре свойств команды. Иконка появится везде, где команда выводится.
Из кода
Назначить картинку кнопке во время работы формы:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Элементы.КнопкаОтправить.Картинка = БиблиотекаКартинок.ИконкаОтправкиЗаявки;
КонецПроцедуры
Показать иконку внутри форматированной строки, например в надписи с подсказкой:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Подсказка = Новый ФорматированнаяСтрока(
БиблиотекаКартинок.ЛоготипКомпании, " Заявка будет отправлена менеджеру");
КонецПроцедуры
Реквизит формы Подсказка в этом примере имеет тип ФорматированнаяСтрока и выведен на форму полем надписи.
Вывести общую картинку в поле картинки (реквизит формы строкового типа, привязанный к элементу «Поле картинки»):
&НаСервере
Процедура ПоказатьЛоготип()
ДанныеКартинки = БиблиотекаКартинок.ЛоготипКомпании.ПолучитьДвоичныеДанные();
АдресЛоготипа = ПоместитьВоВременноеХранилище(ДанныеКартинки, УникальныйИдентификатор);
КонецПроцедуры
В печатной форме
Чтобы логотип попал в табличный документ, вставьте в макет рисунок, задайте ему имя (например, Логотип) и в коде формирования подставьте изображение:
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьШапка.Рисунки.Логотип.Картинка = БиблиотекаКартинок.ЛоготипКомпании;
ТабличныйДокумент.Вывести(ОбластьШапка);
Если изображение лежит в макете типа «Двоичные данные», сначала превратите его в картинку:
ДанныеЛоготипа = ПолучитьОбщийМакет("ЛоготипДляПечати");
ОбластьШапка.Рисунки.Логотип.Картинка = Новый Картинка(ДанныеЛоготипа);
В Бухгалтерии предприятия 3.0 логотип для счетов и других печатных форм пользователь загружает без Конфигуратора: в карточке организации есть раздел «Логотип и печать». Если задача — просто напечатать логотип на счёте, начните с этого места, дорабатывать конфигурацию не нужно.
Когда пользователь загружает картинку сам, без Конфигуратора
Библиотека картинок — часть конфигурации. Пользователь в режиме 1С:Предприятие её пополнить не может, и это нормально: любые новые общие картинки появляются только через Конфигуратор или расширение.
Если нужно, чтобы бухгалтер или менеджер прикреплял свои изображения (фото товара, скан печати, подпись), их хранят как данные:
- 📎 в присоединённых файлах — в типовых конфигурациях на БСП это готовый механизм «Файлы» у карточек справочников;
- 💾 в реквизите типа
ХранилищеЗначения— для собственных справочников, где картинка должна храниться прямо в элементе; - 🗂️ в отдельном справочнике изображений, если одну картинку используют многие объекты.
Для вывода на форму такие данные помещают во временное хранилище и показывают через поле картинки — так же, как в примере с логотипом выше.
Проблемы после загрузки и как их убрать
Пара приёмов, которые экономят время при сопровождении:
- 🔁 Замена иконки без правки кода. Загрузите новый файл в ту же общую картинку — все кнопки и команды подхватят изменение, имя объекта остаётся прежним.
- 💾 Выгрузка исходника. Через контекстное меню области картинки можно сохранить изображение в файл. Пригодится, если исходники иконок потерялись, а дизайнеру нужно сделать новую в том же стиле.
- 🧹 Поиск неиспользуемых картинок. Перед удалением общей картинки вызовите для неё поиск ссылок на объект в контекстном меню дерева. Если ссылок нет и в коде имя не встречается (
Правка → Глобальный поиск, Ctrl+Shift+F), объект можно удалить.