Показ сообщения при свернутой 1С ИЛИ Вывод на экран пользователя модального окна Windows

16.03.15

Разработка - Работа с интерфейсом

Это статья для тех, кто не знает, как:
1. Выдать пользователю окно, которое он не сможет проигнорировать.
2. Выдать пользователю сообщение, которое он точно прочтет.
3. Выдать пользователю сообщение с различными типами кнопок и значком.
4. Выдать пользователю сообщение с одним из значков: значок Stop, значок Question, значок Exclamation, значок Information.

Для этого необходимо использовать объект Wscript.Shell.

Этот объект выводит на экран модальное окно сообщения(Windows).

Для этого необходимо создать COMОбъект и обратиться к методу Popup этого объекта, передав ему в качестве параметров

Popup(<Текст>,<КоличествоСекундОжидания>,<Заголовок>,<Тип>)

<Текст> - строка, текст сообщения.


<КоличествоСекундОжидания> - необязательный, число. Количество секунд, по истечении которого окно будет автоматически закрыто.


<Заголовок> - необязательный, строка. Текст заголовка окна сообщения.


<Тип> - необязательный, число. Комбинация флагов, определяет тип кнопок и значка. Возможные значения флагов:

"<Кнопка>+<Значок>",

где <Кнопка> это

0 - кнопка ОК.
1 - кнопки ОК и Отмена.
2 - кнопки Стоп, Повтор, Пропустить.
3 - кнопки Да, Нет, Отмена.
4 - кнопки Да и Нет.
5 - кнопки Повтор и Отмена.

где <Значок> это:

16 - значок Stop.
32 - значок Question.
48 - значок Exclamation.
64 - значок Information.

Возвращаемое значение: целое значение, с помощью которого можно узнать, какая кнопка быля нажата пользователем. Возможные значения:

-1 - таймаут.
1 - кнопка ОК.
2 - кнопка Отмена.
3 - кнопка Стоп.
4 - кнопка Повтор.
5 - кнопка Пропустить.
6 - кнопка Да.
7 - кнопка Нет.

Пример:
Shell= Новый COMОбъект("Wscript.Shell");
Shell.Popup("Текст сообщения",30, "Текст заголовка", 4+16);

Сообщение пользователю свернутая программа

См. также

Работа с интерфейсом Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    55453    17    23    

43

Работа с интерфейсом Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    19737    28    6    

44

Работа с интерфейсом Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    21982    mrXoxot    44    

128

Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    11070    smielka    37    

105

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    17983    1225    elcoan    53    

125

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

3 стартмани

10.04.2023    12674    167    acces969    31    

126

Работа с интерфейсом Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    7439    kalyaka    6    

32
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sandybaev 202 16.03.15 08:34 Сейчас в теме
Этот функционал же есть в самой платформе?!
2. sandybaev 202 16.03.15 08:36 Сейчас в теме
Глобальный контекст (Global context)
Предупреждение (DoMessageBox)
Синтаксис:

Предупреждение(<ТекстПредупреждения>, <Таймаут>, <Заголовок>)
Параметры:

<ТекстПредупреждения> (обязательный)

Тип: Строка.
Текст предупреждения.
<Таймаут> (необязательный)

Тип: Число.
Интервал времени в секундах, в течение которого система будет ожидать ответа пользователя. По истечении интервала окно предупреждения будет закрыто. Если параметр не указан, то время ожидания не ограничено.
Значение по умолчанию: 0
<Заголовок> (необязательный)

Тип: Строка.
Содержит заголовок окна предупреждения.
Описание:

Выводит на экран окно предупреждения.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент.
Пример:

Текст = "ru = ""Выберите документ!""; en = ""Select a document!""";
Предупреждение(НСтр(Текст), 10);
ivanov660; +1 2 Ответить
4. dj_serega 393 16.03.15 09:40 Сейчас в теме
Спасибо. А вдруг пригодиться.

(2) sandybaev, А где в предупреждении есть возможность указать варианты ответа и значка?
Nik_1c_bitrix; +1 Ответить
6. Nik_1c_bitrix 193 16.03.15 10:42 Сейчас в теме
(4) dj_serega, нет возможности.
7. Alexey_ 27 16.03.15 11:05 Сейчас в теме
(4) dj_serega, варианты ответа можно указать в Вопрос(), значок можно указать, если в Предупреждение() или Вопрос() первым параметром передать ФорматированнуюСтроку (для 8.3.5)
Nik_1c_bitrix; +1 Ответить
9. dj_serega 393 16.03.15 11:27 Сейчас в теме
(7) Alexey_, У меня 8.3.5. Еще не передавал форматированную строку. Буду теперь знать.
5. Nik_1c_bitrix 193 16.03.15 10:40 Сейчас в теме
(2) sandybaev, первое, окно предупреждения не модальное и пользователь его легко сможет проигнорировать, выделив любое другое окно приложения, браузера например. второе, это модальное окно Windows, в системе нет функционала для показа модальных окон Windows. третье, прежде чем постить справку на пол экрана, никому здесь не нужную, лучше бы дождались ответа на вопрос.
8. Alexey_ 27 16.03.15 11:08 Сейчас в теме
(5) при свернутой 1С проверял?у меня просто мигает свернутое окно
10. Nik_1c_bitrix 193 16.03.15 12:48 Сейчас в теме
(8) Alexey_, да проверял, еще и звук системный выдает.
18. help1Ckr 19.03.15 23:10 Сейчас в теме
(10) у меня мигает свернутое окно и выдается звук. В центре окна не выпрыгивает. ОС Windows 7, платформа 1С:Предприятие 8.3 (8.3.4.408)
3. Ёпрст 1065 16.03.15 09:11 Сейчас в теме
(1,2)
Читаете между строк. Ключевая фраза - "Показ сообщения при свернутой 1С"
help1Ckr; Nik_1c_bitrix; dj_serega; soulsteps; +4 Ответить
11. b-dm 175 16.03.15 16:11 Сейчас в теме
Не проверял, но автору респект...
12. ivanov660 4596 16.03.15 16:34 Сейчас в теме
Вопрос: а как будет запускаться процедура показа окна при сворачивании или из свернутого режима окна в 1С?
13. Yashazz 4804 16.03.15 17:21 Сейчас в теме
Хм. Банальщина, вызывающая лютый восторг у тех, кто ничего не знает даже про vbs и скрипты вообще.
17. help1Ckr 19.03.15 11:30 Сейчас в теме
(13) Yashazz, Вы не поверите, но многие 1сники пришли в 1с не из программирования. Хорошо это или плохо, это другой вопрос. Вот эти люди могут не знать ничего кроме 1с и подобная информация им очень полезна. Но где Вы увидели "дикий восторг"?)
14. DrAku1a 1749 17.03.15 02:39 Сейчас в теме
Первая строка поста
Для программного нажатия на клавишу необходимо использовать объект Wscript.Shell.
- при чём тут?
А вообще, да. Это для тех, кто не знаком с Windows API, и описывает одну из миллиона функций...
15. AlexanderKai 18.03.15 13:51 Сейчас в теме
Игзперты как всегда негодуют.
16. TreeDogNight 22 18.03.15 20:52 Сейчас в теме
А в веб-клиенте нормально будет работать данный метод?
19. RustIG 1836 26.03.15 08:48 Сейчас в теме
(0) для меня интересней узнать как получить всплывающее сообщение, которое в течение 10 сек становится прозрачным и исчезает с экрана - требовалось под задачу реализации бизнес-процесса "Согласования цен": один менеджер отправляет запрос на согласование скидки, через 2 минуты получает уведомление на свой комп, что скидка и цена согласована руководителем... что-то подобное используется в CRM-решении от Раруса, только код закрыт для просмотра.
hame1e00n; Atori-kun; +2 Ответить
20. leoandrei4218 26.05.15 15:10 Сейчас в теме
(19) Rustig,

ПоказатьОповещениеПользователя(<Текст>, <НавигационнаяСсылка>, <Пояснение>, <Картинка>)

Показывает окно, по умолчанию располагающееся внизу экрана, которое постепенно затухает и исчезает с экрана.
В окне может располагаться ссылка, выбор которой вызывает определенные для ссылки действия (например, открытие формы).

Может что-то вроде этого
21. suvolod 28 07.05.16 18:50 Сейчас в теме
Под новыми управляемым формами (Такси, 8.3) озвученный в статье способ работает лишь частично. В частности, у меня не отрабатывает "Количество секунд ожидания". Какую-бы цифру не ставил - окно автоматически не закрывается. Если кто-то победил эту проблему, был-бы признателен за рецепт.
22. user1169791 10.04.24 10:29 Сейчас в теме
а может кто подсказать, как получить ВозвращаемоеЗначение я нигде не найду, после нажатия кнопки
23. Nik_1c_bitrix 193 14.04.24 10:26 Сейчас в теме
(22)
Shell= Новый COMОбъект("Wscript.Shell");
Ответ = Shell.Popup("Текст сообщения",30, "Текст заголовка", 4+16);
Сообщить(Ответ);
Оставьте свое сообщение