Имя: Пароль:
1C
1С v8
открытие печатной формы openoffice с выводом на передний план
0 alex_mas
 
11.05.17
15:03
Прячется за окном 1С, возможно ли программно?
1 Ц_У
 
11.05.17
15:14
(0) как открывается, код?
2 alex_mas
 
11.05.17
15:19
(1) Работаю через БСП

кусок кода:

    ContainerWindow = ПечатнаяФорма.Document.getCurrentController().getFrame().getContainerWindow();
    ContainerWindow.setVisible(Истина);
    ContainerWindow.setFocus();
    ContainerWindow.IsMaximized = Истина;

    ContainerWindow.toFront();
3 Ц_У
 
11.05.17
15:28
(2) если убрать последние две строки или  сетфокус вниз меняется что то?
4 alex_mas
 
11.05.17
15:33
(3) Не меняется, на заднем фоне только разворачивается, если максимизировать.

Пробовал сворачивать все окна, этот код вообще не срабатывает

Shell = Новый COMОбъект("Shell.Application");
Shell.MinimizeAll();
5 Ц_У
 
11.05.17
15:36
(4) в процессах еще опенофисы есть рабочие?
6 alex_mas
 
11.05.17
15:40
(5) Нет, кстати сервер терминалов
7 Ц_У
 
11.05.17
15:41
(6) а максимайзед работает?
8 alex_mas
 
11.05.17
15:41
(7) работает, но разворачивает за окном 1С
9 Ц_У
 
11.05.17
15:44
(8) а если к фрейму  обратиться а не к окну документа и его толкнуть вперед?
10 alex_mas
 
11.05.17
15:52
(9) Чудеса какие то, перезапустил 1С и код сработал:

Shell = Новый COMОбъект("Shell.Application");
Shell.MinimizeAll();

ContainerWindow.IsMaximized = Истина;
ContainerWindow.toFront();
ContainerWindow.setFocus();

Похоже единственный метод, свернув все окна показать OO.
Что интересно, если после этого свернуть ОО, то 1С оказывается развернутой, вероятно это какая то особенность 1С.

Спасибо за помощь!
11 Ц_У
 
11.05.17
15:54
(10) в винде когда все окна сворачиваешь через вин+д а потом тыкаешь одно из окон, так же все окна возвращаются к состоянию до сворачивания.
12 alex_mas
 
11.05.17
16:16
(11) Проверил на win 7, win 2008, не возвращаются ))
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.