Как настроить подсказку для команды в 1С и что делать, если свойство «Подсказка» скрыто в Конфигураторе

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При разработке интерфейсов в «1С:Предприятие» (особенно при работе с Библиотекой Стандартных Подсистем — БСП) часто возникает задача снабдить элементы меню понятными всплывающими подсказками. Хорошая подсказка помогает пользователю сориентироваться в назначении команды без необходимости открывать справку или документацию. Однако разработчики нередко сталкиваются с ситуацией, когда нужное свойство в Конфигураторе просто отсутствует на панели свойств.

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

Причина проблемы: скрытые свойства в панели свойств Конфигуратора

Проанализируем ситуацию: вы добавляете собственную команду в обработку (например, для интеграции в стандартную панель администрирования БСП). Вы открываете свойства этой команды и видите только базовый набор полей: Имя, Синоним, Комментарий, Группа. Свойства Подсказка в списке нет.

Выясним причину такого поведения платформы. В Конфигураторе «1С:Предприятия» панель свойств по умолчанию работает в режиме фильтрации. На панели инструментов окна свойств есть специальная кнопка — «Показывать только важные» (в разных версиях платформы она выглядит как воронка или как значок футболки/майки).

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

Решение проблемы чрезвычайно простое:

  1. Откройте свойства вашей команды в Конфигураторе.
  2. В верхней части панели свойств найдите кнопку «Показывать только важные» (фильтр свойств).
  3. Нажмите на нее, чтобы отключить фильтрацию.
  4. Прокрутите список свойств вниз — теперь в секции основных свойств появится долгожданное поле «Подсказка».

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

Рассмотрим подробнее, как именно платформа и БСП работают с подсказками, и какие инструменты есть у разработчика для реализации более сложных интерфейсных решений.

Различие между стандартной подсказкой команды и расширенной подсказкой элемента формы

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

1. Стандартная подсказка команды (свойство метаданных)

Это статическое текстовое свойство, которое задается непосредственно в свойствах команды общего назначения или команды объекта/обработки. Платформа использует этот текст по умолчанию везде, куда выводится данная команда (в командный интерфейс разделов, на панели навигации или панели действий). Этот текст представляет собой обычную строку без возможности форматирования (нельзя выделить жирным, изменить цвет или добавить картинку).

2. Расширенная подсказка (свойство элемента формы)

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

  1. Откройте нужную управляемую форму в редакторе.
  2. Найдите элемент управления (например, кнопку), связанный с вашей командой.
  3. Нажмите правой кнопкой мыши по элементу управления и выберите в контекстном меню пункт «Показать расширенную подсказку».
  4. Под вашим элементом в дереве элементов формы появится подчиненный декоративный элемент (тип ДекорацияФормы с видом РасширеннаяПодсказка).

Расширенная подсказка поддерживает формат Форматированной строки. Это дает огромные преимущества:

Мультиязычность и локализация подсказок в 1С

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

При поиске системных подсказок в конфигурации вы можете наткнуться на пути вида Команда.Органайзер.Подсказка.ru. Суффикс .ru указывает на конкретную языковую локализацию. Чтобы правильно настроить локализацию:

  1. В поле ввода свойства «Подсказка» нажмите кнопку с лупой (откроется диалоговое окно редактирования строки).
  2. В открывшемся списке языков конфигурации задайте перевод для каждого из поддерживаемых языков (например, для русского и английского).
  3. Платформа автоматически определит язык текущего сеанса пользователя и покажет подсказку на нужном языке без какого-либо дополнительного программирования.

Программное управление подсказками

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

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

Изменение стандартной подсказки кнопки (простая строка) выполняется следующим образом:


&НаКлиенте
Процедура ИзменитьПодсказкуКнопки()
    Элементы.ИмяКнопкиКоманды.Подсказка = "Новый динамический текст подсказки, актуальный на текущий момент.";
КонецПроцедуры

Если же мы используем расширенную подсказку, мы можем программно сконструировать красивую форматированную строку с выделением цветом:


&НаСервере
Процедура НастроитьРасширеннуюПодсказкуНаСервере()
    
    // Создаем элементы форматированной строки
    МассивЭлементов = Новый Массив;
    МассивЭлементов.Добавить("Внимание! ");
    
    // Добавим выделенный красным цветом важный текст
    ШрифтВыделения = Новый Шрифт(,,Истина); // Жирный
    ЦветВыделения  = WebЦвета.Красный;
    МассивЭлементов.Добавить(Новый ФорматированнаяСтрока("Это действие необратимо.", ШрифтВыделения, ЦветВыделения));
    
    // Объединяем в общую форматированную строку
    НоваяПодсказка = Новый ФорматированнаяСтрока(МассивЭлементов);
    
    // Устанавливаем заголовок декорации расширенной подсказки
    Элементы.ИмяКнопкиКомандыРасширеннаяПодсказка.Заголовок = НоваяПодсказка;
    
КонецПроцедуры

Лучшие практики кастомизации «Панели администрирования БСП»

Если вы решаете задачу добавления новой команды в стандартный раздел «Администрирование» конфигурации, построенной на БСП, крайне не рекомендуется напрямую редактировать типовую обработку ПанельАдминистрированияБСП. Прямое изменение затруднит последующие обновления конфигурации.

Разберем два безопасных и правильных способа интеграции:

  1. Использование расширений конфигурации: Вы можете создать расширение, заимствовать в него форму обработки ПанельАдминистрированияБСП, добавить туда свою команду (предварительно отключив фильтр важных свойств и заполнив подсказку) и вывести ее на заимствованную форму. Это сохранит основную конфигурацию на замке и упростит обновление.
  2. Использование переопределяемых модулей БСП: Архитектура БСП предоставляет общий модуль НастройкиПрограммыПереопределяемый. В его процедурах (например, при инициализации настроек или создании форм) можно программно управлять элементами стандартных форм администрирования. Вы можете динамически добавлять элементы на форму панели настроек, менять их заголовки, видимость, доступность и, конечно же, тексты подсказок.

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

← На главную