Внешняя компонента NativeAPI для работы с системным треем

17.03.15

Разработка - Разработка внешних компонент

Компонента позволяет организовать общение с 1С через системный трей

Файлы

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

Наименование Скачано Купить файл
Конфигурация-пример
.zip 930,63Kb ver:1.0
43 2 500 руб. Купить
Исходники Delphi XE5
.zip 73,56Kb
33 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

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

Оформить подписку и скачать решение со скидкой

Компонента построена по технологии NativeAPI, поэтому ее можно подключить из макета. Компонента имеет имя «Message1C», создаваемый объект имеет имя «AddIn.Message1C.TMessage1C»

Краткое опиание методов:

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

СпрятатьИконкуГлавногоОкна – Убирает иконку программы из системного трея.

ПоказатьИконкуГлавногоОкна – Показывает иконку программы в системном трее.

ЗагрузитьИконкуГлавногоОкнаИзФайла(ИмяФайла) – загружает иконку из файла.

УстанвоитьТипФона(ТипФона) – устанавливает тип фона сообщений в трее.

УстанвоитьПользовательскийФон(ФонЦветГраницы, ФонЦветЗаливки) – позволяет установить параметры прорисовки пользовательского фона сообщения.

ДобавитьСообщение(Ключ,Заголовок,ТекстСообщения) – Добавляет оповещение через сообщение в трей.

УдалитьСообщение(Ключ) – Удаляет сообщение.

ОчиститьСообщения – Удаляет все сообщения.

ПоказатьСообщениеВТрее(Ключ,Заголовок,ТекстСообщения,ДлительностьПоказа) – Позволяет послать типовое системное сообщение в трей.

ТекстПодсказкиИконкиГлавногоОкна – Свойство, текст подсказки иконки.

ГлубинаБуфераСобытий – Свойство, Число, задается глубина буфера событий

ПрятатьОкноПриМинимизации – Свойство, Булево, если Истина то при минимизации окна пользователем будет прятаться в трей.

ЦветТекстаЗаголовка – Свойство, цвет, задает цвет заголовка сообщения

ЦветТекста – Свойство, цвет, задает цвет текста сообщения

 

В зависимости от действий пользователя компонента оповещает 1С по средствам внешних событий о его действиях. Источник всегда строка «Message1C». Далее описано какие события могут быть:

BallonUserClick – Пользователь нажал на сообщение посланное методом ПоказатьСообщениеВТрее. Параметр «Данные» будет содержать Ключ сообщения.

BallonTimeOut – Вышло время ожидания сообщением посланным методом ПоказатьСообщениеВТрее. Параметр «Данные» будет содержать Ключ сообщения.

FormHide – Основная форма была скрыта

FormShow – Основная форма была показана

Close – Пользователь выбрал команду «Закрыть» из контекстного меню. Об обработке команды должен заботится программист конфигурации.

MessageActivate – Было активировано (выбрано) сообщение посланное методом ДобавитьСообщение. Параметр «Данные» будет содержать Ключ сообщения.

MessageClose – Сообщение посланное методом ДобавитьСообщение было закрыто кнопкой «Закрыть» сообщения.

 

В архиве содержится конфигурация-пример и сама компонента в макете обработки.

Вступайте в нашу телеграмм-группу Инфостарт

NativeAPI SystemTray Сообщения Оповещения

См. также

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Программист Пользователь 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

Медиадисплей покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Экран можно использовать в качестве графического меню-борда в кафе и видеовывески. В качестве устройства отображения можно использовать Android-планшеты, смарт-телевизоры с Android, мониторы или проекторы под управлением Windows или Linux-компьютера. Linux-версия успешно запускается на одноплатных компьютерах Raspberri Pi и Orange Pi. Настраивается ЛЮБОЙ ДИЗАЙН экрана при помощи встроенного графического редактора! Решение можно масштабировать от одного экрана до тысяч экранов с централизованным управлением.

18300 руб.

30.05.2017    56517    10    71    

47

Разработка внешних компонент Программист 1С:Предприятие 8 1C:Бухгалтерия Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

5084 руб.

17.09.2018    40413    118    128    

120

Разработка внешних компонент Программист 1С:Предприятие 8 1C:Бухгалтерия Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

5094 руб.

02.09.2010    81493    75    280    

193

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    6168    bayselonarrend    17    

54

Разработка внешних компонент Программист 1С:Предприятие 8 Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    10868    kovalevdmv    29    

83

Разработка внешних компонент Механизмы платформы 1С Программист Стажер 1С:Предприятие 8 Бесплатно (free)

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    11420    starik-2005    40    

49
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. DrAku1a 1790 17.03.15 02:22 Сейчас в теме
мм.. А исходники есть?
2. Matveymc 153 17.03.15 04:41 Сейчас в теме
(1) DrAku1a, Добавил исходники на Delphi XE5
Steelvan; EmpireSer; Aleksey.Bochkov; +3 Ответить
3. EmpireSer 27.03.15 12:57 Сейчас в теме
Классно, удобно, отлично.
Эх, только как жалко, что это не работает в приложениях, опубликованных через терминал...
4. BoBaH 18 19.04.16 08:37 Сейчас в теме
Matveymc, а то, что 1С:Предприятие (в частности, конфигурация Документооборот) не находит свернутого в трей приложения и запускает второй (третий и далее по ряду целых чисел) экземпляр программы - баг или фича?
5. Matveymc 153 19.04.16 15:12 Сейчас в теме
(4) BoBaH,
Скорее всего вы создаете несколько экземпляров объекта компоненты. Вот простой пример правильного использования:
В модуле управляемого приложения:
Перем мОбъектВК;

Процедура ПриНачалеРаботыСистемы()
	
	КомпонентаПодключена=Ложь;
	
	#Если НЕ ВебКлиент Тогда
	Попытка	
    	ПодключитьВнешнююКомпоненту("ОбщийМакет.Message1Cdll","Message1C",ТипВнешнейКомпоненты.Native);
    	мОбъектВК = Новый("AddIn.Message1C.TMessage1C");
    	КомпонентаПодключена=Истина;
	Исключение
	    КомпонентаПодключена=Ложь;
	КонецПопытки;
	
	Если НЕ КомпонентаПодключена Тогда
		Попытка
			УстановитьВнешнююКомпоненту("ОбщийМакет.Message1Cdll");
		Исключение
			Сообщить("Не удалось устанвить внешнюю компоненту."+Символы.ПС+ОписаниеОшибки());
			Возврат;   
		КонецПопытки;
		
		Попытка
			ПодключитьВнешнююКомпоненту("ОбщийМакет.Message1Cdll","Message1C",ТипВнешнейКомпоненты.Native);
			мОбъектВК = Новый("AddIn.Message1C.TMessage1C");
		Исключение
			Сообщить("Не удалось загрузить компоненту Message1C: "+Символы.ПС+ОписаниеОшибки());
			Возврат;
		КонецПопытки;
	КонецЕсли;
	
	мОбъектВК.ТекстПодсказкиИконкиГлавногоОкна="Произвольный текст подсказка";
	мОбъектВК.ПрятатьОкноПриМинимизации=Истина;
    #КонецЕсли
КонецПроцедуры

Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
	Если Источник="Message1C" Тогда
		Если Событие="Close" Тогда
			ЗавершитьРаботуСистемы(Истина,Ложь);
		ИначеЕсли Событие="FormShow" Тогда
		    мОбъектВК.СпрятатьИконкуГлавногоОкна();
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры
Показать
6. cprit 929 25.03.20 23:14 Сейчас в теме
Добрый день!
А есть ли сборка под Linux?
Для отправки сообщения требуется регистрация/авторизация