Мигание значка 1С на панели задач

04.11.14

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

Часто пользователи просят, чтобы 1С, будучи свернутой в значок, как-то оповещала о каком-нибудь событии, требующем внимания пользователя. В Windows есть встроенный механизм "мигания" значка на панели задач. Но просто так этот механизм не активировать средствами 1С.
В данной публикации предлагаю:
для обычного приложения - обработку, которая инкапсулирует все необходимые махинации с СОМ-объектами.
для управляемого приложения - cf-файл с необходимыми объектами.

Создано на основе публикации http://infostart.ru/public/267819/

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
МиганиеЗначкаНаПанелеЗадач.epf
.epf 17,01Kb ver:1.0
20
20 Скачать (1 SM) Купить за 1 850 руб.
Конфигурация для управляемого приложения
.cf 21,42Kb ver:1.0
13
13 Скачать (1 SM) Купить за 1 850 руб.

Основная идея разработки - это один раз инициализировать систему, а затем вызывать мигание, когда это необходимо.

Для обычного приложения.

Решение основано на дополнительной обработке "Мигание значка на панеле задач", которую необходимо вставить в конфигурацию. Алгоритм внедрения:

1. Добавить в конфигурацию новую обаботку "Мигание значка на панеле задач".

2. В модуле обычного приложения, в разделе объявления переменных добавить:

Перем ОбработкаМиганияЗначка Экспорт;

3. В модуле обычного приложения в начале процедура "ПриНачалеРаботыСистемы" добавить:

 

Процедура ПриНачалеРаботыСистемы()
	//объекты для вызова "мигания" окна
	ОбработкаМиганияЗначка=обработки.МиганиеЗначкаНаПанелеЗадач.Создать();
	ОбработкаМиганияЗначка.Инициализировать();

        //.........
КонецПроцедуры

После этого достаточно в том месте программы, в котором необходимо уведомить пользователя, вставить:

//Вызвать мигание окна, если оно не активно
ОбработкаМиганияЗначка.Мигнуть();

Для управляемого приложения.

 Для управляемого приложения все несколько усложняется в виду того, что модуль обработки исполняется на сервере, а "мигать" надо на клиенте. Кроме того, управляемое приложение может иметь множество окон и охота выбирать, каким окном мигать. 

Решение для управляемого приложения предлагается в виде мини-конфигурации, содержащей только необходимые объеты. Для ее внедрения необходимо выполнить сравнение и объединение. ВНИМАНИЕ! При сравнении и объединении лучше снимите галочки с ветки "Свойства", чтобы не потерять данные своих модулей.

Если вы хорошо понимаете, как проходят процессы сравнения и объединения, то может вручную настроить объединение только моудля управляемого приложения. Остальные модули в прилагаемой конфигурации пусты.

В конфигурации содержатся:

1. Модуль управляемого приложения

2. Подсистема "МиганиеОкон"

3. Общие модули "МиганиеКлиент" и "МиганиеСервер"

4. Общий макет "DynamicWrapper32".

 

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

//Переменны для управления миганием окон
Перем ApiFunctions Экспорт;
Перем НомерОкна1с Экспорт;
Перем НомерОкнаМигания Экспорт;
//

В начале процедуры "ПриНачалеРаботыСистемы":

	//Инициализация компонент
	МиганиеКлиент.Инициализировать();

После этого можно сохранять конфигурацию.

 

Для управляемого приложения предусмотрено две экспортные процедуры общего модуля "МиганиеКлиент":

1. МигатьЭтимОкном() - позволяет установить текущее окно тем, которое будет мигать на панеле задач при вызове процедуры "Мигнуть()";

1. Мигнуть() - начинает мигать окном, для которого было вызвано МигатьЭтимОкном(). Если это окно не существует или было не задано, то мигает основное окно 1С.


Пример использования:

&НаКлиенте
Процедура ПолучитьСписокФайлов(Команда)
	МиганиеКлиент.МигатьЭтимОкном();
	ПолучитьСписокФайловНаСервере();
	МиганиеКлиент.Мигнуть();
