Как открыть управляемую форму на весь экран в 1С:Предприятие

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

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

Ограничения свойств управляемых форм

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

Свойства РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс или БлокироватьОкноВладельца открывают форму по центру экрана с расчетным размером, сохраняя видимость окружения, если не переопределены системные панели.

Способ 1. Интерактивное скрытие панелей горячими клавишами

В платформе 1С:Предприятие 8.3 предусмотрено системное сочетание клавиш для скрытия всех служебных панелей (панели разделов, панели открытых окон, панели инструментов):

Ctrl + Shift + ` (или Ctrl + Shift + ~ / Ctrl + Shift + ' в зависимости от системной раскладки).

При повторном нажатии этой комбинации интерфейс возвращается в стандартный режим с отображением всех настроенных панелей.

Способ 2. Штатные режимы основного окна (Киоск и Полноэкранное рабочее место)

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

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

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

Посмотрим на пример программной установки режима в модуле управляемого приложения:


Процедура ПередНачаломРаботыСистемы(Отказ)
    
    // Проверяем, является ли текущий пользователь кассиром
    Если РольДоступна("Кассир") Тогда
        КлиентскоеПриложение.УстановитьРежимОсновногоОкна(
            РежимОсновногоОкнаКлиентскогоПриложения.ПолноэкранноеРабочееМесто
        );
    КонецЕсли;
    
КонецПроцедуры

Способ 3. Запуск через параметры командной строки

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

  1. /MainWindowMode -FullscreenWorkplace — запуск приложения в режиме полноэкранного рабочего места.
  2. /MainWindowMode -Kiosk — запуск в режиме информационного киоска.
  3. /MainWindowMode -Workplace — запуск в режиме рабочего места с рамками, но без панелей навигации.

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


"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName "Торговля" /MainWindowMode -FullscreenWorkplace

Способ 4. Настройка начальной страницы и панелей пользователя

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

  1. В конфигураторе переходим в меню Интерфейс клиентского приложения и открываем настройку Начальная страница.
  2. Назначаем форму РМК единственной рабочей областью начальной страницы.
  3. В настройке панелей для роли кассира убираем панель разделов, панель открытых окон, панель избранного и панель инструментов.

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

Способ 5. Эмуляция нажатия клавиш через скрипты

В некоторых старых решениях применяют эмуляцию нажатия клавиш переключения режима экрана с помощью объекта WScript.Shell при открытии формы:


&НаКлиенте
Процедура ПриОткрытии(Отказ)
    #Если Windows Тогда
        Попытка
            WshShell = Новый COMОбъект("WScript.Shell");
            WshShell.SendKeys("^+~");
        Исключение
            // Обработка недоступности COM-объекта
        КонецПопытки;
    #КонецЕсли
КонецПроцедуры

Учитываем ограничения данного метода: он работает исключительно под управлением Windows в толстом или тонком клиенте. В веб-клиенте, под Linux и macOS этот подход неприменим. Поэтому для современных конфигураций рекомендуется использовать штатные параметры КлиентскоеПриложение.УстановитьРежимОсновногоОкна() или ключи командной строки /MainWindowMode.

← На главную