0
- 27.03.2013 - 21:07
|
Доброго времени суток! Необходимо из 1С при наступлении некого события открыть поверх всех окон модальное окно windows. В настоящий момент используется такой код: WshShell = Новый COMObject("WScript.Shell"); WshShell.Popup(Текст,, "Заголовок", 0+64); Проблема в том, что окно открвается не поверх всех окон, а где-то на заднем плане. В общем нужно сообщение вывести таким образом, чтобы его сразу увидели и пока не нажали ОК, работать дальше не смогли. | |
1
- 27.03.2013 - 21:16
| а чем модальное окно 1С не устраивает? | |
2
- 27.03.2013 - 21:24
|
(0) не прокатит, будут жать ОК бездумно. ни на что не обращая внимания. задачку надо генерить и ждать ввод ответа... | |
3
- 28.03.2013 - 09:41
|
1-Синегурочка >Очевидно тем, что при свернутой 1С пользователь его не увидит. 2-Чучундер >Пусть жмут. Главное обратить внимание пользователя, что произошло некое событие. | |
4
- 28.03.2013 - 10:04
|
ТС похоже спятил. Однако весна 1. При наличии двух модальных окон из разных программ одно из них всегда будет внизу. 2. послать все модальные окна в одно место или в зад ТС пользователь может элементарно - либо с клавиатуры либо мышкой. И продолжить свои делишки на компе без нажатия ОК. 3. Пользователь имеет право бить морду лица ТС. Сразу. Без суда и следствия чтобы окно висело и не пускало пользователя дальше - это надо очень постараться. Хотя в общем то способы известны | |
5
- 28.03.2013 - 10:35
|
4-Helen1986 > Конечно с "работать дальше не смогли" это я загнул. Пользователь сам попросил уведомлять его о событии, поэтому он сам заинтересован их получать. Что он будет с ними делать после вывода, это его личные проблемы. А кто тут ненормальный уже давно всем известно. Давайте перефразирую вопрос. Есть задача уведомлять пользователя о наступлении некого события в 1С, даже если окно 1С свернуто. Как это лучше сделать? На мой взгляд это было бы окно с текстом уведомления которое открывается поверх всех окон. | |
6
- 28.03.2013 - 10:56
|
5-Noldor > Послать задание какому-нить "мессенджеру", чтоб он уведомил пользователя, что ему есть сообщение. Этих "мессенджеров", как кошек на помойке. И не [*****] мозг. | |
7
- 28.03.2013 - 11:13
|
(6) да ТС туп и о мессенгерах понятия не имеет к тому же програмка на сях или дельфях с указанной возможностью без установки в среде вендоф пишется за 5 минут (ибо если нормальный админ возьмет ТС или пользователя за .... одно место - фиг он поставит мессенджера) | |
8
- 28.03.2013 - 11:33
|
Ну вот. Задача решена. Обошелся и без мессенгеров и без самописных программулек. | |
9
- 28.03.2013 - 11:36
|
Можно в конце, после паузы, передать в ОС нажатие клавиш Alt+Tab или Alt+Shift+Tab, по памяти: WScript.sleep(500) WshShell.SendKeys "^+{Tab**" Чтобы сработало в Terminal Server - в его настройках должна быть включено "исп-е локальных ресурсов" - "клавиатура". И о чудо - Alt+Tab заработает, и бедным бухам не нужно будет рыскать в день раз по триста глазами и рукой+мышкой по всему верху экрана в поисках мелконькой кнопки свернуть. О-ооо! По моей статистике - эта фишка включена только у 1/100 клиентов. Берегите бухш, они такие несчастные... | |
10
- 28.03.2013 - 11:37
| Noldor - раз уж взбаламутили - колитесь! Неужто двойным вызовом? Или свернули терминал программно? | |
11
- 28.03.2013 - 11:49
|
10-economist >Нет. Все гораздо проще. Я вспомнил про процедуру ПоказатьОповещениеПользователя Её функционала вполне достаточно для решения моей задачи. | |
12
- 28.03.2013 - 11:56
| Понятно. Кстати, проверил Alt+tab, как в (9) - работает! При этом WSH/WBS скрипт может быть достаточно сложным и полезным. В частности, у меня он распознает скан PDF-а с невидимым searchable-слоем в момент его прикрепления к документу 1С, после чего возможен fulltextsearch по текстам договоров, с/ф итп. Опять же, наколенный EDM... | |
13
- 01.04.2013 - 17:58
| пан-директор хорош свою глупость выпячивать | |
14
- 01.04.2013 - 17:59
| автор открой для себя месаджбокс | |
15
- 01.04.2013 - 18:00
| (4) пункт 1 опровержим | |
16
- 01.04.2013 - 18:13
|
(15) в трехмерном пространстве? если программа1 вывалила модальное окно и программа2 вывалила тоже модальное окно - одно из них будет ПОД... а под этими модальными будут все остальные окна. Вроде так можно конечно сделать чтобы модальное окно все время "всплывало" в случае перекрытия... | |
17
- 01.04.2013 - 18:21
| (16) рядом | |
18
- 01.04.2013 - 18:30
|
будем считать что размеры каждого модального окна равны размеру экрана кстати, переключаться между этими модальными можно | |
19
- 01.04.2013 - 19:36
|
(18) индекс и ордер могут быть равными по сути оба будут первыми, а уж как увидит их индивидуум )) автору Скрыпт=Новый COMObject("MSScriptControl.ScriptControl"); Скрыпт.language="vbscript"; Скрыпт.eval("msgbox(123,4096)") | |
20
- 01.04.2013 - 19:39
| (18) лучче расскажи гипервизора процессоры 1%, гостя процессоры сопоставленные 30% - где остальные 29% ? - кто украл у меня счастье ? | |
21
- 01.04.2013 - 19:40
|
и попутно - имею ли моральное право использовать х64 на 384 мб памяти ? (это не стеб - реальное смятение чувств) | |
22
- 01.04.2013 - 19:51
|
(19) один фиг в упор не увидит - хотя ТС хочет чтобы увидел. Не выйдет - особенности человеческого воспрятия. Если он занят чем то более серьезным в данный момент (с его точки зрения) (20) сперли. прямо на глазах. а если серьезно - ищи, кто замаскировался в системе (21) у админа есть загрузочная флешка 64 битная - там какой то огрызок виндов грузится и работает, правда, я работала с ней на 512. Но если нет сильно тяжелых приложений - вроде даже мег 200 оперативки остается. | |
23
- 01.04.2013 - 21:40
| не венда - боевая почта постфикс - грызут сомнения - может никчему баловстово с 64 (гость) | |
| Интернет-форум Краснодарского края и Краснодара |