Имя: Пароль:
1C
1С v8
Как программно "свернуть все" окна (обычное приложение)
,
0 Tatitutu
 
28.03.12
13:59
1. Другое 100% (2)
2. Штатный способ 0% (0)
3. Только вручную 0% (0)
4. Внешняя компонента 0% (0)
5. Скриптом 0% (0)
Всего мнений: 2

Как свернуть все активные окна (все открытые формы документов, журналов, обработок и.т.д)?
Помните добрый Windows внизу у кнопки пуска замечательная кнопка "Свернуть все окна"
Кажется есть стандартное меню Окна - но там только Закрыть, Закрыть все... , а вот свернуть нет.

Зачем : просто интересно решение данного вопроса.

Тема - не вопрос, а обсуждение, какой способ вы предложили ?
1 Maxus43
 
28.03.12
14:03
в УФ проще, там есть коллекция "Открытые окна", можно обойти все и минимизировать)
2 Maxus43
 
28.03.12
14:03
открытые формы
3 Maxus43
 
28.03.12
14:04
(1) + ПолучитьОкна();
4 Tatitutu
 
28.03.12
14:06
(1)Знаю. поэтому и выделил в теме (обычное приложение)

просто на днях увидел ситуацию
- одно подающее надежды дарование
в каждую !!! форму вставлял свой код
чтобы при открытии добавить в массив
и потом если нужно это дело перебрать
(парнишка неделю этим бредил)

есть решение - более оптимальное :-)
5 Maxus43
 
28.03.12
14:07
>>в каждую !!! форму вставлял свой код
есть более оптимальное, вставить это в общий модуль работа с диалогами, в типовых туда всегда при открытии ходит
6 Maxus43
 
28.03.12
14:07
таже УстановитьЗаголовокДокумента
7 Tatitutu
 
28.03.12
14:08
(5,6) еще проще есть решение :-)
8 Tatitutu
 
28.03.12
14:09
+(7) не меняю конфигурацию !
9 zladenuw
 
28.03.12
14:09
(8) какое
10 Maxus43
 
28.03.12
14:09
есть, ЗавершитьработуСистемы() :)
11 Tatitutu
 
28.03.12
14:10
(9) будет сотка напишу (просто реально интересно мнение и обсуждение)
если вам поставили бы такую задачу
что бы вы сделали.
Вот хочет босс - одним нажатием кнопки свернуть все окна не закрывая 1С
12 Maxus43
 
28.03.12
14:10
"Автоматически прятать"?
13 le_
 
28.03.12
14:11
Set Shell = CreateObject("Shell.Application")
Shell.MinimizeAll
Set Shell = Nothing
14 Tatitutu
 
28.03.12
14:12
(13) без использования скриптов и сторонних ВК

Другое
15 Tatitutu
 
28.03.12
14:13
(12) кого ? все формы ?
16 le_
 
28.03.12
14:13
(14) Тож самое в 1С можно сделать. COM-объект.
17 Tatitutu
 
28.03.12
14:15
(16) чего сделать ? поясни мысль
18 le_
 
28.03.12
14:15
Процедура КнопкаВыполнитьНажатие(Кнопка)
   Shell = Новый COMОбъект("Shell.Application");
   Shell.MinimizeAll ();
КонецПроцедуры
19 YF
 
28.03.12
14:15
(11) Ладно, у тебя пиписька самая длинная - вот и померялись, теперь выкладывай свой вариант

Другое
20 Maxus43
 
28.03.12
14:16
почетные 23 см.
21 Tatitutu
 
28.03.12
14:19
(18) это классно !!!, но через чур :-)
окно то 1С сворачивать не нужно
(19) Это и не оспаривалось.
Выложу чуть попозже. Как интерес угаснет
22 Tatitutu
 
28.03.12
14:32
я понимаю что сейчас обед, но все же
варианты еще будут ?
23 Азат
 
28.03.12
14:33
(22) да всем пох на тараканов твоего босса и твое неудовлетворенное ЧСВ...
24 afk
 
28.03.12
14:34
:)
25 Tatitutu
 
28.03.12
14:36
(23) Я тебе уже сказал когда то что о тебе думаю. Оклиматизовался что ли ?
(если читать научился, постарайся теперь понять о чем пишут и кто пишет)
26 Maxus43
 
28.03.12
14:48
интереса к ветке нет 12 минут. так что выкладывай)
27 Tatitutu
 
28.03.12
14:56
(26)я тебе в аську послал
28 Tatitutu
 
28.03.12
15:48
обед закончился - свежие идеи есть ?
29 le_
 
28.03.12
16:41
Подсмотрел картинку здесь: http://infostart.ru/public/122835/
И подумал, что можно сделать форму с галочкой "Режим рабочего стола" и запускать её при начале работы системы или что-то типа того. Правда, это не совсем сворачивание окон, т.к., если посмотреть свойство "СпособОтображенияОкна" у какой-нибудь несвернутой формы (перекрытой), то оно будет показывать Нормальное или Максимизированное.
30 Tatitutu
 
28.03.12
17:04
Архив 13 кб.
http://narod.ru/disk/44551140001.6f2b89b3bd83767bc34530fecea65fb4/noallwindow.zip.html

в нем две обработки
СвернутьВсеОкна (8.2).epf
СвернутьВсеОкна (8.1).epf
31 pumbaEO
 
28.03.12
17:07
Несуществующая страница

Страница, которую вы читаете, не существует.
32 alexandrius
 
28.03.12
17:08
(31) тоже самое
33 Tatitutu
 
28.03.12
17:10
зеркало для (30)
http://zalil.ru/32968360
34 le_
 
28.03.12
17:11
(33) Я угадал ))
35 Tatitutu
 
28.03.12
17:15
(34) да - молодец. По картинке это видно.

А теперь о смешном:
Задача не моя и клиент не мой
но ТЗ звучало так : сделать кнопку что сворачивало великое множество окон
Бюджет : 3000 руб. Срок : 3 дня
Проект: закрыт.

//через день позвонил представитель заказчика
и спросил сколько вы хотите получить за ОТКРЫТЫЙ КОД
- ???
- ну у вас же поставка без искодного кода, а интересно бы посмотреть
36 andrewks
 
28.03.12
17:20
(31) офф. чё-то вдумался в смысд фразы
"Страница, которую вы читаете, не существует."

как может не существовать страницы, если я её вот прямо сейчас читаю? может, меня тоже не существует?


яндекс жжОт
37 le_
 
28.03.12
17:21
(35) Впиши в ПередОткрытием()
ЭтаФорма.РежимРабочегоСтола = Истина;
И продавай код )
38 Tatitutu
 
28.03.12
17:24
(37)  )))) - нет, это страшная коммерческая тайна, разглашению не подлежит - хранить вечно.

Осторожнее со своими желаниями (с)
39 le_
 
28.03.12
17:25
(37) Хотя, не, так не получится, в модуле приложения это свойство формы придется устанавливать.
А это уже конфигурация. Выходит, еще дороже...
40 Maxus43
 
28.03.12
17:31
(35) что ответил представителю?
41 Tatitutu
 
28.03.12
17:33
(40) -> (37)
42 YF
 
29.03.12
09:32
Оно же не сворачивает никакие окна. + не закрывается
43 Tatitutu
 
29.03.12
09:37
(42) Не выспался ?
смотри название темы - Как программно "свернуть все" окна
(кавычки тебе не о чем не говорят ?)
Закрывается - правой кнопкой по экрану - появится меню - Закрыть
44 jsmith82
 
29.03.12
09:38
а кто цену поставил за решение и как эта цена определялась
45 jsmith82
 
29.03.12
09:38
решение конечно интересное, но более интересен вопрос с заказчиком
46 jsmith82
 
29.03.12
09:43
не понял насчёт УФ, там же SDI
47 Tatitutu
 
29.03.12
09:44
(44)ГБ с 20 летним стажем - хозяйка одной конторы
(46) где написано про УФ
48 Reset
 
29.03.12
09:48
Ждем темы от автора, где он "удаление" файлов будет производить, рисуя белый квадрат поверх имени и выдавать это за решение
49 jsmith82
 
29.03.12
09:49
(47) (1) (4)
50 jsmith82
 
29.03.12
09:49
(48) зачёт
51 jsmith82
 
29.03.12
09:51
(47) ну ежели ГБ ставил, то порядок
и что, скажешь, что кода нет или отдашь решение своего протеже
52 Tatitutu
 
29.03.12
09:51
(48)И тебе привет ! Ну что за манеры прочитать два последних поста и вставить свою непонятку ? Перезагрузись, уже утро !
где я что выдавал за решение ?
Тема соверщенно не об этом ?
53 Tatitutu
 
29.03.12
09:54
(51)мне всегда был интересен неординарный подход к решению задачи
а не по шаблону (как в учебнике, как в типовой)?
Понятно что когда увидел готовый ответ, посмотрел как реализовано - 72% скажут да так и дурак сможет.
54 Reset
 
29.03.12
09:57
(52) Я прочитал всю тему. Мои манеры давай оставим в покое.

"где я что выдавал за решение"
см (7)

"Тема соверщенно не об этом"
Внезапно! А о чем?

(53) при чем здесь неординарный подход? Это тупо на$6алово ГБ, которое вынесли с помпой на обозрение.
55 jsmith82
 
29.03.12
09:59
(54) почему на$6алово
ГБ же сама цену выставили, с помпой своего 20-го стажа
типа я знаю сама какую цену надо ставить
56 jsmith82
 
29.03.12
09:59
тут просто риск большой, если ГБ поймёт, что облажалась, то начнёт стрематься по каждому ТЗ типа кодеры скрывают правду йоперный театр
57 Reset
 
29.03.12
10:01
(55) Ну я сгустил краски, ок. Для ГБ может это и то что нужно (не вижу окон - значит их нет). Но здесь программистам предложили решить задачу. С точки зрения программиста - это не решение. Не более чем шутка.
58 jsmith82
 
29.03.12
10:01
кстати, насчёт удаления файлов
винда так и делает, сшибает вхлам заголовок файла на диске
а пользователь по привычке думает, что байты файла обнулены
59 jsmith82
 
29.03.12
10:03
автор, скажи, ты ГБ знаешь, мы нет
ГБ, когда узнает, будет смеяться вместе с вами или покраснее, взъерошится и пойдёт искать другого подрядчика
60 Tatitutu
 
29.03.12
10:03
(54) Тема о том , что любую задачу - можно решить великим множеством вариантов.
одно будет - по учебнику
другое - как учили
другое - как знаю
другое - как в типовой
другое - что новое
одно будет быстро работать, другое медленнее

Обсуждать (на понтах) каждый горазд
как бы ты решил поставленную задачу ?

(57) Да , именно так. То же самое что и фокус (иллюзия) вроде красиво, захватывает, а сами понимаем , что так не бывает
61 jsmith82
 
29.03.12
10:04
(57) почему не решение. винда же тоже перериросывает окна, она же их физически не сворачивает
так что автор сделал всё правильно, он просто перериросовал область
62 le_
 
29.03.12
10:15
(48) В данном случае пользователю нужно по нажатию на кнопку увидеть чистый рабочий стол и не важно, как это будет происходить, будут окна реально сворачиваются или нет. Цель, в общем-то достигнута. И достигнута с минимальными трудозатратами.
Лично мне решение нравится ) Неординарностью подхода в том числе. Мне бы вот такое в голову не пришло, поставь передо мной кто-то такую задачу ) ВК наваял бы...
63 jsmith82
 
29.03.12
10:17
+5 к карме автора
64 orefkov
 
29.03.12
10:24
А я смогу сделать ВК, которая в толстом клиенте реально свернет все окна :)
А в Конфигураторе со снегопатом 1.1.7.1 это уже сейчас реально сделать простым скриптом.
65 Tatitutu
 
29.03.12
10:25
(62) Спасибо. Ты все правильно написал и только один предложил альтернативное решение.
http://forum.infostart.ru/forum24/topic57254/message635006/#message635006
66 Мимохожий Однако
 
29.03.12
10:25
Научить клиента нажать Альт-О-С
67 jsmith82
 
29.03.12
10:26
(64) о, ну ты вообще бог
68 Tatitutu
 
29.03.12
10:30
(64)Несомневаюсь. Но как говорят в Одессе, это немного другие затраты по времени
(66)Проходи мимо (или сам попробуй это нажать) - нам не нужно Закрыть все окна - нам нужно их только "свернуть"
69 orefkov
 
29.03.12
15:32
+(64)
Вот код для Конфигуратора для сворачивания всех окон:

function macrosСвернутьВсе()
{
   var views = windows.mdiView.enumChilds()
   for(var k = 0; k < views.count; k++)
       views.item(k).sendCommand("{c9d3c390-1eb4-11d5-bf52-0050bae2bc79}", 6)
}

Правда, даже на последней версии снегопата валит Конфигуратор, зато я нашел небольшую ошибку и в следующей версии - это будет работать.
70 Мимохожий Однако
 
01.04.12
12:03
(68)Научить пользователя.
Alt + Space, Затем С.
71 Tatitutu
 
01.04.12
12:38
(70) Научись читать и понимать:
нужно программно свернуть все окна внутри одного приложения 1С
(твой вариант сворачивание основное окно приложения)
72 Мимохожий Однако
 
01.04.12
12:41
ОК.))) Это я для затравки. Однако в (4) ты хвастался, что есть оптимальное решение. Заинтриговал, но так и не сообщил аудитории.
73 Tatitutu
 
01.04.12
13:16
(72) Сначала ещё раз внимательно и не спеша (71)
потом в (33)
74 Мимохожий Однако
 
01.04.12
13:30
(73)Спасибо за пояснения. У меня вопросов нет.