Как спрятать окно обработки

1. Nikolay_S 26.02.07 10:30 Сейчас в теме
Добрый день!

Необходимо спрятать окно обработки так чтобы его небыло видно нигде.
При помощи FormEx я переместил форму за пределы экрана так? что ее не видно, но в панеле окон обработка осталась. Как ее убрать и там?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. defini 464 26.02.07 11:01 Сейчас в теме
Процедура ПриОткрытии()
//ТвояПроцедура();
СтатусВозврата(0);
КонецПроцедуры
3. Nikolay_S 26.02.07 11:05 Сейчас в теме
Мне надо чтобы обработка была открыта, но никто не знал об этом
4. defini 464 26.02.07 11:18 Сейчас в теме
а что за обработка такая? мож есть другой путь?
5. Abadonna 3968 26.02.07 11:37 Сейчас в теме
Процедура ПриОткрытии()
Состояние(" "); // пробел
Для А=1 По 1000000 Цикл
КонецЦикла;
СтатусВозврата(0);
КонецПроцедуры

Ни фига не видно, даже нет сообщения в статус строке "выполняется обработка"
6. Nikolay_S 26.02.07 11:45 Сейчас в теме
Мне это надо для возможности работы с контекстом открытой обработки.
Предложенный способ вешает 1С на неопределенное время, после чего обработка закрывается.
Т.е. ОткрытьФорму(ИмяОбработки, Парам) будет выполнятся длительное время, а потом закроется и Парам так и не будет содержать контекст открытой формы. А мне надо иметь возможность обращатся к контексту формы открытой обработки все время пока открыта 1С
7. Nikolay_S 26.02.07 11:47 Сейчас в теме
> а что за обработка такая?
Попытка часть специфического функционала вынести из глобального модуля
8. Abadonna 3968 26.02.07 11:48 Сейчас в теме
Ну моя дремучая Miracle.dll командами HideRepor() и ShowReport() прячет и показывает
9. Abadonna 3968 26.02.07 12:06 Сейчас в теме
Кстати, если форма открыта в модальном режиме, она не совсем "родная", это окно класса "dialog". такое же как Предупреждение
10. Nikolay_S 26.02.07 12:13 Сейчас в теме
А как эта miracle определяет какую форму надо спрятать? Ведь в нее не передается никаких параметров!
11. Abadonna 3968 26.02.07 12:15 Сейчас в теме
Не, с ней не пройдет. Я забыл, что твоя форма модальная, а Miracle работает только для "родных". Щас попробую модальную спрятать - сообщу
12. Nikolay_S 26.02.07 12:20 Сейчас в теме
Нет, моя форма не модальная! А почему речь зашла про модальные?
13. Nikolay_S 26.02.07 12:23 Сейчас в теме
В обработке написал:

Процедура ПриОткрытии()
Попытка
Lib=СоздатьОбъект("Miracle.VCL");
Lib.HideReport();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры

Ошибки не происходит, но окно не скрывается.



14. Abadonna 3968 26.02.07 12:24 Сейчас в теме
Ну тогда Miracle поможет, только HideReport() надо давать в самой обработке, которую прячешь.
И еще нюанс: не процедуре ПриОткрытии() - тогда еще нет хэндла окна, а сделать ОбработкаОжидания("МояПроцедура",1) на 1 секунду, там сделать Hide и тут же отключить ОбработкаОжидания("МояПроцедура",0)
15. Abadonna 3968 26.02.07 12:29 Сейчас в теме
>Ошибки не происходит, но окно не скрывается.
смотри предыдущее
16. Nikolay_S 26.02.07 12:31 Сейчас в теме
Большое спасибо, помогло.

В моем случае даже обработки ожидания не надо. После открытия формы у меня вызывалась процедура Инициализация() в модуле обработки. Переместил код туда и все ОК.

Очень жаль что нельзя указывать конкретное окно которое надо спрятать (Lib.HideReport(Конт.Форма))
17. Abadonna 3968 26.02.07 12:33 Сейчас в теме
Оно было рассчитано на на прятание отчета из самого себя.
А так: берешь, к примеру, исходники от MPlus, добавляешь туда процедуру по сокрытию любого окна - и всех дел! ;)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот