В управляемом интерфейсе платформы «1С:Предприятие 8.3» на верхней панели по умолчанию присутствуют стандартные команды для работы с навигационными ссылками: «Получить ссылку» и «Перейти по ссылке». В ряде сценариев требуется скрыть эти кнопки от пользователей или полностью заблокировать возможность навигации по прямым ссылкам. Разберем доступные варианты решения данной задачи — от настройки клиентского интерфейса до программного перехвата событий на уровне платформы.
Если задача заключается только в визуальной разгрузке интерфейса конкретного пользователя, платформой предусмотрена штатная настройка состава кнопок в заголовке клиентского приложения.
Разберем по шагам, как убрать отображение кнопок вручную:
Важный нюанс: данный способ управляет исключительно видимостью кнопок на панели текущего пользователя. Команды по-прежнему останутся доступны через главное меню программы (в разделе «Сервис»), а также по горячим клавишам (например, Shift + F11 для перехода по ссылке).
Для специализированных рабочих мест (например, терминалов самообслуживания или рабочих мест кассиров) платформа предоставляет режимы отображения, в которых стандартные системные элементы управления скрываются на уровне конфигурации.
Проанализируем доступные режимы свойства РежимОсновногоОкнаКлиентскогоПриложения:
Посмотрим на пример установки режима в модуле управляемого приложения:
Процедура ПриНачалеРаботыСистемы()
// Установка специализированного режима окна приложения
ОтображениеОсновногоОкна = ОтображениеОсновногоОкнаКлиентскогоПриложения.РабочееМесто;
КонецПроцедуры
Если требуется гарантированно запретить пользователям переход по навигационным ссылкам (включая использование горячих клавиш Shift + F11, команд главного меню и вставки URL в веб-клиенте), воспользуемся событием модуля управляемого приложения.
В платформе 1С предусмотрен обработчик ОбработкаПереходаПоНавигационнойСсылке, в котором можно централизованно отключить выполнение системного перехода.
Разберем реализацию обработчика в Модуле управляемого приложения:
&НаКлиенте
Процедура ОбработкаПереходаПоНавигационнойСсылке(ДанныеПерехода, СтандартнаяОбработка)
// Полностью отключаем стандартный механизм перехода
СтандартнаяОбработка = Ложь;
// При необходимости можно оповестить пользователя
ПоказатьПредупреждение(, "Переход по навигационным ссылкам отключен администратором.");
КонецПроцедуры
Если конфигурация разработана с применением Библиотеки стандартных подсистем (БСП), аналогичная точка расширения реализована в общем модуле ОбщегоНазначенияКлиентПереопределяемый в одноименной процедуре ОбработкаПереходаПоНавигационнойСсылке.
В современных версиях платформы предусмотрена возможность управления составом и генерацией навигационных ссылок непосредственно на уровне отдельных форм. Для этого используются события формы:
ОбработкаПолученияНавигационнойСсылки — позволяет переопределить или отменить получение ссылки на форму или текущий объект (параметр СтандартнаяОбработка = Ложь).ОбработкаПолученияСпискаНавигационных ссылок — управляет списком ссылок, если открытый объект содержит подчиненные данные или связанные представления.Часто необходимость скрыть команды работы со ссылками возникает из-за желания ограничить доступ пользователей к объектам, которые намеренно не выведены в командный интерфейс подсистем. Важно учитывать следующие правила безопасности платформы: