Как в 1с развернуть окно на весь экран
Перейти к содержимому

Как в 1с развернуть окно на весь экран

  • автор:

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

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

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

Нужно сказать, что в платформе существуют некоторые возможности максимизации рабочего пространства: открытие формы в отдельном окне, скрытие активных панелей сочетанием клавиш 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. Оно работает только в новых режимах открытия основного окна РабочееМесто, ПолноэкранноеРабочееМесто или Киоск.

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

Как сделать окно в 1С во весь экран?

Да, это возможно.
Для этого необходимо нажать комбинацию клавиш Ctrl+Shift+~ (тильда, или кнопка ё).

razmer_ekrana1

Смотрите что получается:

Нажимаем Ctrl+Shift+~ и получаем:

razmer_ekrana2

Обратите внимание, это одно и тоже окно.

Нажатие на эти клавиши скрывает все лишние панели и позволяет во всю ширину и высоту отобразить содержание документа.

Как в 1с развернуть окно на весь экран

Как программно развернуть на весь экран окно управляемой формы, открытое в режиме «блокировать весь интерфейс»?

этот скрипт вызывает рантайм (8.3.6.2152, win10)
WSHShell = Новый COMОбъект(«WScript.Shell»);
WSHShell.SendKeys(«%»);

этот вообще не работает — ничего не происходит
WSHShell = Новый COMОбъект(«WScript.Shell»);
WSHShell.SendKeys(«%»);
WSHShell.SendKeys(«»);

(0) Вот так попробуй:
ПараметрыЭкрана = ПолучитьИнформациюЭкрановКлиента();
ЭтаФорма.Ширина = ПараметрыЭкрана[0].Ширина;
ЭтаФорма.Высота = ПараметрыЭкрана[0].Высота;

(1) Увы, не работает. Возможно, это связано с тем, что в параметрах экрана ширина и высота в пикселях, а в свойствах формы — в неких «символах»:

УправляемаяФорма (ManagedForm)
Ширина (Width)
Использование:

Чтение и запись.
Описание:

Тип: Число.
Содержит ширину формы. Задается в символах.
(с) СП

Справедливости ради — на что-то это влияет, а именно на соотношение размеров элементов в форме, но размер самой формы не меняется

(3) Тоже не работает. За помощь огромное спасибо — нужно хотя бы перепробовать всё, что можно.
Так а в параметрах формы указать не вариант ? И ширину с высотой п омаксимуму установить.
(5) РежимОткрытияОкна = Блокировать интерфейс пользователя

(6) ЭтаФорма.РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
ЭтаФорма.Ширина = ;
ЭтаФорма.Высота = ;

(7) ЗАменишь на БлокироватьВесьИнтерфейс, и из параметров экрана вставишь значения высоты и ширины

(8) Так именно и делаю; форма открывается в режиме «Блокировать весь интерфейс», выставляю ширину/высоту формы в ПриОткрытии как советовал (1), результат см. в (2). Даже на всякий случай сделал в ПриОткрытии однократный вызов обработчика ожидания, в котором пробовал все эти манипуляции — ничего не помогает.
PS Назвать управляемым этот интерфейс — это какое-то утонченное издевательство. ладно, это эмоции.

Форма в веб клиента на весь экран поверх всех окон

Коллеги приветствую. Нужна помощь.
Дано:
Конфа на БСП (Фитнес клуб), хотя и на УТ 11 будет тоже самое.
Собственная форма на УФ (заточенная под мобильного веб клиента)
Проблема:
При запуске на мобильном устройстве (андроид или iOS) в браузере (любом, на всех пробовал) нужно форму открыть на весь экран и поверх всех окон (те скрыть вообще все). Нашел вариант только такой:

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

Ну и где то там передаю на открытие свою форму. И вроде все работает. НО: в момент запуска срабатывает какая то стандартная штука 1с и выходит сообщение о переходе в полноэкранный режим, где нужно подтвердить нажатием ОК. В браузере на андроид окно с предложением перейти в полноэкранный режим центрируется и можно нажать кнопку ОК и получаем нужный результат. А вот на IOS форма открывается развернуто и окна с подтверждение не видно. Да по нажатие двойной тап (двумя пальцами дважды тыкнуть по экрану) все нормализуется, но это костыль и нужно от него избавиться.
Вообщем какие варианты я вижу:
1. Как то развернуть окно формы на весь экран (причем учитывая разные размеры и разрешения устройств) и сделать поверх всех окно закрыв стандартные панели.
2. Оставить как есть, но как то программно нажимать enter чтобы подтвердить переход в полноэкранный режим. (WSHShell = Новый COMОбъект(«WScript.Shell») уже пробовал не работает в веб клиенте)
3. Добиться чтобы на iOS выходил (хотя бы так) вопрос о переходе в полноэкранный режим.
Пару скринов как это выглядит прилагаю.

  • Android.jpg (103 кб)
  • IOS.PNG (507 кб)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *