Как в конфигураторе настроить панель навигации формы и скрыть ссылки на регистры для всех пользователей?

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

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

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

Поиск инструмента настройки в Конфигураторе

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

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

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

Работа с вкладкой "Командный интерфейс"

В окне командного интерфейса мы увидим дерево команд, разделенное на две основные секции:

  1. Панель навигации — это именно то, что нас интересует. Здесь находятся команды перехода к подчиненным справочникам, регистрам сведений, документам и бизнес-процессам.
  2. Командная панель — здесь настраиваются кнопки, расположенные в основной командной панели формы (например, кнопки создания на основании или печати).

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

Скрытие ненужных пунктов

Чтобы убрать лишнюю ссылку на регистр сведений, которая "замусоривает" интерфейс, выполним следующие действия:

  1. Найдем в списке команду, соответствующую ненужному регистру.
  2. Обратим внимание на колонку Видимость. По умолчанию там может стоять галочка (или квадратик, означающий "Авто").
  3. Снимем галочку в колонке Видимость напротив этого пункта.

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

Дополнительные возможности настройки

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

1. Настройка видимости по ролям

В этом же окне мы можем настроить видимость команд в разрезе ролей. Это крайне полезно, когда одну и ту же форму используют сотрудники с разными должностными обязанностями. Например, ссылку на регистр "Цены поставщиков" можно оставить видимой для роли МенеджерПоЗакупкам, но скрыть для роли Кладовщик, даже если у кладовщика технически есть права на чтение этого регистра. Это делается установкой или снятием галочек в колонках, соответствующих конкретным ролям конфигурации.

2. Изменение заголовков

Иногда название регистра в метаданных (например, "РегистрСведенийОсновной") выглядит для пользователя непонятно. В настройках командного интерфейса мы можем задать пользовательский Заголовок для навигационной ссылки, не меняя синоним самого объекта метаданных. Например, переименовать ссылку в "История изменений".

3. Группировка команд

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

Почему ссылки появляются автоматически?

Важно понимать механику появления этих ссылок, чтобы не совершать ошибок при проектировании метаданных. Ссылка в панели навигации формы появляется, если:

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

Особенности применения настроек у пользователей

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

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

  1. Открыть форму.
  2. Зайти в меню "Ещё" (или "Вид") -> "Настройка панели навигации формы".
  3. В открывшемся окне нажать "Ещё" -> "Установить стандартные настройки".

Альтернативный подход: Программное открытие

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

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

Рассмотрим пример кода для такой кнопки:


&НаКлиенте
Процедура ОткрытьЦены(Команда)
	
	ПараметрыОткрытия = Новый Структура;
	ПараметрыОткрытия.Вставить("Отбор", Новый Структура("Номенклатура", Объект.Ссылка));
	
	ОткрытьФорму("РегистрСведений.ЦеныНоменклатуры.ФормаСписка", ПараметрыОткрытия, ЭтотОбъект);
	
КонецПроцедуры

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

← На главную