КонецПроцедуры

Всем успехов!


 

Мигание Окно Панель задач

См. также

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

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

5000 руб.

14.01.2016    55631    17    23    

43

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

Универсальный редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью рисовать на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    63946    45    60    

83

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

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

2400 руб.

29.06.2020    19937    28    6    

44

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    17097    YA_418728146    8    

170

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    4443    75    progmaster    11    

4

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

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

1 стартмани

05.07.2022    7994    kalyaka    6    

33

WEB-интеграция Работа с интерфейсом Пользователь Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для конфигурации 1С:Розница 2.3.

3600 руб.

29.04.2022    14420    2    10    

13

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

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

6000 руб.

18.01.2022    10303    1    2    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ezhik_2000 39 08.11.14 23:13 Сейчас в теме
Зачем так заморачиваца, подобную проблему решили очень просто...
В 1с:Документооборот при появлении новой задачи выходило модальное окно
и если 1с была свернута то она начинала мигать...
2. glassman 212 09.11.14 13:12 Сейчас в теме
(1) ezhik_2000, Изначально задача стояла не для докуметооборота ) И модальные окна выводить не охота.
3. ruziya 01.02.16 13:21 Сейчас в теме
что-то не работает мигание :(
имею документооборот 1.4.11.2
на платформе 8.3.5.1517
скачал Вашу конфигурацию. объединил как написано. проверил модуль управ-го приложения. там нужных абзацев не было.
я их дописал.
сохранил конф-ию. зашёл под двумя разными пользователями. создал процесс ознакомления. отправил. у другого пользователя ни одно окно/значок не замигал.
в чём моя ошибка?
4. glassman 212 02.02.16 08:21 Сейчас в теме
(3) ruziya, проверьте на отладчике, регистрируется ли у вас компонента?
10. zawinulo 04.11.18 18:52 Сейчас в теме
ПанельЗадачОС.СигнализироватьИконкой(3);
11. angy 15.09.20 11:11 Сейчас в теме
Может кому пригодится:

МенеджерПанелиЗадачОС (OSTaskbarManager)
Сигнализировать (Flash)
Доступен, начиная с версии 8.3.8.
Синтаксис:
Сигнализировать(<КоличествоМиганий>)
Параметры:
<КоличествоМиганий> (необязательный)
Тип: Число.
Количество миганий, которое произведет кнопка конфигурации в панели задач.
Значение по умолчанию: 1.
Описание:
Мигает кнопкой в панели задач.
Работает под Windows XP и старше.
Работает под Ubuntu Unity, при этом переданный параметр игнорируется.
В остальных ОС не производит никаких действий
Доступность:
Тонкий клиент, толстый клиент.
Пример:
ПанельЗадачОС.СигнализироватьИконкой(3);
Использование в версии:
Доступен, начиная с версии 8.3.8.

З.Ы. на режиме совместимости 8.2.16 "ПанельЗадачОС.Сигнализировать(10);" - отлично работает!!!
VyacheslavShilov; hikeman; +2 Ответить
5. ruziya 10.02.16 09:59 Сейчас в теме
а где это можно увидеть в отладчике?
не очень ориентируюсь.
6. ruziya 16.02.16 11:14 Сейчас в теме
подскажите где в отладчике смотреть, пожалуйста
7. ruziya 14.04.16 09:42 Сейчас в теме
процедура инициализации не проходит.
нет регистрации
что делать?
8. androgin 21.06.16 17:43 Сейчас в теме
Платформа умеет сама мигать своим значком...
9. gPaskal 11.09.17 13:30 Сейчас в теме
Кхм...
WshShell = Новый COMОбъект("Wscript.Shell");
WshShell.AppActivate("1С:Предприятие");
12. kudim 09.06.22 16:28 Сейчас в теме
(11)
Все отлично работает.
13. pridecom 771 22.06.23 08:45 Сейчас в теме
А как мигать окном внутри самой 1С, например окном с открытой номенклатурой, пока мы в заказе копаемся?
Оставьте свое сообщение