Внешняя компонента позволяет запускать сообщения в трее Windows.
Подключается компонента стандартным способом:
Если Компонента = Неопределено Тогда
Если Не ПодключитьВнешнююКомпоненту("AddIn.Notifier") Тогда // исправлено с Pro1c.Notifier
Предупреждение("Не удалось загрузить компоненту");
Отказ = Истина;
КонецЕсли;
Попытка
Компонента = Новый("AddIn.Notifier");
Исключение
Отказ = Истина;
КонецПопытки;
КонецЕсли;
Использовать её очень просто, компонента имеет всего 3 метода:
Компонента.Create(ПутьКИконке);
Метод ничего не возвращает. Создает в трее значок с иконкой, путь к которой передается в параметре метода. Иконка должна быть в формате .ico. Вызывать метод надо полюбому, после создания объекта компоненты.
Компонента.Show(Заголовок, Сообщение, Значок);
Метод ничего не возвращает. Суть первых двух параметров должна быть понятна по наименованию.
Третий параметр может принимать значения от 0 до 3. 0 - нет значка, 1 - значок сведений, 2 - значок предупреждения, 3 - значок ошибки;
Компонента.Remove();
Ничего не возвращает, ничего не принимает. Уберает значок из трея. Можно вызвать метод, если значок мешает. Если метод не вызвать - то значок пропадет из трея после закрытия 1С.
Собственно все. Где применить можно?
- в тех же типовых с торговым функционалом есть такая вещь, как напоминания о задачах. Все ничего, но вот, если 1С свернута - тогда "до свидания". Но вооружившись Notifier-ом - это теперь не проблема и пользователь всеравно увидит сообщение;
- есть у вас механизм согласования каких-то документов, например, заявок на расходование денежных средств. Для того, чтобы пользователи оперативно реагировали на новые поступившие заявки - покажите им уведомление;
- в 1С происходит работа с почтой? Замечательно! Подайте пользователю маячок о том, что пришла новая корреспонденция;
1.png ( 33,73 килобайт )
Кол-во скачиваний: 69Ещё есть такой момент: если пользователь не за компьютером, а сообщение ему было отправлено - то оно не исчезнет, а как верный пёс будет ждать, пока пользователь проявит активность на компьютере и только после этого начнет исчезать.
В общем, применение можно найти очень во многом. Не ограничивайте фантазию
.
В приложении в архиве находятся:
- сама компонента
- бат-файл, который поможет зарегистрировать компоненту в системе. Единственное что - это надо в него зайти и прописать в 6 строчке путь к компоненте. Можно обойтись и без батника, а зарегать с помощью regasm-а
Компонента работает в тонком и толстом клиенте. Работоспособность проверялась на Windows 7 с присутствующим .Net Framework 4. По идее будет работать на .Net Framework начиная с 3.5. Касаемо оси, я думаю, что и на XP пойдет.
Если, вдруг, появятся какие-то вопросы - спрашивайте.
Скачать
:
Notifier.zip ( 5,14 килобайт )
Кол-во скачиваний: 54ПС. Я лично не проверял, но, по идее, компонента должна работать не только из-под 1С 8.1, 8.2, а и из-под 1С 7.7. Если кто-то проверит и отпишет - будет хорошо
.
//********************************************************************
26.06.13Сделал версию 1.1. Добавлено:
- в метод Show() добавлен 4-й параметр типа строка. Для чего он - читайте ниже.
- теперь в методе Show() последние 2 параметра не обязательные. По умолчанию они буду, соответственно, 0 и пустая строка
- самое интересное и, собственно, почему вышла версия 1.1. В методе Show(), как было сказано выше, добавлен 4-й параметр типа строка и метод может выглядеть так:
Компонента.Show(Заголовок, Сообщение, Значок, Данные);
Если пользователь счелкнет по всплывающему сообщению, то в 1С это действие можно будет обработать в методе
ВнешнееСобытие(Источник, Событие, Данные)
В Источник попадет строка
Notifier, событие
Click, а Данные - это наш 4-й параметр метода Show(). Зачем все это? Я приследовал такую цель: например, в данные можно сериализовать (ЗначениеВСТрокуВнутр()) что угодно, например, какой-то документ, далее передать его компоненте и в обработчике клика можно будет получить этот документ (как ЗначениеИзСтрокиВнутр()) и сделать с ним в 1С все, что угодно, например, открыть его, открыть журнал и спозиционироваться на нем и т.п.
Примечание: ВнешнееСобытие возникнет только, если в данные было передано что-то (не пустая строка).В общем, пользуйтесь
.
Скачать версию 1.1:
http://pro1c.org.ua/index.php?s=&showt...ost&p=71025//********************************************************************
05.07.2013Сделал версию 1.2.
В новой версии добавле новый метод
Компонента.Activate1C(ЗаголовокСистемы);
В параметре передается строка, которая содержит заголовок текущей системы 1С. Получить эту информацию можно функцией встроенного языка ПолучитьЗаголовокСистемы(). Т.е. Вызов данного метода всегда имеет смысл делать только так:
Компонента.Activate1C(ПолучитьЗаголовокСистемы());
При вызове метода будет показано окно 1С с разворотом на весь экран.
Так же добавлено 2 новых события, которые можно обработать в обработке внешнего события: FileNotFound и 1CNotFound. Их назначение покажу на примере:
Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если Источник = "Notifier" Тогда
Если Событие = "1CNotFound" Тогда
Сообщить("Не найдена запущеная 1С-ка "+Данные);
ИначеЕсли Событие = "FileNotFound" Тогда
Сообщить(Данные);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Прикладываю новую версию и демонстрационную обработку, написанную под УТ 2.3, которая мониторит задачи и уведомляет пользователя о таковых.
Скачать Notifier 1.2:
Notifier_1.2.zip ( 5,87 килобайт )
Кол-во скачиваний: 236Скачать демонстрационную обработку:
Pro1CNotifierDemonstration.zip ( 4,91 килобайт )
Кол-во скачиваний: 196Отдельно ещё выкладываю bat-файл для регистрации компоненты:
RegAddIn.zip ( 310 байт )
Кол-во скачиваний: 151 Для регистрации нужно либо положить компоненту в корень диска C, либо поменять путь в батнике. Запускать батник нужно от имени администратор.
Сообщение отредактировал Vofka - 23.02.14, 12:16