Добавить иконки в 1с

Обновлено: 07.07.2024

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

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

Неужели под каждого пользователя базы (а их может быть не один десяток) придется подстраивать текущий или создавать новый интерфейс в конфигураторе? Нет! Благодаря возможностям по тонкой настройке интерфейса у платформы 8.1 нет необходимости ни вызывать квалифицированного специалиста, ни лезть в конфигуратор*.

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

Решаются задачи по индивидуальной настройке довольно элегантно - при помощи персональных панелей инструментов. Для примера будем использовать бухгалтерский интерфейс типовой конфигурации "Бухгалтерия предприятия" (ред. 1.6) с демонстрационными данными.

Но прежде, чем перейти к описанию механизма индивидуальной настройки интерфейса, обозначим некие общие возможности, которые платформа 8.1 предоставляет своим пользователям. В частности, нельзя увидеть сразу все стандартные пункты меню и все панели инструментов, которые по умолчанию встроены в платформу (независимо от конфигурации). И это не ошибка. Дело в том, что некоторые возможности являются контекстно-зависимыми, а потому они доступны только тогда, когда в них есть смысл.

Достать их просто - на любом пустом месте рядом с доступными панелями инструментов достаточно нажать правую кнопку мыши. В открывшемся списке вы сразу увидите все доступные панели, причем включенные (видимые) будут помечены галочками.

Наглядный пример - работа с табличным документом. Сравните состав меню и панелей при отсутствии активного табличного документа - см. рис. 1 и при его наличие - см. рис. 2.

В большинстве случаев достаточно использовать появляющиеся пункты меню или включать нужные панели инструментов.

Имейте ввиду: контекстно-зависимые элементы интерфейса будут исчезать, если нет активных окон, с которыми они связаны, и появляться при активизации таких окон.

Итак, приступим к изучению индивидуальной настройки интерфейса.

Для начала определимся, какие пункты меню или важные кнопки необходимо всегда иметь под рукой. Для примера выберем следующие:

  • "Операции" -> "Регламентные операции" -> "Справки-расчеты" -> "Калькуляция";
  • "Продажа" -> "Ведение книги продаж" -> "Книга продаж";
  • "Отчеты" -> "Прочие" -> "Универсальный отчет";
  • "Сервис" -> "Поиск данных";
  • "Предприятие" -> "Производственный календарь";
  • "Таблица" -> "Вид" (обратите внимание - это подменю).

Нужными всегда будем считать кнопки:

  • "Советы", которые расположены на панели инструментов "Поддержка" (панель, созданная при разработке нашей конфигурации);
  • "Зафиксировать таблицу" стандартной панели инструментов "Табличный документ" (допустим, при работе с таблицами нужно часто фиксировать шапку).

С необходимыми функциями определились.

Их состав хоть и несколько сумбурен, но показателен.

Например, пункт меню "Калькуляция" спрятан довольно глубоко, а подменю "Вид" не всегда сразу нам доступен.

Чтобы весь этот набор был всегда у нас под рукой, воспользуемся возможностью платформы 8.1 по созданию персональных панелей инструментов.

Для этого необходимо войти в режим настройки, вызвать список панелей инструментов (аналогично описанному выше способу включения/выключения стандартных панелей инструментов - см. рис. 1) и выбрать "Настройка…". Откроется окно настройки интерфейса, в котором на закладке "Панели инструментов" вы увидите все доступные на данный момент панели инструментов (рис. 3).

Создадим свою панель инструментов и назовем ее, например, "Мое меню". Для этого необходимо нажать кнопку "Создать…" и написать название.

После нажатия на "ОК" в списке доступных панелей мы увидим нашу панель (рис. 4).

Кроме этого, в центре экрана появится наша новая пустая (без единого элемента) панель (рис. 5). Самое главное уже сделано.

Осталось наполнить наше меню нужными элементами.

