Имя: Пароль:
1C
 
УФ, как открыть форму без передачи фокуса?
,
0 vde69
 
13.07.15
14:32
есть форма основного рабочего стола, при ее открытии (и по кнопкам) мне нужно пройтись по открытым формам и если нужных не найдено то  открыть, но фокус оставить на рабочем столе...

пока делаю так (но фигня выходит)

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ОткрытьФормыАвтоОткрытия();
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьФормыАвтоОткрытия()
    Если ИспользоватьЗадачиИсполненые Тогда
        ОткрытьФорму("ОбщаяФорма.ЗадачиИсполненые");
    КонецЕсли;
КонецПроцедуры
1 Гёдза
 
13.07.15
14:39
активизировать нужную форму после открытия
2 oslokot
 
13.07.15
14:42
Найти нужное окно ПолучитьОкна() и активизировать
3 vde69
 
13.07.15
15:04
вот так вроде устраивает...

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ПодключитьОбработчикОжидания("ОткрытьФормыАвтоОткрытия",0.1,Истина);
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьФормыАвтоОткрытия()
    
    Если ИспользоватьЗадачиМне Тогда
        ОткрытьФорму("ОбщаяФорма.ЗадачиМне");
    КонецЕсли;
    
    мОкна = ПолучитьОкна();
    Для Каждого мОкно из мОкна Цикл
        Если мОкно.НачальнаяСтраница Тогда
            мОкно.Активизировать();
            Возврат;
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры
4 Fish
 
13.07.15
15:07
(3) А можно спросить, зачем нужен такой изврат, когда окна открываются но не видны (если я правильно понял задачу)?
5 Гёдза
 
13.07.15
15:07
(4) чтоб как в браузере. Открыть на потом
6 Fish
 
13.07.15
15:09
(5) А смысл-то в чём? Что это даёт?
7 vde69
 
13.07.15
15:14
(6) в купе "панель открытых" с это некоторая эмуляция "закладок", примерно как ексель, только состоит не из 1 огромной формы а из множества с программным добавлением страниц при открытии 1с
8 Zhuravlik
 
13.07.15
15:14
(6) имхо, действие аналогичное ПКМ по ссылке в браузере -> "Открыть ссылку в новой вкладке".
9 Fish
 
13.07.15
15:16
(7) Жуть какая. Т.е. вы используете "панель открытых" вместо меню? :))
10 palpetrovich
 
13.07.15
15:24
(6)  иллюзию активной работы, вот что дает :)
11 vde69
 
13.07.15
15:26
(9) да хочу так сделать, для несложного функционала - самое то будет, недельки через две (а точнее наверно к сентябрю) выложу результат.

Основная идея - полное отсутствие меню для простых пользователей, ну и будет совместимо с планшетами...
12 Гёдза
 
13.07.15
15:46
(11) а если случайно закроют вкладку?
13 Fish
 
13.07.15
15:54
(11) А чем меню-то не устраивает? И как будешь решать проблему постоянного дёрганья базы при автообновлении кучи форм?
14 vde69
 
13.07.15
16:36
(12)

&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
    Если  БазовыйИнтерфейс_Сервер.ПолучитьРежимАвтоОткрытия("ИспользоватьЗадачиИсполненые")
        И ПараметрыПриложения["БазовыйИнтерфейс.Закрыть1с"] <> Истина Тогда
        Отказ = Истина;
    КонецЕсли;
КонецПроцедуры



(13) есть такое слово "минимализм", хочу на этой фишке кое чего сделать, если получится будет популярное решение (типа магазьки).

Автообновление - буду делать интеллектуальным... Вообще у меня подобное решение на обычных формах при 100 юзерах летало 3 года. По этому я четко знаю чего хочу получить...

Главное, что бы моего терпения хватило
15 Гёдза
 
13.07.15
16:37
(14) популярность решения отнюдь не оригинальностью концепции обеспечивается