При организации удаленного доступа партнеров или внешних клиентов через веб-браузер часто возникает задача: предоставить им упрощенный, изолированный интерфейс (например, «Такси») с индивидуальным рабочим местом, при этом оставив для основных сотрудников привычный вариант работы в управляемых формах (интерфейс «Формы в закладках»). Дополнительно возникает проблема с сообщениями браузера о блокировке всплывающих окон при открытии различных форм.
Разберем подробно, как реализовать выборочное включение интерфейса «Такси», настроить отдельное рабочее место и устранить блокировку всплывающих окон в веб-клиенте.
Сначала проанализируем важный нюанс: предупреждения браузера о всплывающих окнах не привязаны напрямую к стилю интерфейса («Такси» или «Формы в закладках»). Браузер блокирует окна в тех случаях, когда конфигурация использует синхронный режим модальности.
При использовании классических модальных вызовов (например, Предупреждение, Вопрос, ОткрытьФормуМодально) веб-клиент 1С пытается открыть отдельное всплывающее окно браузера. Современные браузеры по умолчанию расценивают такие окна как нежелательные и блокируют их.
Чтобы полностью избавиться от блокировок всплывающих окон без необходимости настраивать каждый браузер пользователя, выполним следующие шаги в конфигураторе:
ОписаниеОповещения (например, ПоказатьПредупреждение, ПоказатьВопрос, ПоказатьВводЗначения).РежимОткрытияОкнаФормы.БлокироватьОкноВладельца или РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс.Платформа 1С:Предприятие 8.3 позволяет сохранять персональные настройки интерфейса для каждого пользователя в специальном системном хранилище. Посмотрим на пример кода, с помощью которого можно принудительно задать вариант интерфейса «Такси»:
НастройкиКлиента = ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиКлиентскогоПриложения");
Если НастройкиКлиента = Неопределено Тогда
НастройкиКлиента = Новый НастройкиКлиентскогоПриложения;
КонецЕсли;
НастройкиКлиента.ВариантИнтерфейсаКлиентскогоПриложения = ВариантИнтерфейсаКлиентскогоПриложения.Такси;
ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиКлиентскогоПриложения", , НастройкиКлиента);
Такой код можно выполнить в процедуре при начале работы системы или в специальной административной обработке, передав имя конкретного пользователя информационной базы в параметры метода сохранения настроек.
Если партнеры подключаются к базе исключительно через браузер, переключать интерфейс можно с помощью параметров запуска в URL веб-клиента. Разберем доступные варианты:
?c=Taxi. Для открытия в интерфейсе «Формы в закладках» используется параметр ?c=Version82./iTaxi.Чтобы предоставить внешним пользователям только их рабочую форму и скрыть лишние элементы конфигурации, применим комплексную настройку рабочей области:
ПартнерскийДоступ) с минимально необходимым набором прав на объекты метаданных.ПартнерскийДоступ. Для остальных ролей оставим стандартные формы начальной страницы.НастройкиПанелей, скрыв панель разделов и панель функций, чтобы партнер видел исключительно предназначенное для него рабочее пространство.