|
v7: Переключение между окнами с помощью Formex | ☑ | ||
---|---|---|---|---|
0
jah1111
25.08.23
✎
13:10
|
Собственно, всегда использовал для сенсорных экранов такую обманку:
вешал на кнопку переключения окон код переключение= СоздатьОбъект("WScript.Shell"); переключение.SendKeys("^({TAB})"); но недавно заметил, что такая кнопка в форме ОБРАБОТКИ на сенсорном дисплее не работает. в форме документа работает, в форме журнала работает, а в форме обработки - кнопка нажимается, но ничего не происходит. если мышью нажать то переключает окно. В общем, нужен другой способ реализации программного переключения окон. курил Formex - ничего не нашел кроме метода НаПереднийПлан() но как его использовать для переключения окон пока не придумал. Если есть у кого хотя бы общие идеи - поделитесь |
|||
1
MWWRuza
гуру
25.08.23
✎
14:52
|
Через "ВнешнееСобытие" в том окне где кнопочка(по этой кнопочке), и его обработку в том окне, которое должно вылезти НаПереднийПлан - ?
|
|||
2
Arbuz
25.08.23
✎
17:51
|
(0) > ничего не нашел кроме метода НаПереднийПлан()
но как его использовать для переключения окон пока не придумал. Если есть у кого хотя бы общие идеи - поделитесь И в чём проблема? Сервис.СписокВсехОткрытыхОкон() и переключай какое надо. |
|||
3
Злопчинский
25.08.23
✎
18:40
|
хрень какая-то. Процесс явно построен криво.
|
|||
4
jah1111
26.08.23
✎
07:58
|
(3) уважаю Ваши принципы конструирования конфигураций, но попросили немного "многозадачности" :)
|
|||
5
jah1111
26.08.23
✎
07:59
|
(2) У меня какая-то старая документация
|
|||
6
jah1111
26.08.23
✎
08:10
|
(2) ну есть у меня список все окон
задача научиться гонять их по кругу кнопкой ну ума не приложу как его использовать, ведь каждый раз когда 'открыть новое/закрыть старое' этот список меняется, и даже когда окно выходит на передний план список меняется все окна форм одинакового размера, все кнопки переключения окон в формах идентичны и имеют те же координаты. То есть, к примеру если открыто 5 форм, я нажимаю кнПереключить, и сразу же у меня по пальцем оказывается кнПереключить на следующей форме. И если я нажму так 5 раз, я должен вернуться в форму с которой начал. |
|||
7
Злопчинский
26.08.23
✎
11:06
|
(4) ну пусть переключаются в нужное окно тыканием мышкой.
или какачя-то особая многозадачность у вас? |
|||
8
Злопчинский
26.08.23
✎
11:08
|
(4) надо посмотреть на многозадачность эту в конкретном применении к конкретной задаче где эта "многозадачность" потребовалась. может проще процесс перестроить...
|
|||
9
jah1111
26.08.23
✎
12:57
|
(7) ну так без мышки надо, на планшете
конструкция следующая: разработан режим планшета, для выписки основных документов на сенсорном экране если режим планшета активирован - в центре внимания развернутая на весь экран форма типа общий Журнал по имени "Десктоп" красивая такая, увеличенная формексом, с кнопками отбора документов по типу, с кнопками для фильтрации документов, с кнопками для управления документами. ну там создание, открытие, удаление, печать, просмотр и т.п. Кнопки большие и удобные. из этой формы в двойным тапом по строке (ПриВыбореСтроки) или по кнопе "Открыть", открывается Форма обработки а в ней отображается документ, по которому собственно кликали. Форма большая и красивая, во весь экран планшета, адаптирована под ввод пальцами. Из нее можно редактировать сохранить и провести нужный документ. Внизу формы предусмотрена кнопка с домиком (Home) при нажатии которой на передний план выходит Окно формы "Журнал.Десктоп" (ну типа на рабочий стол возвращаемся), и кнопка с квадратиками внахлёст (ну как у андроида) которая должна листать окна по кругу. Вот ту кнопку я и делал эмуляцией контрл+таб, но в форме обработки эмуляцией почему-то не работает на сенсоре, только мышей. Сам не понимаю чем так форма обработки отличается. Такая же кнопка в форме журнала например срабатывает на ура при тыке пальцем. Идея в том, что у менеджера на голове могут быть одновременно 2-3 клиента. к примеру вот взвесили товар Андрею, записали строку в накладную, тут взвешивают Игорю - перелистнули на накладную Игоря - записали, опять Андрею взвешивают - опять переключились в его накладную. Сама форма обработки которая создает и редактирует документы прошла уже хороший срок испытания. |
|||
10
Злопчинский
27.08.23
✎
03:55
|
(9) Понятно. Примерно как и предполагал. Раком сделано. Почему раком - потому что тут так заведено (почему заведено - тоже понятно) ты документ, который никак не зависит от ПРОЦЕССА взвешивания (как пула задач на взвешивание), пытаешься натянуть (документ) на процесс. И получается херня. Этакий костыль. Поянтно, что подпереть 1-2-3 костылями может быть дешевле, чем сделать по уму. Работать "от документа" на планшете, который является по сути НОСИМЫМ инструментом для РЕГИСТРАЦИИ ВЫПОЛНЯЕМЫХ ОПЕРАЦИЙ (а не отражения уже сделанных операций в "посмертном" документе) - так себе идея. Но раз так сложилось и сделать норм проблематично - вполне себе вариант. С извращениями, конечно, но что делать... ССЗБ.
|
|||
11
Злопчинский
27.08.23
✎
04:04
|
Почему не попробовать журнал открывать только тогда КОГДА ОН НУЖЕН, а открытые документы держать в виде визуальных кнопок.
вряд ли будет больше нескольих открытых доков (2-3-4), при правильном построении экрана планшета и форм документов (а форму документа на планшете можно эмулировать минимальным набором реквизитов для планшета в виде обработки) - места хватит с лихвой. даже если открытых доков много - всегда можно по тыку показать список открытых доков (в виде кнопок или иначе как надо красиво для планшета) и выбирать док тыком. . делал в свое время на планшете работу с заказом покупателя для путешествия менеджера с покупателем по шоуруму. там собственно и документа-то как такового на экране не было... Не пошло в продакшен, нахрен оказалось не нужно, потому что генерить хотелки - это одно, а связь хотелок с реальностью - "это другое" ;-) |
|||
12
Злопчинский
27.08.23
✎
04:11
|
(6) какое окно находится на переднем плане - это формексом тоже определяется.
опять же ну крути окна из списка. даже если в списке есть неактуальная форма (закрыли документ) - можно "отловить" что форма не существует и пропускать/килять ее из списка. И даже при закрытии формы система сама будет удалять из списка в ПослеЗакрытия() или в асинхронном событии после закрытия формы. Если покопаться - думаю можно сделать без эмуляции клавы |
|||
13
jah1111
27.08.23
✎
11:34
|
(11) покачто выбор окон сделал выпадающим списком - большим шрифтом отображаются названия открытых окон. Можно пальцем тыкать и выбирать, и даже скролить если пальцем тянуть.
но все-таки наверно гонять по кругу кнопкой было бы лучше, или может уже просто привычней |
|||
14
Злопчинский
27.08.23
✎
13:48
|
(13) ты бы еще галочки вкл/выкл и радиобаттоны сделал на планшете вдобавок к выпадающему списку ;-)
|
|||
15
Djelf
27.08.23
✎
15:00
|
(14) Если сделать на табличномПоле 1с++ это не очень сложно.
Можно даже приоритеты ставить, правда не протянув влево/вправа, такое там нельзя, по тыкнув в опеределлную точку можно. И любые похожие баттоны в строке, была бы фантазия... |
|||
16
Злопчинский
27.08.23
✎
18:36
|
(15) не любите вы пользователей...
|
|||
17
АгентБезопасной Нацио
28.08.23
✎
08:02
|
(9) в формексе у объекта Сервис есть метод СписокВсехОткрытыхФорм(). У объекта Окна есть метод НаПереднийПлан() - для твоих целей того достаточно.
Но я бы сделал ТЗ, в которой хранятся данные открытых документов. А в документе - кнопкой перезаполнял из нее (и сохранял в нее) все данные документа. Или динамически формировал закладки, при нажатии которых заполнял данные дока из соответсвующей строки ТЗ. |
|||
18
jah1111
29.08.23
✎
22:51
|
(14) а я бы на Вашем месте не язвил ;) Народу нравицца! (Кин-дза-дза) Реально персонал потестил - понравилось
и галочки я делал в свое время большие и красивые и даже удобные в ПриНажатииЛевойКнопки() и через ПолучитьАтрибутПоКоординатам(х,у). Два рисунка с одинаковыми координатами на форме, получают видимость в зависимости от значения. Один рисунок отображает пустой чекбокс - 0, второй - с галочкой соотвественно 1. |
|||
19
jah1111
29.08.23
✎
22:52
|
(15) приблизительно так я и делал
|
|||
20
Злопчинский
29.08.23
✎
23:55
|
(18) народу нравицца что ни покажи если до этого не работали с нормальными фейсами ;-) или вообще бегали с бумагой ;-)
Я как-то пробовал тыкать чекбоксы на 3-хдюймовом экране (такая складская система Бухта) - адский ад... |
|||
21
Злопчинский
30.08.23
✎
01:15
|
кстати, так и не нашел навскидку нормального решения чтобы, например, фейс с разрешением одного экрана нормально отображался/масштабировался для разрешения другого экрана...
|
|||
22
АгентБезопасной Нацио
30.08.23
✎
08:08
|
(21) Класс Привязки?
|
|||
23
Duke1C
30.08.23
✎
11:47
|
(21) Серёг, я ж тебе скидывал как-то функцию свою по "масштабизации"?
Правда, после этого, я немного модернизировал функционал. Добавил еще шрифты масштабируемые, которые создаются при загрузке и используются в течении всего сеанса в различных формах. |
|||
24
Duke1C
30.08.23
✎
11:54
|
+23 Начал я это дело практиковать еще с самой первой обработки для ТСД, а у них разрешение 320х240 пикселей
А потом появились "бесхозные" телефоны/планшеты + "голубозубые" сканеры к ним, что превращало их в тот же ТСД, но гораздо более дешёвый. А разрешение экрана у них у всех разное... А потом на РМК появились тачскрины... А у "старшего" персонала мониторы "дохренадюймовые"... |
|||
25
Злопчинский
30.08.23
✎
18:01
|
(23) кинь ещё раз [email protected]
|
|||
26
Злопчинский
30.08.23
✎
18:03
|
(22) не только расоложение элементов, но и увеличение самих элементов вплоть до размера шрифтов для ТЗ и шрифтов для надписей
|
|||
27
Злопчинский
30.08.23
✎
18:04
|
(24) вот-вот... Как раз про это и речь
|
|||
28
Злопчинский
30.08.23
✎
18:04
|
(23) и как в итоге получилось? Работает адекватно?
|
|||
29
jah1111
01.09.23
✎
22:29
|
(25) и мне... [email protected] :) если не жалко
с масштабированием конечно засада, но если речь идет про планшет 10,1 дюйма, там 90% экранов в одном соотношении. естественно, обработка получается не универсальная, но если на фирму покупают несколько планшетов, то тоже берут одинаковые, а там и подогнать можно |
|||
30
jah1111
01.09.23
✎
22:36
|
(26) думаю полюбому будет гдето чтото вылезать и расплываться какую функцию не напиши, ибо даже вручную подганять тяжело
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |