Заметки из Зазеркалья

09.12.2016

Новые режимы основного окна

Реализовано в версии 8.3.10.2168.

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

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

Нужно сказать, что в платформе существуют некоторые возможности максимизации рабочего пространства: открытие формы в отдельном окне, скрытие активных панелей сочетанием клавиш Ctrl + Shift + ~. Но они не позволяют целиком решить задачи, возникающие в упомянутых сценариях работы. Поэтому мы решили, что нужно какое-то комплексное решение. Так и появились новые режимы основного окна.

Управление режимом

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

В конфигураторе для этого мы добавили новое свойство конфигурации Режим основного окна клиентского приложения, а во встроенном языке реализовали два метода: УстановитьРежимОсновногоОкна() и ПолучитьРежимОсновногоОкна(). Метод УстановитьРежимОсновногоОкна() вы можете вызывать только в обработчике события ПередНачаломРаботыСистемы.

Возможные режимы

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

001.png

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

002.png

Режим ПолноэкранноеРабочееМесто скрывает всё то же самое, что и режим РабочееМесто, но дополнительно к этому основное окно разворачивается на весь экран, и скрываются кнопки управления окном (Свернуть, Восстановить, Закрыть).

003.png

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

Примеры использования

Режим РабочееМесто вы можете использовать для простых приложений. Например, для гипотетического приложения Почтовый клиент, у которого есть всего две функции – приём и отправка почты.

203.png

Тут на начальной странице расположена одна форма. Всё лишнее скрыто. И даже скрыт заголовок формы. Такую возможность мы тоже реализовали, она управляется отдельно.


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

Рисунок6.png

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


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

Рисунок7.png

Как совсем фантастический пример, в этом режиме можно реализовать интерфейс банкомата, например.

Рисунок8.png

Особенности веб-клиента

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

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

Рисунок9.png

И только по нажатию кнопки в этом диалоге (по действию пользователя) происходит переход в полноэкранный режим.

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

Рисунок10.png

Скрытие заголовка формы

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

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

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

004.png

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

201.png


А при выключенном заголовке формы снова появляется надпись Начальная страница.

202.png

Скрытие кнопки закрытия окна приложения

Ещё одно новое свойство управляемой формы, ОтображатьКнопкуЗакрытия, позволяет вам скрыть кнопку закрытия формы и одновременно отключить стандартные действия, выполняемые по клавише Esc. Оно работает только в новых режимах открытия основного окна РабочееМесто, ПолноэкранноеРабочееМесто или Киоск.

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


Теги: UI  Такси  8.3.10