Всем здравствуйте! Хочу программно закрыть модальное окно (в обычных формах - оповещение пользователя) и никак не найду решения, уже небольшой комод собрал, вот:
Кто-нибудь знает решение? Отказаться от модальности здесь не реально
//1. только управляйки
//Для Каждого Запись Из АктивноеОкно().Содержимое Цикл
// Сообщить(Запись.Заголовок);
// Запись.Закрыть();
//КонецЦикла;
//2. Не работает
//Оповестить("ИзменениеОповещенияПользователей");
//3. Не работает
//ФормаОповещения = ПолучитьОбщуюФорму("ДиалогОшибкаВопрос");
//ФормаОповещения.Закрыть();
//4. не работает с модальным также
//Попытка
// Shell= Новый COMОбъект("Wscript.Shell");
// Shell.SendKeys("{ESC}");
//Исключение
//КонецПопытки; ПоказатьКто-нибудь знает решение? Отказаться от модальности здесь не реально
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
(4) В модуле обычного приложения раз в минуту (обработчик ожидания) запускается проверка оповещений пользователям. Поскольку имеем дело с обработчиком ожидания, то для запуска процедуры заново необязательно завершение предыдущего запуска, а при этом в ходе него может модально открыться окно формы. Я могу определить, закончилось ли выполнение предыдущей процедуры путем Сохранения значений в хранилище, однако, среагировать и закрыть открытое в предыдущей процедуре модальное окно я не в силах, оно не реагирует на мои попытки! Сохранять в хранилище дескриптор формы я даже не пытался, да, это не УФ, но думаю и здесь нелепо. Тысячу лет назад нам рассказывали об объектах Приложение или как-то так, может и в 8.3 есть подобный объект, от которого можно добраться даже до модального окна?
(4) В модуле обычного приложения раз в минуту (обработчик ожидания) запускается проверка оповещений пользователям. Поскольку имеем дело с обработчиком ожидания, то для запуска процедуры заново необязательно завершение предыдущего запуска, а при этом в ходе него может модально открыться окно формы. Я могу определить, закончилось ли выполнение предыдущей процедуры путем Сохранения значений в хранилище, однако, среагировать и закрыть открытое в предыдущей процедуре модальное окно я не в силах, оно не реагирует на мои попытки! Сохранять в хранилище дескриптор формы я даже не пытался, да, это не УФ, но думаю и здесь нелепо. Тысячу лет назад нам рассказывали об объектах Приложение или как-то так, может и в 8.3 есть подобный объект, от которого можно добраться даже до модального окна?
(11) Оповещения должны отправляться в том же сеансе, где открыто окно.
Во вложении обработка - из одного окна по кнопке Выполнить открывается другое модальное, и по оповещению через 20 секунд закрывается.
Во вложении обработка - из одного окна по кнопке Выполнить открывается другое модальное, и по оповещению через 20 секунд закрывается.
Прикрепленные файлы:
ТестМодальногоОкна.epf
(5) Знаете другой способ показать окно поверх всех окон пользователя и затребовать (!) ответ, то есть, чтобы нельзя было переключиться, не отреагировав? При этом окно должно быть репрезентабельным, не мелким вопросом, который все равно читать никто не будет...
(7) Вы можете определить некий признак завершения процесса. Осталось программно в модальной форме создать функцию. И закрывать модальное окно при условии, что эта функция вернет ИСТИНА (по обработчику ожидания).
(7) У пользователя всегда должна быть возможность переключиться на другую задачу, а на вопрос ответить позже. А уже после его ответа пусть продолжит работать ваш код. Хотите вы того или нет, но ваш подход перестанет работать, поэтому его надо менять.
(14) Не парьтесь, вы, видимо, с такими задачами не сталкивались, на УФ тоже старался отходить от них, но здесь -
1. пользователь не вернется - забудет, а оповещение важное (тех работы)
2. пользователь в списке окон может не найти окно, чтобы вернуться
3. если окно не модальное, может просто быстро ткнуть и даже не заметить, что что-то выскочило
4. не обдуманные мной случаи...
1. пользователь не вернется - забудет, а оповещение важное (тех работы)
2. пользователь в списке окон может не найти окно, чтобы вернуться
3. если окно не модальное, может просто быстро ткнуть и даже не заметить, что что-то выскочило
4. не обдуманные мной случаи...
Попробуй вызывать не модальное окно а обычное, с присоединением, и выводить там информацию... Как вариант...
Пример:
Пример:
Прикрепленные файлы:
ВнешняяОбработка1.epf
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