Оставаясь в режиме настройки, последовательно заполним панель выбранными ранее элементами.

Общий принцип таков - выбираем нужный элемент в тех местах, где обычно находим его в представленном нам интерфейсе, нажимаем и удерживаем клавишу Ctrl и "тащим" мышкой (левой кнопкой) этот элемент на нашу панель (перетаскиваем с копированием).

Что делать, если выпадающее меню перекрыло видимость нашей панели (рис. 6)?

Достаточно взять ее мышкой за левый край заголовка и перетащить в удобное место .

Первым по нашему списку идет элемент "Калькуляция" - перетаскиваем (рис. 7).

Обратите внимание, что клавиша Ctrl должна быть нажата до самого окончания перетаскивания.

Это легко проконтролировать: по окончании перетаскивания элемента на нашу панель рядом с курсором мыши должен быть плюсик ("+"). Если все сделано верно, вы увидите результат, похожий на рис. 8.

Аналогично, перетаскиваем второй пункт нашего персонального меню - "Книгу продаж". В результате получается что-то похожее на рис. 9. Почему видна только иконка? Потому что разработчики конфигурации назначили картинку этому элементу меню, а платформа 8.1 по умолчанию отображает на панелях только картинки, если они заданы. Если же вы хотите видеть надпись или картинку и надпись (как в оригинальном меню), достаточно нажать на нужный вам элемент правую кнопку мыши и выбрать нужный режим отображения. Выберем для "Книги продаж" отображение и картинки, и текста (рис. 10).

Далее, заполняем нашу панель выбранными элементами. У "Поиска данных" также включим отображение картинки и текста. Дойдя в нашем списке до пункта "Таблица/Вид" мы уже имеем панель в таком виде, как показано на рис. 11.

Тут мы можем столкнуться с тем, что меню "Таблица" в данный момент недоступно (причины описаны выше). Решая данную проблему, заодно опробуем возможности по добавлению пунктов в уже существующее меню. Все это время мы работали в режиме настройки интерфейса. Сейчас его временно придется закрыть - в окне "Настройка" жмем кнопку "Закрыть". Заметьте, все наши наработки сохранились и уже доступны для работы на нашей панели. Чтобы получить доступ к меню "Таблица", открываем любой табличный документ, либо создаем новый. После этого снова вызываем режим настройки. Теперь мы получили доступ к нужному меню и можем перетащить, аналогично предыдущим правилам, подменю "Вид" из него (рис. 12).

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

Кнопку "Зафиксировать таблицу" можно найти в меню "Таблица", которое мы сделали доступным ранее. Но для чистоты эксперимента попробуйте включить доступную также панель "Табличный документ" (рис. 13).

Вот и все - мы полностью заполнили панель инструментов "Мое меню" нужными именно нам элементами. Достаточно снова закрыть окно настройки кнопкой "Закрыть" и можно приступать к работе, всегда имея под рукой свой собственный набор функций.

В заключение отметим несколько важных моментов.

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

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

Но все же можно попытаться ее сменить.


Далее включаем режим разработчика, в Internet Explorer 9 это делается клавишей F12 либо через меню Настроек.


Теперь надо найти элемент соттветствующий картинке рабочего стола. Для этого включим возможность выделения мышью.


Выделим картинку рабочего стола.


Внизу приложения отобразится строка HTML разметки: ""

e1cib/convertPicture?sysver=8.2.15.318&url=e1csys%2Fbackend%2Fdesktop.jpg&w=48&h=48" становится понятно, что картинку "desktop.jpg" из какого то системного хранилища "e1csys/backend" передают в функцию конвертации картинки до размеров 48*48.

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

Просмотрев множество файлов из "C:\Program Files\1cv82\8.2.16.352", мое внимание привлекли файлы "backend.dll", "backend_ru.res" и "backend_root.res".
В файле "backend_root.re"s нашлось упоминание о "desktop.jpg". Я пробовал различные редакторы ресурсов, но видимо фирма 1с использует свой редактор. Если открыть этот файл в блокноте, то можно заметить, что файл состоит из двух частей, первая хранит названия ресурсов, а вторая ее данные.


Названия ресурсов перечислены без каких либо указаний на расположение, значит надо искать последовательно в этом файле. Следовательно надо подсчитать порядковый номер нашей картинки и найти по порядковому номеру ее данные из второй секции файла. Действий будет меньше если мы будем считать количество файлов с раширением "png", а во второй секции будем искать файл который содержит "‰PNG". Лучше использовать HEX-редактор. Я буду использовать WinHEX.
Итак найдем порядковый номер искомого файла среди файлов формата PNG.



Если долго жать F3 и считать количество нажатий то мы прийдем к записи "desktop.jpg". Для версии 8.2.16.352 он оказался 11-м.
Теперь найдем Начало данных этого файла. Для этого 11 раз нажмем F3 при установленном поиске "PNG". Не забудьте установить галочку "Match case", она дает указание, что поиск идет с учетом регистра символов.


Нажав F3 одиннадцать раз мы перешли на начало файла. Но как найти окончание файла? Для этого достаточно глянуть любой другой файл формата "PNG". Он заканчивается строкой "END®B`‚", мало того в файле "backend_root.res" есть разделитель между ресурсами.
Ну так давайте выделим этот диапазон двоичных данных и сохраним в отдельный файл.
Мышкой протянем от начала файла.


И до следующего файла


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



После просмотра сохраненной картинки, было понятно что хранятся они не последовательно. На 11й позиции была другая картинка. Пришлось скопировать другие блоки, что бы найти нашу картинку. Она оказалась на 18 месте.


Советую перед все эти действия выполнять на копиях файлов.

Теперь нам нужен графический редактор. Я буду использовать Paint. Меняем рисунок на свое предпочтение. Например так:


И теперь осталось поместить новый рисунок в файл ресурсов. Недостаток в том, что измененный файл должен быть не больше по размеру чем исходный. Возможно это не так, но файл большего размера у меня поместить не удалось.
Потому измененный файл надо подогнать под размер исходного файла. Откроем ИсходныйФайл.jpg и посмотрим размер:


Его размер 3145 байт.

Откроем ИзмененныйФайл.jpg и определим его размер.


Размер измененного файла - 2643 байта. Разница в размерах 502 байта.

Дополним измененный файл нулями до нужного размера:


Нажмем ОК и сохраним файл.


Откроем его в стандартными средствами, что бы убедится, что измененная картинка после дополнения не повредилась.

Теперь в WinHEX выделяем весь "ИзмененныйФайл.jpg" (Cntr+A) и копируем (Cntr+C). переходим к файлу "backend_root.res". Надо заменить блок с изображением рабочего стола на скопированную в буфер обмена измененную пиктограмму рабочего стола. Перейдите на начало блока и вызовите команду Write(Cntr+B). Эта команда вставить содержимое буфера с заменой, а не с добавлением.


Проверьте что расмер файла "backend_root.res" не изменился и сохраните.

Можно ложить файл обратно в папку "C:\Program Files\1cv82\8.2.16.352" и запускать 1С.


Ну теперь интерфес точно стал унифицированным! Картинка заменилась только для толстого клиента, наверняка были найдены не все файлы где хранится картинка рабочего стола. Если у вас получится сделать изменение картинки для веб клиента или тонкого клиента, то поделитесь как вам это удалось. Помимо этого есть другие недостатки, например при обновлении платформы новый файл "backend_root.res" может конфликтовать с вашим.

Пишите свои комментарии, замечания и предложения. Буду рад, если эта статья вам поможет.

И так начнем. Для наглядности я создам реквизит формы с типом Булево.

Реквизиты формы

Разместим новый реквизит на форме. Это можно сделать двумя способами.

Первый способ: просто перетащить мышкой нужный реквизит в закладку элементы.

Перетаскиваем реквизит формы

Второй способ: добавить новый элемент формы с типом Поле, и связать его с нужным реквизитом формы при помощи свойства элемента ПутьКДанным.

Добавление нового элемента формы

Свойство ПутьКДанным элемента формы

Я перетащу реквизит с типом Булево, и у него автоматически установится вид Поле флажка.

Свойство вид со значением поле флажка

Сам флажок нам не интересен. Гораздо интереснее свойство Вид флажка, которое может принимать три значения – Авто, Флажок и Тумблер.

Значения свойства вид флажка

Если мы установим в это свойство значение Тумблер, то наша форма примет более красивый вид.

Вид флажка - тумблер

Конечно же, когда в переключателях тумблера написаны названия Истина и Ложь, это не очень то красиво. Поменяем их на более привычные. Для этого воспользуемся свойством элемента Формат редактирования, где на закладке Булево установим более подходящие для нас названия кнопок тумблера.

После этого наш тумблер примет более красивый вид. Если мы захотим убрать или переместить положение заголовка, то для этого нам понадобится свойство элемента ПоложениеЗаголовка. Которое принимает много разных значений, в том числе значение – Нет.

Свойство элемента ПоложениеЗаголовка

Более подробно работа с элементами формы на практичных примерах дается в книге «Основы разработки в 1С:Такси. Разработка управляемого приложения за 12 шагов».


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

  1. Без сложных технических терминов;
  2. Более 600 страниц практического материала;
  3. Каждый пример сопровождается рисунком (скриншот);
  4. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!


Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:

можно оплатить вручную:

В этой статье мы разберемся с тем, как в платформе 1С 8.3 работать с различными символами. Узнаем, как добавить нужный символ в строку, обратившись к нему по коду, а также познакомимся с системным набором значений Символы.

Функции Символ и КодСимвола

У примитивного типа строка в 1С есть метод, который называется Символ. Этот метод является функцией и имеет единственный параметр, в котором необходимо указывать код символа согласно кодировке Unicode. А возвращать эта функция будет сам символ, который соответствует этому коду.

На этом сайте можно найти коды Unicode практически любых символов, включая самые экзотические.

Мы можем выбрать нужный диапазон символов.

Диапазон символов unicode

Код символа unicode

Если мы значение DEC этого символа поставим в качестве параметра в метод Символ:

То этот метод вернёт строковое представление символа:

Символ в 1С

Замечу, что переменная Символ_1 имеет тип Строка, т.е. с ней можно совершать любые операции, которые присущи строкам. Например, операцию конкатенации:

Символ в 1С

Метод возвращает десятичное представление кода символа в кодировке Unicode.

На произвольной управляемой форме создадим реквизит с типом строка (длинна 1), который разместим на форме в виде поля ввода:

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

У этого поля ввода создадим событие ОкончаниеВводаТекста:

Событие ОкончаниеВводаТекста поля ввода

Так можно узнать код любого символа, который можно ввести с вашей клавиатуры.

Коды символов

Замечу, что для строчных и заглавных букв коды разные. Это разные символы.

Системный набор значений Символы

Некоторые самые распространенные символы собраны в системный набор значений, который так и называется Символы. Этот набор имеет всего шесть значений:

  • ВК – возврат каретки;
  • ВТаб – символ вертикальной табуляции;
  • НПП – неразрывный пробел;
  • ПС – перевод строки;
  • ПФ – перевод формы;
  • Таб – символ горизонтальной табуляции.

Рассмотрим пример, в котором будем использовать некоторые символы из набора значений.

И результат этого примера:

Замечу, что значение системного набора Символы суть строка, и к этим значениям, также можно применять все правила и методы работы со строками.

Статьи о примитивных типах в 1С:

Программировать в 1С за 11 шагов

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника.

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

можно оплатить вручную:

Читайте также: