Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Может кто знает про "Поток" и МодальноеОкно? (число прочтений - 4713 )
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Может кто знает про "Поток" и МодальноеОкно?
29. Августа 2007 :: 02:07
Печать  
• Сервис.СписокВсехОткрытыхОкон() есть в FormEx 2050
• Объект "Поток" есть только где-то в недрах 1С++ 2021 (а это вместе с FormEx, но без СписокВсехОткрытыхОкон)

Может кто-нибудь и так знает ответ на вопрос:

Ответил бы мне правильно FormEx.Сервис.СписокВсехОткрытыхОкон() про открытые окна, в том числе и модальное, буде он вызван в "Поток"е?

Захотелось узнать, какие окна юзеры бросают открытыми на ночь. Только модальные - сами понимаете ...
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Может кто знает про "Поток" и МодальноеОкно?
Ответ #1 - 29. Августа 2007 :: 04:52
Печать  
Класс "Поток" очень не рекомендуется к использованию Печаль
Слишком много багов будет и причем в совершенно различных местах, проверено Улыбка

ЗЫ если не знаешь, это авторское мнение, т.к. я автор класса Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Может кто знает про "Поток" и МодальноеОкно?
Ответ #2 - 29. Августа 2007 :: 05:12
Печать  
Цитата:
не рекомендуется к использованию
Класс "Поток" в составе 1С++, или идея "Поток" применённая к 1С?

(вроде бы встречал многопоточность ещё в каких-то ВК)

Про нерекомендованность помню...

Вот фигня получается.
Можно перехватить ПриОткрытии(), собирать через него список окон, и модальных в том числе (кроме, понятное дело, системных диалогов (засада...)).
Можно воспользоваться FormEx.Сервис.СписокОткрытыхОкон()

А дать пинка 1Ске, брошеной юзером с модальным окном - облом. Только борьба с модальными окнами, как таковыми.
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Может кто знает про "Поток" и МодальноеОкно?
Ответ #3 - 29. Августа 2007 :: 22:18
Печать  
А что за траблы? Выгонять?
Руби процессы...
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Может кто знает про "Поток" и МодальноеОкно?
Ответ #4 - 30. Августа 2007 :: 02:58
Печать  
Есть у меня задумка - добавить в ФормЕкс или 1С++ фичу для автозакрытия модальных окон.

Т.е. есть класс или просто метод типа ВключитьАвтозакрытиеМодальныхОкон(Таймаут).
После запуска метода любые открываемые модальные окна будут закрыты через указанный таймаут.
Т.е. окна типа Вопрос, Предупреждение, также ИМХО можно будет работать с системными окнами и формами, открываемыми в модальном режиме.

Что скажете?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Может кто знает про "Поток" и МодальноеОкно?
Ответ #5 - 30. Августа 2007 :: 03:45
Печать  
Цитата:
А что за траблы? Выгонять?
Руби процессы...
О! Вариант! Смех
В крайних случаях - конечно же рублю.
Просто я не сторонник радикальных мер. Но хотел сделать незаметный для пользователей режим, собрать статистику, издать указ, а потом взыметь административно, если не перестанут в массовом порядке гадить.

Есть идея сделать "сохранение workspace", чтобы если отрубил VIP-а, то можно было ему всё вернуть как было, или ещё какие приятные плюшки для удобства юзеров и меня (типа - несохраненное сохраняем, предыдущее состояние запоминаем (или наоборот)). Тогда, возможно, я вообще перестану считать брошенные сеансы 1С с несохраненными доками или модальными окнами, криминалом. Пусть бросают, если это не вредит делу.

artbear писал(а) 30. Августа 2007 :: 02:58:
Есть у меня задумка - добавить в ФормЕкс или 1С++ фичу для автозакрытия модальных окон.
...
Что скажете?

Было бы просто супер!
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Может кто знает про "Поток" и МодальноеОкно?
Ответ #6 - 30. Августа 2007 :: 05:30
Печать  
А Сервис:: ЗакрытьВсеОкна(Таймаут) не подходит?
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Может кто знает про "Поток" и МодальноеОкно?
Ответ #7 - 30. Августа 2007 :: 06:23
Печать  
Для сабжа вообще-то можно использовать обработку ожидания из FormEx.
  

FormEx developer
Наверх
www  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Может кто знает про "Поток" и МодальноеОкно?
Ответ #8 - 30. Августа 2007 :: 09:51
Печать  
Цитата:
Для сабжа вообще-то можно использовать обработку ожидания из FormEx.

Точно! (правда в #63 она не работала, но в #65 -- норма)

// В ОБРАБОТКЕ ОЖИДАНИЯ :
сп = Сервис.СписокВсехОткрытыхОкон(); // НЕ УЧИТЫВАЕТ МОДАЛЬНОГО ОКНА
Сервис.ЗакрытьВсеОкна(0); // ЗАВЕШИВАЕТ 1С
ЗавершитьРаботуСистемы(0); // ЖДЕТ ЗАКРЫТИЯ МОДАЛЬНОГО ОКНА

FormEx #65
1CPP N.b.2007-08-24
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Может кто знает про "Поток" и МодальноеОкно?
Ответ #9 - 30. Августа 2007 :: 10:18
Печать  
dnp писал(а) 30. Августа 2007 :: 09:51:
[quote author=АЛьФ link=1188353270/0#7 date=1188455005]
// В ОБРАБОТКЕ ОЖИДАНИЯ :
сп = Сервис.СписокВсехОткрытыхОкон(); // НЕ УЧИТЫВАЕТ МОДАЛЬНОГО ОКНА
Сервис.ЗакрытьВсеОкна(0); // ЗАВЕШИВАЕТ 1С
ЗавершитьРаботуСистемы(0); // ЖДЕТ ЗАКРЫТИЯ МОДАЛЬНОГО ОКНА

FormEx #65
1CPP N.b.2007-08-24

Так что все-таки работает или не работает?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Может кто знает про "Поток" и МодальноеОкно?
Ответ #10 - 30. Августа 2007 :: 11:36
Печать  
artbear писал(а) 30. Августа 2007 :: 10:18:
Так что все-таки работает или не работает?

Всё-таки не работает.
Я перечислил элементы алгоритма, потребные для сабжа, в свете ответа АЛьФа, и результаты попытки применить каждый из них. То есть:

1. Сервис.ОбработкаОжидания() действительно работает при любых модальных окнах, даже таких сильно_системных, как "О программе", "Справочники", "Журналы документов".

2. Просто попытка ЗавершитьРаботуСистемы() в этой обработке отрабатывает, после чего 1С молча ждет закрытия модального окна. Как только я модальное окно закрываю - 1С штатно закрывается.

3. Хотел закрыть модальное окно программно, получив его контекст через FormEx.Сервис.СписокВсехОткрытыхОкон(), но список содержит только немодальные окна.

4. Хотел закрыть программно все окна разом через FormEx.Сервис.ЗакрытьВсеОкна(), но 1Ска впадает в глубочайшую задумчивость, и продолжать разговор отказывается.

ЗЫ: Пункты 2, 3 и 4 -- в процедуре ГМ, вызываемой по Сервис.ОбработкаОжидания()
То есть... Счастье рядом, но упс.
  
Наверх
ICQ  
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 855
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Может кто знает про "Поток" и МодальноеОкно?
Ответ #11 - 13. Февраля 2008 :: 13:38
Печать  
Так что, решилось что-то в этом направлении? Есть ли что-то для авто закрытия модальных окон? Было бы очень удобно с использованием функции 1cpp ПолучитьВремяПростояСистемы().
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать