Имя: Пароль:
1C
1С v8
Формы в мобильном приложении открываются не на весь экран
0 TreeDogNight
 
30.05.22
16:34
Всем доброго времени суток! Разрабатываю мобильное приложение, которое будет использоваться на планшетах и столкнулся со следующей проблемой: при программном открытии любых форм, они открываются не на весь экран, как будто бы в модальном режиме. Это какая-то особенность работы на планшете или при открытии формы необходимо передавать какой-то особый параметр?

https://ibb.co/ZxCDdg0
https://ibb.co/W51pZq5
https://ibb.co/Gds5qn2
1 rudnitskij
 
30.05.22
18:00
Код 1го скриншота где выполняется?
2 rudnitskij
 
30.05.22
18:04
Я писал под мобильное приложение обработку, с такой проблемой не сталкивался. По умолчанию все открывались на весь экран
3 TreeDogNight
 
31.05.22
07:15
(1) На клиенте
(2) При разработке приложений для смартфонов подобного поведения при открытии форм не было, столкнулся с этим только при разработки приложения для планшетов
4 Злопчинский
 
31.05.22
08:56
(0) а почему бы из значения перечисления не сконструировать имя формы и получить уникод, который будет рабочим и при добавлении нового значения перечисления (если вдруг) без доп.кодинга?
5 TreeDogNight
 
31.05.22
09:17
(4) Можно так сделать, но когда у тебя ограниченные сроки на разработку, выбираешь первый вариант реализации, который приходит в голову :)
6 Злопчинский
 
31.05.22
09:19
все как всегда.. ХХП ;-)
7 Галахад
 
гуру
31.05.22
09:41
А окно АРМ, случайно не в каком-то особом режиме открывается?
8 TreeDogNight
 
31.05.22
09:42
Немного предыстории: Изначально при необходимости смены формы АРМ я программно устанавливал новую форму в рабочей области начальной страницы, но это требовало ручного перезапуска приложения, так как программный перезапуск в мобильном приложении не работает, но этот вариант оказался не совсем удобным, поэтому при смене вида рабочего места я стал просто закрывать текущую открытую форму и открыть новую, запрещая у неё ручное закрытие.
9 TreeDogNight
 
31.05.22
09:44
(7) Нет, просто открывается форма и всё, никаких параметров при её открытии я не заполняю. Пробовал передавать в параметр "Окно" Основное окно системы, но это никак не повлияло на поведение формы.
10 yzimin
 
31.05.22
09:46
(3) В мобильном клиенте такое же поведение на планшетах, хотя на телефоне в полный экран. Смотри параметр РежимОткрытияОкна
11 TreeDogNight
 
31.05.22
10:29
(10) Пробовал устанавливать различные Режимы открытия окна, к сожалению тоже не помогло.
12 1Сергей
 
31.05.22
10:32
Это типа модальные окна так отображаются?
13 Широкий
 
31.05.22
10:46
Это приложение определяет что у тебя планшет и отсюда соотв поведение окон.
Пару лет назад такое встретил, было критично - делал декомпиляцию apk-шника, чтобы любое устройство определялось как телефон.
14 TreeDogNight
 
31.05.22
11:09
(12) Выглядит действительно как модальное окно, хотя на самом деле оно вряд ли модальное.
(13) Стрёмно конечно. Надеюсь удастся найти более простой выход, средствами 1С.
15 trad
 
31.05.22
11:35
(11) а мне помогло
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца
нужно не забыть передать в параметр этого владельца
16 Garykom
 
гуру
31.05.22
11:36
(14) Перезапускай приложение и начальную форму выводи сразу нужный АРМ
Перезапускать средствами 1С вполне можно
17 trad
 
31.05.22
11:37
(15) +
ОткрытьФорму("ТутФорма", Парам, ЭтотОбъект,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
18 Garykom
 
гуру
31.05.22
11:38
(15) (17) лишняя форма ("активити" в терминах андроид) висеть остается
зачем когда проще (16)
19 trad
 
31.05.22
11:44
(18) я ответил на заданный вопрос - как форму на планшете открыть так чтобы "на весь экран", а не как нужно перепроектировать работу приложения
20 Garykom
 
гуру
31.05.22
11:54
(19) с этим не поспоришь ))
21 TreeDogNight
 
31.05.22
11:55
(15) У меня не всегда имеется форма владелец, подразумевается что АРМ будет самой первой открывающейся в приложении формой.
(16) Изначально реализовал такой вариант, но пришлось отказаться из-за того, что Перезапуск в мобильном приложении не работает, только завершение работы.
22 Выпрь
 
31.05.22
11:55
(16) так от этого варианта как раз отказались
23 TreeDogNight
 
31.05.22
16:27
(15) Всё-таки тоже помог этот вариант решения. Настроил, чтобы форма авторизации никогда не закрывалась и использую её в роли владельца для форм АРМ. Благодарю за подсказку!
24 Выпрь
 
31.05.22
17:17
(23) сделай лучше форму с кнопочками на открытие нужного арма. Так и тестировать проще будет.
Для админа - форма с кнопочками. Для юзера - нужный АРМ
25 Ёпрст
 
31.05.22
17:28
(23) владелец там и не нужен, и так работает, например:


Процедура ПриНачалеРаботыСистемы()
    #Если МобильныйКлиент Тогда
            ОткрытьФорму("Обработка.ХреньДляМобилки.Форма.Форма",,,,,,,РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
26 TreeDogNight
 
01.06.22
07:30
(24) Это уже дополнительный не нужный гемор, так как вид АРМ устанавливается в свойствах пользователя в головной базе. Да и к тому же все формы уже протестированы и отполированы. Но сама идея конечно неплохая, можно было бы её реализовать в самом начале проекта.

(25) Без владельца пробовал, все равно не на весь экран открывается.
27 Ёпрст
 
01.06.22
10:21
(26) смотри лучшее - там другой параметр открытия формы жешь..
28 trad
 
01.06.22
10:41
(27)
РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс - открывает форму на планшете не на весь экран
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца - без указания владельца работает как РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс
29 trad
 
01.06.22
10:45
(28) + это поведение может отличаться и как-то зависеть или от версии андроида или от размера экрана, потому как на ТСД, с другим андроидом и небольшим экраном, всегда открывается на полный
30 Ёпрст
 
01.06.22
11:01
(29) странно, у меня на полный.. ну и ладно, про владельца. тоже полезно
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан